This patch extends all maximum identifier names to 128.
It also renames the DB2Limit.java into DerbyLimit.java the constants it contains from DB2_ to DERBY_
Philipp Hug added a comment - 17/Dec/04 12:39 PM This patch extends all maximum identifier names to 128.
It also renames the DB2Limit.java into DerbyLimit.java the constants it contains from DB2_ to DERBY_
Bernd Ruehlicke added a comment - 17/Dec/04 03:05 PM Cool ! When will the next official jar drop be of Derby which includes this ?
Any document how to incorporate this patch into the source ?
Thanx again
B-)
I have built a hacked local version with just the sqlgrammer.jj file modified to use the 128 char lengths rather than 18 char lengths, which is easy to do and seems to work.
Geoff Soutter added a comment - 11/Jan/05 10:08 PM I'd like to see this one fixed as well.
I have built a hacked local version with just the sqlgrammer.jj file modified to use the 128 char lengths rather than 18 char lengths, which is easy to do and seems to work.
- we probably shouldn't rename DB2_ limits until the values have been changed to Derby specific values - otherwise it makes it even harder to figure out where the value came from.
- changing some of these limits may make the DatabaseMetadata provided by the IBM DB2 JDBC Driver incorrect when used in server mode (embedded mode is OK). Not sure what we can do about that considering we don't have the source.
Geoff Soutter added a comment - 11/Jan/05 10:44 PM A couple of notes:
- we probably shouldn't rename DB2_ limits until the values have been changed to Derby specific values - otherwise it makes it even harder to figure out where the value came from.
- changing some of these limits may make the DatabaseMetadata provided by the IBM DB2 JDBC Driver incorrect when used in server mode (embedded mode is OK). Not sure what we can do about that considering we don't have the source.
What I want to do:
1) Change the name of DB2Limit.java to Limits.java
2) Ensure that all DB2 related constants are prefixed by DB2_
There are now 6 constants which do not have the prefix: MIN_COL_LENGTH_FOR_CURRENT_USER
MIN_COL_LENGTH_FOR_CURRENT_SCHEMA, MAX_USERID_LENGTH, MAX_DECIMAL_PRECISION_SCALE,
DEFAULT_DECIMAL_PRECISION, DEFAULT_DECIMAL_SCALE
These should get the DB2_ prefix if they are DB2-related (are they?)
3) DB2_MAX_IDENTIFIER_LENGTH18/30/128 changes to MAX_IDENITIFER_LENGTH which is set to 128
4) extend lang/indentifier.sql with positive and negative tests for more identifiers
than table name (constraint, cursor, function, index, trigger, column, schema,
savepoint and view names)
Bernt M. Johnsen added a comment - 04/May/05 07:04 PM What I want to do:
1) Change the name of DB2Limit.java to Limits.java
2) Ensure that all DB2 related constants are prefixed by DB2_
There are now 6 constants which do not have the prefix: MIN_COL_LENGTH_FOR_CURRENT_USER
MIN_COL_LENGTH_FOR_CURRENT_SCHEMA, MAX_USERID_LENGTH, MAX_DECIMAL_PRECISION_SCALE,
DEFAULT_DECIMAL_PRECISION, DEFAULT_DECIMAL_SCALE
These should get the DB2_ prefix if they are DB2-related (are they?)
3) DB2_MAX_IDENTIFIER_LENGTH18/30/128 changes to MAX_IDENITIFER_LENGTH which is set to 128
4) extend lang/indentifier.sql with positive and negative tests for more identifiers
than table name (constraint, cursor, function, index, trigger, column, schema,
savepoint and view names)
There seems to be no (practical) limit on cursor names:
get cursor zzzz as 'select * from tab';
where zzzz is 10000 characters long works prefectly in ij (same goes for next etc).
Bernt M. Johnsen added a comment - 06/May/05 06:59 PM There seems to be no (practical) limit on cursor names:
get cursor zzzz as 'select * from tab';
where zzzz is 10000 characters long works prefectly in ij (same goes for next etc).
DERBY-104: Increase ALL identifier lengths to 128.
Now all identifiers should have a max length of 128 (note: MAX_USERID_LENGTH is
unchanged).
What has been done:
1) Renamed DBLimit.java to Limits.java since it no longer contains
only DB2-compliant limits.
2) Changed DB2_MAX_IDENTIFIER_LENGTH18/30/128 to MAX_IDENTIFIER_LENGTH
and set it to 128
3) Updated the necessary tests and masters.
4) Extended lang/identifier.sql with positive and negative tests wrt
max id. length.
It also renames the DB2Limit.java into DerbyLimit.java the constants it contains from DB2_ to DERBY_