In reviewing the dblook examples in the Tools and Utilities Guide:
http://db.apache.org/derby/docs/dev/tools/rtoolsdblookexamples.html
I noticed the output from using the -t flag with dblook to specify a particular table created
using
lower case names and double-quotes is inconsistent when creating tablenames in upper case
and double-quoting the name.
Testing these combinations, case 3 and 5 do not work as expected.
Create tables in lower and upper case, some with one word, and quoted, some with multiple
words:
1) create table lower_case_one_word(id integer);
2) create table UPPER_CASE_ONE_WORD(id integer);
3) create table "lower_case_quoted_word"(id integer);
4) create table "UPPER_CASE_QUOTED_WORD"(id integer);
5) create table "lower_case quoted three_words"(id integer);
6) create table "UPPER_CASE QUOTED THREE_WORDS"(id integer);
I tested using dblook directly, org.apache.derby.tools.dblook and derbyrun.jar, with the same
results.
Use the -t argument for dblook:
3) create table "lower_case_quoted_word"(id integer);
This does not work if it is passed if lower case, upper case or double quotes or not are used:
java -jar C:\derby_src\db-derby-10.2.1.2-bin\lib\derbyrun.jar dblook -d jdbc:derby://localhost:1527/C:\derby_s
rc\db-derby-10.2.1.2-bin\demo\databases\toursDB -z APP -t lower_case_quoted_word
-- Timestamp: 2006-09-06 11:01:30.9
-- Source database is: C:\derby_src\db-derby-10.2.1.2-bin\demo\databases\toursDB
-- Connection URL is: jdbc:derby://localhost:1527/C:\derby_src\db-derby-10.2.1.2
-bin\demo\databases\toursDB
-- The dblook utility will consider only specified tables.
-- Specified schema is: APP
-- appendLogs: false
java -jar C:\derby_src\db-derb-10.2.1.2-bin\lib\derbyrun.jar dblook -d jdbc:derby://localhost:1527/C:\derby_s
rc\db-derby-10.2.1.2-bin\demo\databases\toursDB -z APP -t "lower_case_quoted_word"
-- Timestamp: 2006-09-06 11:03:32.585
-- Source database is: C:\derby_src\db-derby-10.2.1.2-bin\demo\databases\toursDB
-- Connection URL is: jdbc:derby://localhost:1527/C:\derby_src\db-derby-10.2.1.2
-bin\demo\databases\toursDB
-- The dblook utility will consider only specified tables.
-- Specified schema is: APP
-- appendLogs: false
java -jar C:\derby_src\db-derby-10.2.1.2-bin\lib\derbyrun.jar dblook -d jdbc:derby://localhost:1527/C:\derby_s
rc\db-derby-10.2.1.2-bin\demo\databases\toursDB -z APP -t "LOWER_CASE_QUOTED_WORD"
-- Timestamp: 2006-09-06 12:17:43.425
-- Source database is: C:\derby_src\db-derby-10.2.1.2-bin\demo\databases\toursDB
-- Connection URL is: jdbc:derby://localhost:1527/C:\derby_src\db-derby-10.2.1.2
-bin\demo\databases\toursDB
-- The dblook utility will consider only specified tables.
-- Specified schema is: APP
-- appendLogs: false
java -jar C:\derby_src\db-derby-10.2.1.2-bin\lib\derbyrun.jar dblook -d jdbc:derby://localhost:1527/C:\derby_s
rc\db-derby-10.2.1.2-bin\demo\databases\toursDB -z APP -t LOWER_CASE_QUOTED_WORD
-- Timestamp: 2006-09-06 12:18:00.49
-- Source database is: C:\derby_src\db-derby-10.2.1.2-bin\demo\databases\toursDB
-- Connection URL is: jdbc:derby://localhost:1527/C:\derby_src\db-derby-10.2.1.2
-bin\demo\databases\toursDB
-- The dblook utility will consider only specified tables.
-- Specified schema is: APP
-- appendLogs: false
5) create table "lower_case quoted three_words"(id integer);
This does not work whether the argument is in lower case or upper case and double quoted:
java -jar C:\derby_src\db-derby-10.2.1.2-bin\lib\derbyrun.jar dblook -d jdbc:derby://localhost:1527/C:\derby_s
rc\db-derby-10.2.1.2-bin\demo\databases\toursDB -z APP -t "lower_case quoted three_words"
-- Timestamp: 2006-09-06 11:09:11.352
-- Source database is: C:\derby_src\db-derby-10.2.1.2-bin\demo\databases\toursDB
-- Connection URL is: jdbc:derby://localhost:1527/C:\derby_src\db-derby-10.2.1.2
-bin\demo\databases\toursDB
-- The dblook utility will consider only specified tables.
-- Specified schema is: APP
-- appendLogs: false
java -jar C:\derby_src\db-derby-10.2.1.2-bin\lib\derbyrun.jar dblook -d jdbc:derby://localhost:1527/C:\derby_s
rc\db-derby-10.2.1.2-bin\demo\databases\toursDB -z APP -t "LOWER_CASE QUOTED THREE_WORDS"
-- Timestamp: 2006-09-06 12:20:42.553
-- Source database is: C:\derby_src\db-derby-10.2.1.2-bin\demo\databases\toursDB
-- Connection URL is: jdbc:derby://localhost:1527/C:\derby_src\db-derby-10.2.1.2
-bin\demo\databases\toursDB
-- The dblook utility will consider only specified tables.
-- Specified schema is: APP
-- appendLogs: false
Is this a doc bug or a bug in the code?
Thanks,
Susan
|