[ 
http://issues.apache.org/jira/browse/TORQUE-44?page=comments#action_12434668 ] 
            
CG Monroe commented on TORQUE-44:
---------------------------------

Not preserviing case probably was a poor choice from a long time ago.  But it 
is the DEFACTO Torque API standard.  IMHO, forcing changes in a point revision 
that dictate major API changes and demostrated breaking of existing application 
code is a major NO-NO.  A point revision changes like this should follow the 
physician credo of "Do no harm".

You might say, well it's just my code... but a lot of folks don't/won't use dev 
level code, so what happens when it gets released?  Is this standard for Torque 
to tell folk they have to rewrite code that's worked with every version of 
Torque since before 3.0?

One thing to consider is that the SQL Standard clearly states that column names 
are to be case insensitive unless delimited.  So keeping the upper case as the 
DEFACTO standard only effects SQL servers that are non-standard or in the case 
of some server, not configured to support the standard.  

Yes, supporting more DB server modes is good. Yes, maintaining case from XML is 
probably a good thing in some situation (but not all).   The point is that this 
fix has problems and needs to be re-thought/re-done to "do no harm".

> Column names in generated classes are uppercase
> -----------------------------------------------
>
>                 Key: TORQUE-44
>                 URL: http://issues.apache.org/jira/browse/TORQUE-44
>             Project: Torque
>          Issue Type: Bug
>          Components: Generator
>    Affects Versions: 3.1, 3.1.1, 3.2
>            Reporter: Thoralf Rickert
>         Assigned To: Thomas Fischer
>             Fix For: 3.2.1
>
>         Attachments: patch.txt
>
>
> The generator creates constants for the column names in tables. The content 
> of this constants uses upper cases.
> For example if you have a table like:
> <table name="address">
>         <column name="class" javaName="aClass" primaryKey="true" 
> required="true" size="2" type="CHAR"/>
>         <column name="id" primaryKey="true" required="true" size="30" 
> type="VARCHAR"/>
>         <column name="position" primaryKey="true" required="true" 
> type="INTEGER"/>
>         <column name="name1" size="50" type="VARCHAR"/>
>         <column name="name2" size="50" type="VARCHAR"/>
>         <column name="name3" size="50" type="VARCHAR"/>
>         <column name="street" size="50" type="VARCHAR"/>
>         <column name="zipcode" size="25" type="VARCHAR"/>
>         <column name="city" size="60" type="VARCHAR"/>
>         <column name="phone" size="40" type="VARCHAR"/>
>         <column name="phone2" size="40" type="VARCHAR"/>
>         <column name="country" size="200" type="VARCHAR"/>
>         <column name="state" size="200" type="VARCHAR"/>
>         <column name="fax" size="40" type="VARCHAR"/>
>         <column name="email" size="150" type="VARCHAR"/>
> </table>
> The generator creates in the corresponding BaseAddressPeer the following 
> constants.
> ...
>     static
>     {
>           CLASS = "address.CLASS";
>           ID = "address.ID";
>           POSITION = "address.POSITION";
>           NAME1 = "address.NAME1";
>           NAME2 = "address.NAME2";
>           NAME3 = "address.NAME3";
>           STREET = "address.STREET";
>           ZIPCODE = "address.ZIPCODE";
>           CITY = "address.CITY";
>           PHONE = "address.PHONE";
>           PHONE2 = "address.PHONE2";
>           COUNTRY = "address.COUNTRY";
>           STATE = "address.STATE";
>           FAX = "address.FAX";
>           EMAIL = "address.EMAIL";
>    ....
> but this variables should be for example "address.email".
> The AddressMapBuilder.doBuild() method creates the same uppercase mapping:
>   public void doBuild() throws TorqueException {
> ...
>     dbMap.addTable("address");
>     TableMap tMap = dbMap.getTable("address");
>     tMap.setPrimaryKeyMethod("none");
>     tMap.addPrimaryKey("address.CLASS", "" );
>     tMap.addPrimaryKey("address.ID", "" );
>     tMap.addPrimaryKey("address.POSITION", new Integer(0) );
>     tMap.addColumn("address.NAME1", "", 50 );
>     tMap.addColumn("address.NAME2", "", 50 );
>     tMap.addColumn("address.NAME3", "", 50 );
>     tMap.addColumn("address.STREET", "", 50 );
>     tMap.addColumn("address.ZIPCODE", "", 25 );
>     tMap.addColumn("address.CITY", "", 60 );
>     tMap.addColumn("address.PHONE", "", 40 );
>     tMap.addColumn("address.PHONE2", "", 40 );
>     tMap.addColumn("address.COUNTRY", "", 200 );
>     tMap.addColumn("address.STATE", "", 200 );
>     tMap.addColumn("address.FAX", "", 40 );
>     tMap.addColumn("address.EMAIL", "", 150 );
> }

-- 
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

        

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to