From: Damyan I. <di...@cr...> - 2005-11-24 17:52:27
|
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Milan Babuskov wrote: > I have a doubt about the way quoting should work. Take for example: > adding a new field into a table. You select the "add field" option and > enter a field name into FieldPropertiesDialog. > > FlameRobin then creates the script to add a field. If you typed it in > lower case letters, FR would quote it: > > ALTER TABLE abc ADD "small_letters" integer; > > For people who simply wish to use case-insensitive identifiers, this is > not really comfortable (they would have to remember to use all caps when > creating new fields). Similar thing happens for all other objects where > users types the name in some dialog (and not in SQL editor directly). > Most of the time, FR suggests a name which is uppercase-only, but still > if user types a lower-cased one it will be quoted. > > Now, how to solve this? > > 1. case-insensitive setting > > > - if global "always quote" is on, typing: > small_letters creates: "small_letters" in sql script > "small_letters" creates: """small_letters""" in sql script > > - if global "always quote" is off, typing: > a) small_letters creates: SMALL_LETTERS in sql script > b) small_letters creates: small_letters in sql script > "small_letters" creates: "small_letters" is sql script > > > Ok, developers and users, raise your votes - which do you like better: > 1, 2a or 2b ? I'd prefer if FR stays out of the way and introduces quotes onle when "requested". 1. Identifiers entered in small letters go to upper case, unqioted. 2. Identifiers entered in big letters stay big letters, no quoting. 3. Identifiers entered in mixed case get quoted. 4. Quoted identifiers are passed unmodified. Example: 1. create table test( id int64 ); - -> CREATE TABLE TEST( ID INT64 ); 2. CREATE TABLE TEST( ID INT64 ); - -> CREATE TABLE TEST( ID INT64 ); 3. create table Test( id int64 ); - -> CREATE TABLE "Test"(ID INT64 ); 4. create table tesт("id" int64 ); - -> CREATE TABLE TEST("id" INT64 ); This IMHO is most unintrusive and intuitive. dam -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.2 (GNU/Linux) Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org iD8DBQFDhf3gHqjlqpcl9jsRAhVYAJwNVl75UnwaNdlU8ys82VFsZIWG/QCdFQxm iodLFz7PwjB5udT4O8pLNYQ= =62lo -----END PGP SIGNATURE----- |