The settings in the File-Options-Scripts-Oracle for "Enable the qualifying of object name with the schema name" and the "Enable the quote identifiers in Visual Editing" does not affects the Procredure Editor. Please add an option to modify the procedure editor as well.
Refer to IDERA issue #143 for more information.
Product: Aqua Data Studio
Version: 19.0.2
Build #: 55969
Build Date: 2018-Aug-14 12:32:14 PM
Operating Environment: Windows 10 (10.0, amd64) / Cp1252 / en / US / Oracle Corporation 1.8.0_102-b14
Memory: Max=1,901,592,576; Total=703,070,208; Free=427,173,424; CPUs=8
In-Window Graphics Capabilities
Graphics Vendor: Intel
OpenGL Renderer: Intel(R) UHD Graphics 620
OpenGL Version: 4.5.0 - Build 24.20.100.6170
Double-Buffering: Enabled
Anti-Aliasing: Enabled
Anti-Aliasing Sample Count: 16
Hardware Acceleration: Enabled
Color Bits: Red: 8 Green: 8 Blue: 8 Alpha: 8
Depth Bits: 16
Accumulation Buffer Bits: Red: 0 Green: 0 Blue: 0
Initialization Time: 1630 ms
Offscreen Graphics Capabilities
Graphics Vendor: Brian Paul
OpenGL Renderer: Mesa OffScreen
OpenGL Version: 2.1 Mesa 7.8.2
Double-Buffering: Disabled
Anti-Aliasing: Disabled
Anti-Aliasing Sample Count: 0
Hardware Acceleration: Disabled
Color Bits: Red: 8 Green: 8 Blue: 8 Alpha: 8
Depth Bits: 16
Accumulation Buffer Bits: Red: 16 Green: 16 Blue: 16
Initialization Time: 62 ms
Hardware PBuffer Available: No
Using PBuffer: No
Using Ram Buffer: Yes
Offscreen Rendering: Enabled
Offscreen Buffer Size: 800x600
34 KB
746 KB
433 KB
212 KB
211 KB
35 KB
117 KB
138 KB
Hi Asif,
Please add that information here since partner will not have access to support...
Thanks,
Tom
From Tom:
This option is not wired into the ADS procedure editor for any of the databases. We would have to add code into ProcPanel->initComponents to initialize a variable for that database instance like
boolean variable = OptionSettings.getPropertyBool(OptionSettings.ORACLE9i_QUALIFY_OBJECT, false);
That variable would have to passed into ProcPanel->init and used when creating the script like:
String script = ScriptProcedure.scriptREPLACE(_connSettings, _procedure, "\n\t", _openTableQ, _closeTableQ, variable);
...
Thanks, Tom
From Tom:
This option is not wired into the ADS procedure editor for any of the databases. We would have to add code into ProcPanel->initComponents to initialize a variable for that database instance like
boolean variable = OptionSettings.getPropertyBool(OptionSettings.ORACLE9i_QUALIFY_OBJECT, false);
That variable would have to passed into ProcPanel->init and used when creating the script like:
String script = ScriptProcedure.scriptREPLACE(_connSettings, _procedure, "\n\t", _openTableQ, _closeTableQ, variable);
...
Thanks, Tom
From the customer....
When I opening an object, I need to have the Schema qualify remove and the quotes from the name. I already uncheck the settings "Enable the qualifying of object name with the schema name" and the "Enable the quote identifiers in Visual Editing" under the Oracle settings and to make sure I did it for all the Oracle versions. After changing the settings, the object name no longer has quotes, so that is progress. However, schema still attached to the object name and that is causing issue.
See attached file.
From the customer....
When I opening an object, I need to have the Schema qualify remove and the quotes from the name. I already uncheck the settings "Enable the qualifying of object name with the schema name" and the "Enable the quote identifiers in Visual Editing" under the Oracle settings and to make sure I did it for all the Oracle versions. After changing the settings, the object name no longer has quotes, so that is progress. However, schema still attached to the object name and that is causing issue.
See attached file.
I see an issue here for Oracle. Follow the steps to reproduce the issue:
Step 1) Disable File-Options-Scripts-Oracle > "Enable the qualifying of object name with the schema name".
Step 2) On Schema tree > choose Create Procedure
Step 3) Type in procedure name and switch to Preview SQL table, schema name is added to the procedure name.
Please see the attached screenshots.
I see an issue here for Oracle. Follow the steps to reproduce the issue:
Step 1) Disable File-Options-Scripts-Oracle > "Enable the qualifying of object name with the schema name".
Step 2) On Schema tree > choose Create Procedure
Step 3) Type in procedure name and switch to Preview SQL table, schema name is added to the procedure name.
Please see the attached screenshots.
Revision: 57524
-- Lets initialize the following inside constructor
private boolean _qualifyObject;
_qualifyObject = _connSettings.isQualifyObject();
-- We should have some consistency here; table quote options are from connection settings but column quote options are from default scripting quotes. I think both quote options should be from _connSettings.getScriptIdentifierOptions
String[] quoteValues = UtilScript.getDefaultScriptingQuotes(_connSettings); StringBuilder openQuote = new StringBuilder(); StringBuilder closeQuote = new StringBuilder(); _qualifyObject = _connSettings.isQualifyObject(); if (UtilScript.isVisualEditingQuotesIdentifierEnabled(_connSettings)) { _connSettings.getScriptIdentifierOptions(openQuote, closeQuote); _openTableQ = openQuote.toString(); _closeTableQ = closeQuote.toString(); // _openTableQ = quoteValues[0]; // _closeTableQ = quoteValues[1]; _openColQ = quoteValues[2]; _closeColQ = quoteValues[3]; }
-- This code is existing but it generates function when user chooses create procedure.
else if (_connSettings.isRedshift()) { newProcedure._name = "fx_hello_world"; result.append("CREATE FUNCTION "); result.append(newProcedure.getQualifiedName(_connSettings, _qualifyObject, _openTableQ, _closeTableQ)); result.append(" (int, int) RETURNS VOID AS\n"); result.append("'\n"); result.append("BEGIN\n"); result.append("\tIF $1 = 1 THEN\n"); result.append("\t\tRETURN;\n"); result.append("\tELSE\n"); result.append("\t\tRETURN;\n"); result.append("\tEND IF;\n"); result.append("END\n"); result.append("'\nLANGUAGE 'plpgsql'\n"); }
Another code which has similar issue:
if (_connSettings.isPostgreSQL(ConnectionProperties.MATCH_EQUAL_OR_LESS, ConnectionProperties.VERSION_POSTGRESQL_7_2)) { result.append("CREATE FUNCTION " + _openTableQ + "fx_hello_world" + _closeTableQ +" (int, int) RETURNS VOID AS\n"); } else { newProcedure._name = "fx_hello_world"; result.append("CREATE FUNCTION "); result.append(newProcedure.getQualifiedName(_connSettings, _qualifyObject, _openTableQ, _closeTableQ)); result.append(" (int, int) RETURNS VOID AS\n"); }
-- For few databases we have removed default qualification with public schema and are using user mentioned schema. We have to bring this to QA's attention. I see such changes in Redshift, Posgres, Paraccel etc. Please enumerate these changes so that QA can test them.
Revision: 57524
-- Lets initialize the following inside constructor
private boolean _qualifyObject;
_qualifyObject = _connSettings.isQualifyObject();
-- We should have some consistency here; table quote options are from connection settings but column quote options are from default scripting quotes. I think both quote options should be from _connSettings.getScriptIdentifierOptions
String[] quoteValues = UtilScript.getDefaultScriptingQuotes(_connSettings); StringBuilder openQuote = new StringBuilder(); StringBuilder closeQuote = new StringBuilder(); _qualifyObject = _connSettings.isQualifyObject(); if (UtilScript.isVisualEditingQuotesIdentifierEnabled(_connSettings)) { _connSettings.getScriptIdentifierOptions(openQuote, closeQuote); _openTableQ = openQuote.toString(); _closeTableQ = closeQuote.toString(); // _openTableQ = quoteValues[0]; // _closeTableQ = quoteValues[1]; _openColQ = quoteValues[2]; _closeColQ = quoteValues[3]; }
-- This code is existing but it generates function when user chooses create procedure.
else if (_connSettings.isRedshift()) { newProcedure._name = "fx_hello_world"; result.append("CREATE FUNCTION "); result.append(newProcedure.getQualifiedName(_connSettings, _qualifyObject, _openTableQ, _closeTableQ)); result.append(" (int, int) RETURNS VOID AS\n"); result.append("'\n"); result.append("BEGIN\n"); result.append("\tIF $1 = 1 THEN\n"); result.append("\t\tRETURN;\n"); result.append("\tELSE\n"); result.append("\t\tRETURN;\n"); result.append("\tEND IF;\n"); result.append("END\n"); result.append("'\nLANGUAGE 'plpgsql'\n"); }
Another code which has similar issue:
if (_connSettings.isPostgreSQL(ConnectionProperties.MATCH_EQUAL_OR_LESS, ConnectionProperties.VERSION_POSTGRESQL_7_2)) { result.append("CREATE FUNCTION " + _openTableQ + "fx_hello_world" + _closeTableQ +" (int, int) RETURNS VOID AS\n"); } else { newProcedure._name = "fx_hello_world"; result.append("CREATE FUNCTION "); result.append(newProcedure.getQualifiedName(_connSettings, _qualifyObject, _openTableQ, _closeTableQ)); result.append(" (int, int) RETURNS VOID AS\n"); }
-- For few databases we have removed default qualification with public schema and are using user mentioned schema. We have to bring this to QA's attention. I see such changes in Redshift, Posgres, Paraccel etc. Please enumerate these changes so that QA can test them.
@Asif, @Tom,
@Asif, @Tom,
Hi Asif, Komal,
Lets discuss at the meeting tomorrow as I'm not clear what you guys are talking about. Some databases like older Postgres and Redshift don't let you create procedures.
Thanks,.
Tom
Hi Asif, Komal,
Lets discuss at the meeting tomorrow as I'm not clear what you guys are talking about. Some databases like older Postgres and Redshift don't let you create procedures.
Thanks,.
Tom
Hi Bhushan,
Please uncheck use iAnywhere driver in the SybaseIQ 16.0 server properties and retest.
Thanks, Tom
Hi Bhushan,
Please uncheck use iAnywhere driver in the SybaseIQ 16.0 server properties and retest.
Thanks, Tom
DB2 z/OS and Paraccel are up now. Please check with Juhi.
DB2 z/OS and Paraccel are up now. Please check with Juhi.
Hi,
I have tested the ticket along with the "procedure editor" and "function editor" functionality. It is working fine now with the 19th Build.
These are my findings for those functionalities supported to the databases:
Hi,
I have tested the ticket along with the "procedure editor" and "function editor" functionality. It is working fine now with the 19th Build.
These are my findings for those functionalities supported to the databases:
@Viraaj
I was trying to verify the automation results, and ran into many issues:
I've committed the suggested fixes for the above in SVN #24092. Please review and validate the fixes. If you find issues or disagree with the suggested fix, please make the necessary changes.
Note that the Sybase IQ and Sybase Any on 172.24.1.199 were down, so I was not able to verify those. The databases there seems to be of older versions. Please update the following test cases to use a new version of the database:
You may also want to rename the test cases to reflect the update. Please re-test these test cases and possibly apply the same fixes if needed.
@Viraaj
I was trying to verify the automation results, and ran into many issues:
I've committed the suggested fixes for the above in SVN #24092. Please review and validate the fixes. If you find issues or disagree with the suggested fix, please make the necessary changes.
Note that the Sybase IQ and Sybase Any on 172.24.1.199 were down, so I was not able to verify those. The databases there seems to be of older versions. Please update the following test cases to use a new version of the database:
You may also want to rename the test cases to reflect the update. Please re-test these test cases and possibly apply the same fixes if needed.
Thanks ,
I have applied the mentioned fixes and re-tested, also updated the test cases to the new version for sybase but I have observed that for Sybase Any 172.24.1.145 v16 server is responding very slow (approx. 4 min. to connect ) which result in failure (intermittent) of that test case in spite of increased wait time.
[Nhi] I could not get the TC_15712_Sybase_Any_172.24.1.145_v16 test case to run successfully. It failed in the SybaseAny.cs file, SchemaTree() method, timed out waiting for the "repo.ServersList.sybaseany_demoInfo" object. This object refers to the "demo" database, however the "Preconditions.Steps.CreateDatabase()" step earlier tries to create the "ads_db" database, which also failed due to script error. Perhaps the updated scripts to create the database is not checked in to SVN? See Create-DB-Error.png and Not-Matched.png.
Please fix this.
Hi,
I have resolved mentioned issue in SVN #24097. Please try it again.
Thanks ,
I have applied the mentioned fixes and re-tested, also updated the test cases to the new version for sybase but I have observed that for Sybase Any 172.24.1.145 v16 server is responding very slow (approx. 4 min. to connect ) which result in failure (intermittent) of that test case in spite of increased wait time.
[Nhi] I could not get the TC_15712_Sybase_Any_172.24.1.145_v16 test case to run successfully. It failed in the SybaseAny.cs file, SchemaTree() method, timed out waiting for the "repo.ServersList.sybaseany_demoInfo" object. This object refers to the "demo" database, however the "Preconditions.Steps.CreateDatabase()" step earlier tries to create the "ads_db" database, which also failed due to script error. Perhaps the updated scripts to create the database is not checked in to SVN? See Create-DB-Error.png and Not-Matched.png.
Please fix this.
Hi,
I have resolved mentioned issue in SVN #24097. Please try it again.
Hi Viraaj,
I tested both Sybase Any servers and I get connected in a couple of secs. Please try it again.
Thanks,
Tom
Hi Viraaj,
I tested both Sybase Any servers and I get connected in a couple of secs. Please try it again.
Thanks,
Tom
@nhi
I have re-checked test case "TC_15712_Sybase_Any_172.24.1.145_v16". It is observed that the server response is very slow, but it is intermittent (sometime it cause ADS to not respond). so to pass test case we need to increase wait time in minutes (probably 3-4 min. only to connect to server and like wise for other) which will unnecessary increase execution time if in case the server response is good.
I think there are 2 other Sybase server are also there and which are working fine.
Sybase Any 172.24.1.145 v16 TomTest with Mixed Case
Sybase Any 172.24.1.50 v17
Can we choose any of them or increase wait time? Please suggest.
[Nhi] Please pick the server that will work. For increase in wait time, please do NOT add any explicit unconditional wait as they will slow down execution of the test cases. You should instead increase the timeout for the WaitForItemExists() calls.
Thanks,
Updated test case with new server "Sybase Any 172.24.1.50 v17"
@nhi
I have re-checked test case "TC_15712_Sybase_Any_172.24.1.145_v16". It is observed that the server response is very slow, but it is intermittent (sometime it cause ADS to not respond). so to pass test case we need to increase wait time in minutes (probably 3-4 min. only to connect to server and like wise for other) which will unnecessary increase execution time if in case the server response is good.
I think there are 2 other Sybase server are also there and which are working fine.
Sybase Any 172.24.1.145 v16 TomTest with Mixed Case
Sybase Any 172.24.1.50 v17
Can we choose any of them or increase wait time? Please suggest.
[Nhi] Please pick the server that will work. For increase in wait time, please do NOT add any explicit unconditional wait as they will slow down execution of the test cases. You should instead increase the timeout for the WaitForItemExists() calls.
Thanks,
Updated test case with new server "Sybase Any 172.24.1.50 v17"
Verified Procedure and Function Editor in following DB's
SQL server :-stored procedures and user defined functions
PostgreSQL :-tested procedures,function and system functions
SybaseAny :- stored procedures
Sybase ASE : -stored procedures, extended stored
DB2luw :-stored procedures, user defined functions
Oracle :- Procedures and functions
SYBASE :- IQ stored procedures
Paraccel :- procedures,functions and system functions
Informix :- Procedures and Functions, found a bug in in procedure editor and logged
https://www.aquaclusters.com/app/home/project/sachinprakash.aquafold.com/visualanalytics/issue/10952)
Verified Procedure and Function Editor in following DB's
SQL server :-stored procedures and user defined functions
PostgreSQL :-tested procedures,function and system functions
SybaseAny :- stored procedures
Sybase ASE : -stored procedures, extended stored
DB2luw :-stored procedures, user defined functions
Oracle :- Procedures and functions
SYBASE :- IQ stored procedures
Paraccel :- procedures,functions and system functions
Informix :- Procedures and Functions, found a bug in in procedure editor and logged
https://www.aquaclusters.com/app/home/project/sachinprakash.aquafold.com/visualanalytics/issue/10952)
Issue #15712 |
Verified |
Fixed |
Resolved |
Completion |
No due date |
Fixed Build ADS 20.6.0-dev-39-no-ofsc |
No time estimate |
Hi Asif,
Please add that information here since partner will not have access to support...
Thanks,
Tom