You are viewing a plain text version of this content. The canonical link for it is here.
Posted to derby-dev@db.apache.org by "Suresh Thalamati (JIRA)" <de...@db.apache.org> on 2005/07/02 00:11:58 UTC
[jira] Created: (DERBY-437) SYSCS_UTIL.SYSCS_COMPRESS_TABLE does not work on tables that are created with delimited identifier names.
SYSCS_UTIL.SYSCS_COMPRESS_TABLE does not work on tables that are created with delimited identifier names.
-----------------------------------------------------------------------------------------------------------
Key: DERBY-437
URL: http://issues.apache.org/jira/browse/DERBY-437
Project: Derby
Type: Bug
Components: SQL
Versions: 10.0.2.2
Reporter: Suresh Thalamati
Fix For: 10.2.0.0
COMPRESS_TABLE procedure forms SQL statement undeneath, so if the user does not pass quoted names , it is not working with delimited table/schema names..
eg: create table "Order"(a int ) ;
ij> call SYSCS_UTIL.SYSCS_COMPRESS_TABLE('APP' , 'Order' ,1) ;
ERROR 38000: The exception 'SQL Exception: Syntax error: Encountered "Order" at
line 1, column 17.' was thrown while evaluating an expression.
ERROR 42X01: Syntax error: Encountered "Order" at line 1, column 17.
With quoted names it works fine.
ij> call SYSCS_UTIL.SYSCS_COMPRESS_TABLE('APP' , '"Order"' ,1) ;
0 rows inserted/updated/deleted
If it is expected that user to pass quoted names for SYSCS_UTIL.SYSCS_COMPRESS_TABLE, then it is ok.
But doc is not clear:
COMPRESS_TABLE doc in the reference manual:
TABLENAME
An input argument of type VARCHAR(128) that specifies the table name
of the table. The string must exactly match the case of the table
name, and the argument of "Fred" will be passed to SQL as the
delimited identifier 'Fred'. Passing a null will result in an error.
So either doc has to be fixed or code needs to be fixed to handle quoted names for compress table.
I think the code has to fixed to be consistent with other system procedures. . i.e
If you created a schema, table or column name as a non-delimited identifier, you must pass the name in all upper case. If you created a schema, table or column name as a delimited identifier, you must pass the name in the same case as it was created.
For example:
create table "Order"(a int ) ;
call SYSCS_UTIL.SYSCS_COMPRESS_TABLE('APP' , 'Order' ,1) ;
create table t1( a int )
call SYSCS_UTIL.SYSCS_COMPRESS_TABLE('APP' , 'T1' ,1) ;
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira
[jira] Assigned: (DERBY-437) SYSCS_UTIL.SYSCS_COMPRESS_TABLE does not work on tables that are created with delimited identifier names.
Posted by "Suresh Thalamati (JIRA)" <de...@db.apache.org>.
[ http://issues.apache.org/jira/browse/DERBY-437?page=all ]
Suresh Thalamati reassigned DERBY-437:
--------------------------------------
Assign To: Suresh Thalamati
> SYSCS_UTIL.SYSCS_COMPRESS_TABLE does not work on tables that are created with delimited identifier names.
> -----------------------------------------------------------------------------------------------------------
>
> Key: DERBY-437
> URL: http://issues.apache.org/jira/browse/DERBY-437
> Project: Derby
> Type: Bug
> Components: SQL
> Versions: 10.0.2.2
> Reporter: Suresh Thalamati
> Assignee: Suresh Thalamati
> Fix For: 10.2.0.0
>
> COMPRESS_TABLE procedure forms SQL statement undeneath, so if the user does not pass quoted names , it is not working with delimited table/schema names..
> eg: create table "Order"(a int ) ;
> ij> call SYSCS_UTIL.SYSCS_COMPRESS_TABLE('APP' , 'Order' ,1) ;
> ERROR 38000: The exception 'SQL Exception: Syntax error: Encountered "Order" at
> line 1, column 17.' was thrown while evaluating an expression.
> ERROR 42X01: Syntax error: Encountered "Order" at line 1, column 17.
> With quoted names it works fine.
> ij> call SYSCS_UTIL.SYSCS_COMPRESS_TABLE('APP' , '"Order"' ,1) ;
> 0 rows inserted/updated/deleted
> If it is expected that user to pass quoted names for SYSCS_UTIL.SYSCS_COMPRESS_TABLE, then it is ok.
> But doc is not clear:
> COMPRESS_TABLE doc in the reference manual:
> TABLENAME
> An input argument of type VARCHAR(128) that specifies the table name
> of the table. The string must exactly match the case of the table
> name, and the argument of "Fred" will be passed to SQL as the
> delimited identifier 'Fred'. Passing a null will result in an error.
> So either doc has to be fixed or code needs to be fixed to handle quoted names for compress table.
> I think the code has to fixed to be consistent with other system procedures. . i.e
> If you created a schema, table or column name as a non-delimited identifier, you must pass the name in all upper case. If you created a schema, table or column name as a delimited identifier, you must pass the name in the same case as it was created.
> For example:
> create table "Order"(a int ) ;
> call SYSCS_UTIL.SYSCS_COMPRESS_TABLE('APP' , 'Order' ,1) ;
> create table t1( a int )
> call SYSCS_UTIL.SYSCS_COMPRESS_TABLE('APP' , 'T1' ,1) ;
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira
[jira] Resolved: (DERBY-437) SYSCS_UTIL.SYSCS_COMPRESS_TABLE does not work on tables that are created with delimited identifier names.
Posted by "Suresh Thalamati (JIRA)" <de...@db.apache.org>.
[ http://issues.apache.org/jira/browse/DERBY-437?page=all ]
Suresh Thalamati resolved DERBY-437:
------------------------------------
Resolution: Fixed
Mike committed patch for this problem : sv n : r219207
> SYSCS_UTIL.SYSCS_COMPRESS_TABLE does not work on tables that are created with delimited identifier names.
> -----------------------------------------------------------------------------------------------------------
>
> Key: DERBY-437
> URL: http://issues.apache.org/jira/browse/DERBY-437
> Project: Derby
> Type: Bug
> Components: SQL
> Versions: 10.0.2.2
> Reporter: Suresh Thalamati
> Assignee: Suresh Thalamati
> Fix For: 10.2.0.0
> Attachments: derby437.diff
>
> COMPRESS_TABLE procedure forms SQL statement undeneath, so if the user does not pass quoted names , it is not working with delimited table/schema names..
> eg: create table "Order"(a int ) ;
> ij> call SYSCS_UTIL.SYSCS_COMPRESS_TABLE('APP' , 'Order' ,1) ;
> ERROR 38000: The exception 'SQL Exception: Syntax error: Encountered "Order" at
> line 1, column 17.' was thrown while evaluating an expression.
> ERROR 42X01: Syntax error: Encountered "Order" at line 1, column 17.
> With quoted names it works fine.
> ij> call SYSCS_UTIL.SYSCS_COMPRESS_TABLE('APP' , '"Order"' ,1) ;
> 0 rows inserted/updated/deleted
> If it is expected that user to pass quoted names for SYSCS_UTIL.SYSCS_COMPRESS_TABLE, then it is ok.
> But doc is not clear:
> COMPRESS_TABLE doc in the reference manual:
> TABLENAME
> An input argument of type VARCHAR(128) that specifies the table name
> of the table. The string must exactly match the case of the table
> name, and the argument of "Fred" will be passed to SQL as the
> delimited identifier 'Fred'. Passing a null will result in an error.
> So either doc has to be fixed or code needs to be fixed to handle quoted names for compress table.
> I think the code has to fixed to be consistent with other system procedures. . i.e
> If you created a schema, table or column name as a non-delimited identifier, you must pass the name in all upper case. If you created a schema, table or column name as a delimited identifier, you must pass the name in the same case as it was created.
> For example:
> create table "Order"(a int ) ;
> call SYSCS_UTIL.SYSCS_COMPRESS_TABLE('APP' , 'Order' ,1) ;
> create table t1( a int )
> call SYSCS_UTIL.SYSCS_COMPRESS_TABLE('APP' , 'T1' ,1) ;
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira
Re: [jira] Updated: (DERBY-437) SYSCS_UTIL.SYSCS_COMPRESS_TABLE
does not work on tables that are created with delimited identifier names.
Posted by Mike Matrigali <mi...@sbcglobal.net>.
I have committed this to the trunk with svn 219207.
Suresh Thalamati (JIRA) wrote:
> [ http://issues.apache.org/jira/browse/DERBY-437?page=all ]
>
> Suresh Thalamati updated DERBY-437:
> -----------------------------------
>
> Attachment: derby437.diff
>
> Currently for compress procedure to work incase of case-sensitive table name , schema names, they needs to be passed in quotes like ( call SYSCS_UTIL.SYSCS_COMPRESS_TABLE('APP' , '"Order"' ,1) ;). This behaviour is not consitent with other procedures and the docs.
> This patch makes compress procedure parameters for table names , schema name should be passed in the case-sensitive form if they are quoted identfiers and in upper case if they are not quoted SQL identifiers, similar to other system procedures. Compress procedure generates ALTER COMPRESS statement.with quoted table name and schema name.
>
> Ran derbyall suite , all tests passed.
>
>
>
>>SYSCS_UTIL.SYSCS_COMPRESS_TABLE does not work on tables that are created with delimited identifier names.
>>-----------------------------------------------------------------------------------------------------------
>>
>> Key: DERBY-437
>> URL: http://issues.apache.org/jira/browse/DERBY-437
>> Project: Derby
>> Type: Bug
>> Components: SQL
>> Versions: 10.0.2.2
>> Reporter: Suresh Thalamati
>> Assignee: Suresh Thalamati
>> Fix For: 10.2.0.0
>> Attachments: derby437.diff
>>
>>COMPRESS_TABLE procedure forms SQL statement undeneath, so if the user does not pass quoted names , it is not working with delimited table/schema names..
>>eg: create table "Order"(a int ) ;
>>ij> call SYSCS_UTIL.SYSCS_COMPRESS_TABLE('APP' , 'Order' ,1) ;
>>ERROR 38000: The exception 'SQL Exception: Syntax error: Encountered "Order" at
>>line 1, column 17.' was thrown while evaluating an expression.
>>ERROR 42X01: Syntax error: Encountered "Order" at line 1, column 17.
>>With quoted names it works fine.
>>ij> call SYSCS_UTIL.SYSCS_COMPRESS_TABLE('APP' , '"Order"' ,1) ;
>>0 rows inserted/updated/deleted
>>If it is expected that user to pass quoted names for SYSCS_UTIL.SYSCS_COMPRESS_TABLE, then it is ok.
>>But doc is not clear:
>>COMPRESS_TABLE doc in the reference manual:
>>TABLENAME
>> An input argument of type VARCHAR(128) that specifies the table name
>> of the table. The string must exactly match the case of the table
>> name, and the argument of "Fred" will be passed to SQL as the
>> delimited identifier 'Fred'. Passing a null will result in an error.
>>So either doc has to be fixed or code needs to be fixed to handle quoted names for compress table.
>>I think the code has to fixed to be consistent with other system procedures. . i.e
>>If you created a schema, table or column name as a non-delimited identifier, you must pass the name in all upper case. If you created a schema, table or column name as a delimited identifier, you must pass the name in the same case as it was created.
>>For example:
>>create table "Order"(a int ) ;
>>call SYSCS_UTIL.SYSCS_COMPRESS_TABLE('APP' , 'Order' ,1) ;
>>create table t1( a int )
>>call SYSCS_UTIL.SYSCS_COMPRESS_TABLE('APP' , 'T1' ,1) ;
>
>
[jira] Updated: (DERBY-437) SYSCS_UTIL.SYSCS_COMPRESS_TABLE does not work on tables that are created with delimited identifier names.
Posted by "Suresh Thalamati (JIRA)" <de...@db.apache.org>.
[ http://issues.apache.org/jira/browse/DERBY-437?page=all ]
Suresh Thalamati updated DERBY-437:
-----------------------------------
Attachment: derby437.diff
Currently for compress procedure to work incase of case-sensitive table name , schema names, they needs to be passed in quotes like ( call SYSCS_UTIL.SYSCS_COMPRESS_TABLE('APP' , '"Order"' ,1) ;). This behaviour is not consitent with other procedures and the docs.
This patch makes compress procedure parameters for table names , schema name should be passed in the case-sensitive form if they are quoted identfiers and in upper case if they are not quoted SQL identifiers, similar to other system procedures. Compress procedure generates ALTER COMPRESS statement.with quoted table name and schema name.
Ran derbyall suite , all tests passed.
> SYSCS_UTIL.SYSCS_COMPRESS_TABLE does not work on tables that are created with delimited identifier names.
> -----------------------------------------------------------------------------------------------------------
>
> Key: DERBY-437
> URL: http://issues.apache.org/jira/browse/DERBY-437
> Project: Derby
> Type: Bug
> Components: SQL
> Versions: 10.0.2.2
> Reporter: Suresh Thalamati
> Assignee: Suresh Thalamati
> Fix For: 10.2.0.0
> Attachments: derby437.diff
>
> COMPRESS_TABLE procedure forms SQL statement undeneath, so if the user does not pass quoted names , it is not working with delimited table/schema names..
> eg: create table "Order"(a int ) ;
> ij> call SYSCS_UTIL.SYSCS_COMPRESS_TABLE('APP' , 'Order' ,1) ;
> ERROR 38000: The exception 'SQL Exception: Syntax error: Encountered "Order" at
> line 1, column 17.' was thrown while evaluating an expression.
> ERROR 42X01: Syntax error: Encountered "Order" at line 1, column 17.
> With quoted names it works fine.
> ij> call SYSCS_UTIL.SYSCS_COMPRESS_TABLE('APP' , '"Order"' ,1) ;
> 0 rows inserted/updated/deleted
> If it is expected that user to pass quoted names for SYSCS_UTIL.SYSCS_COMPRESS_TABLE, then it is ok.
> But doc is not clear:
> COMPRESS_TABLE doc in the reference manual:
> TABLENAME
> An input argument of type VARCHAR(128) that specifies the table name
> of the table. The string must exactly match the case of the table
> name, and the argument of "Fred" will be passed to SQL as the
> delimited identifier 'Fred'. Passing a null will result in an error.
> So either doc has to be fixed or code needs to be fixed to handle quoted names for compress table.
> I think the code has to fixed to be consistent with other system procedures. . i.e
> If you created a schema, table or column name as a non-delimited identifier, you must pass the name in all upper case. If you created a schema, table or column name as a delimited identifier, you must pass the name in the same case as it was created.
> For example:
> create table "Order"(a int ) ;
> call SYSCS_UTIL.SYSCS_COMPRESS_TABLE('APP' , 'Order' ,1) ;
> create table t1( a int )
> call SYSCS_UTIL.SYSCS_COMPRESS_TABLE('APP' , 'T1' ,1) ;
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira
[jira] Closed: (DERBY-437) SYSCS_UTIL.SYSCS_COMPRESS_TABLE does
not work on tables that are created with delimited identifier names.
Posted by "Suresh Thalamati (JIRA)" <de...@db.apache.org>.
[ http://issues.apache.org/jira/browse/DERBY-437?page=all ]
Suresh Thalamati closed DERBY-437:
----------------------------------
> SYSCS_UTIL.SYSCS_COMPRESS_TABLE does not work on tables that are created with delimited identifier names.
> -----------------------------------------------------------------------------------------------------------
>
> Key: DERBY-437
> URL: http://issues.apache.org/jira/browse/DERBY-437
> Project: Derby
> Type: Bug
> Components: SQL
> Versions: 10.0.2.2
> Reporter: Suresh Thalamati
> Assignee: Suresh Thalamati
> Fix For: 10.2.0.0, 10.1.3.0, 10.1.2.4
> Attachments: derby437.diff
>
> COMPRESS_TABLE procedure forms SQL statement undeneath, so if the user does not pass quoted names , it is not working with delimited table/schema names..
> eg: create table "Order"(a int ) ;
> ij> call SYSCS_UTIL.SYSCS_COMPRESS_TABLE('APP' , 'Order' ,1) ;
> ERROR 38000: The exception 'SQL Exception: Syntax error: Encountered "Order" at
> line 1, column 17.' was thrown while evaluating an expression.
> ERROR 42X01: Syntax error: Encountered "Order" at line 1, column 17.
> With quoted names it works fine.
> ij> call SYSCS_UTIL.SYSCS_COMPRESS_TABLE('APP' , '"Order"' ,1) ;
> 0 rows inserted/updated/deleted
> If it is expected that user to pass quoted names for SYSCS_UTIL.SYSCS_COMPRESS_TABLE, then it is ok.
> But doc is not clear:
> COMPRESS_TABLE doc in the reference manual:
> TABLENAME
> An input argument of type VARCHAR(128) that specifies the table name
> of the table. The string must exactly match the case of the table
> name, and the argument of "Fred" will be passed to SQL as the
> delimited identifier 'Fred'. Passing a null will result in an error.
> So either doc has to be fixed or code needs to be fixed to handle quoted names for compress table.
> I think the code has to fixed to be consistent with other system procedures. . i.e
> If you created a schema, table or column name as a non-delimited identifier, you must pass the name in all upper case. If you created a schema, table or column name as a delimited identifier, you must pass the name in the same case as it was created.
> For example:
> create table "Order"(a int ) ;
> call SYSCS_UTIL.SYSCS_COMPRESS_TABLE('APP' , 'Order' ,1) ;
> create table t1( a int )
> call SYSCS_UTIL.SYSCS_COMPRESS_TABLE('APP' , 'T1' ,1) ;
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira
[jira] Updated: (DERBY-437) SYSCS_UTIL.SYSCS_COMPRESS_TABLE does
not work on tables that are created with delimited identifier names.
Posted by "Mike Matrigali (JIRA)" <de...@db.apache.org>.
[ http://issues.apache.org/jira/browse/DERBY-437?page=all ]
Mike Matrigali updated DERBY-437:
---------------------------------
Fix Version: 10.1.3.0
10.1.2.4
backported this fix from trunk into 10.1 line:
m101_142:135>svn commit
Sending java\engine\org\apache\derby\catalog\SystemProcedures.java
Sending java\testing\org\apache\derbyTesting\functionTests\master\compres
sTable.out
Sending java\testing\org\apache\derbyTesting\functionTests\tests\lang\com
pressTable.sql
Sending java\testing\org\apache\derbyTesting\functionTests\tests\store\st
reamingColumn.java
Transmitting file data ....
Committed revision 398665.
> SYSCS_UTIL.SYSCS_COMPRESS_TABLE does not work on tables that are created with delimited identifier names.
> -----------------------------------------------------------------------------------------------------------
>
> Key: DERBY-437
> URL: http://issues.apache.org/jira/browse/DERBY-437
> Project: Derby
> Type: Bug
> Components: SQL
> Versions: 10.0.2.2
> Reporter: Suresh Thalamati
> Assignee: Suresh Thalamati
> Fix For: 10.2.0.0, 10.1.3.0, 10.1.2.4
> Attachments: derby437.diff
>
> COMPRESS_TABLE procedure forms SQL statement undeneath, so if the user does not pass quoted names , it is not working with delimited table/schema names..
> eg: create table "Order"(a int ) ;
> ij> call SYSCS_UTIL.SYSCS_COMPRESS_TABLE('APP' , 'Order' ,1) ;
> ERROR 38000: The exception 'SQL Exception: Syntax error: Encountered "Order" at
> line 1, column 17.' was thrown while evaluating an expression.
> ERROR 42X01: Syntax error: Encountered "Order" at line 1, column 17.
> With quoted names it works fine.
> ij> call SYSCS_UTIL.SYSCS_COMPRESS_TABLE('APP' , '"Order"' ,1) ;
> 0 rows inserted/updated/deleted
> If it is expected that user to pass quoted names for SYSCS_UTIL.SYSCS_COMPRESS_TABLE, then it is ok.
> But doc is not clear:
> COMPRESS_TABLE doc in the reference manual:
> TABLENAME
> An input argument of type VARCHAR(128) that specifies the table name
> of the table. The string must exactly match the case of the table
> name, and the argument of "Fred" will be passed to SQL as the
> delimited identifier 'Fred'. Passing a null will result in an error.
> So either doc has to be fixed or code needs to be fixed to handle quoted names for compress table.
> I think the code has to fixed to be consistent with other system procedures. . i.e
> If you created a schema, table or column name as a non-delimited identifier, you must pass the name in all upper case. If you created a schema, table or column name as a delimited identifier, you must pass the name in the same case as it was created.
> For example:
> create table "Order"(a int ) ;
> call SYSCS_UTIL.SYSCS_COMPRESS_TABLE('APP' , 'Order' ,1) ;
> create table t1( a int )
> call SYSCS_UTIL.SYSCS_COMPRESS_TABLE('APP' , 'T1' ,1) ;
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira