db-torque-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Sethuraman Ramasubramanian (JIRA)" <j...@apache.org>
Subject [jira] [Reopened] (TORQUE-142) MYSQL - default timestamp set to current_timestamp generates classes incorrectly
Date Mon, 04 Jul 2011 10:29:21 GMT

     [ https://issues.apache.org/jira/browse/TORQUE-142?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel

Sethuraman Ramasubramanian reopened TORQUE-142:

Thanks for the reply Thomas. But I am not sure if agree regarding it not being a problem.
Its ok if Torque does not support current_timestamp as it is a mysql specific thing. But the
generator should ignore it then and not create a java object with current_timestamp going
into the constructor. This results in a compilation issue, which I think can be easily rectified.
I solved this problem by changing the generator code to ignore the current_timestamp attribute
("hard coded" it). We can probably create a method in the corresponding DB Adapter and utilise
this at the time of generating the classes. Maybe that can extended to defaulting values instead
of overriding the save(). But that is secondary, we can avoid the compilation issue to being

> MYSQL - default timestamp set to current_timestamp generates classes incorrectly
> --------------------------------------------------------------------------------
>                 Key: TORQUE-142
>                 URL: https://issues.apache.org/jira/browse/TORQUE-142
>             Project: Torque
>          Issue Type: Bug
>          Components: Generator
>    Affects Versions: 3.3
>         Environment: Windows
>            Reporter: Sethuraman Ramasubramanian
>            Assignee: Thomas Fox
> Recently I changed all the tables in my database to include an updated_ts column.
> I have the timestamp column in mysql defined as 
> `updated_ts` TIMESTAMP NOT NULL DEFAULT now() ON UPDATE NOW(), this is the same as 
> `updated_ts` TIMESTAMP NOT NULL DEFAULT current_timestamp ON UPDATE current_timestamp
> When I generate the XML from the DB, I get the below generated. Please look at the last
> <table name="address">
>         <column name="address_id" primaryKey="true" required="true"
>             size="20" type="VARCHAR"/>
>         <column name="address_ln_1" required="true" size="150" type="VARCHAR"/>
>         <column name="address_ln_2" size="150" type="VARCHAR"/>
>         <column name="city" required="true" size="100" type="VARCHAR"/>
>         <column name="state" required="true" size="2" type="CHAR"/>
>         <column name="pincode" required="true" size="8" type="CHAR"/>
>         <column name="email_id" size="100" type="VARCHAR"/>
>         <column default="India" name="country" required="true" size="45" type="VARCHAR"/>
>         <column default="CURRENT_TIMESTAMP" name="updated_ts"
>             required="true" type="TIMESTAMP"/>
>     </table>
> Now when I generate the OM classes I get the Address object generated with the below
>  private Date updatedTs = new Date(CURRENT_TIMESTAMP);
> This results in a compilation error. 
> My questions are:
> 1. Are default timestamp values supported in Torque?
> 2. How about the "on update" clause? If a column has an on update clause, will Torque
ignore it and just send an update statement with the column to the database. This would result
in some issues, for example if I selected a row from the table and changed some values. I
then call save(), then the updated timestamp will not get updated because it already has a
value in it. Is there anyway I can change Torque in a common place to set the value to be
null, if the column name is updated_ts. This would solve this problem.
> Any help is highly appreciated.

This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


To unsubscribe, e-mail: torque-dev-unsubscribe@db.apache.org
For additional commands, e-mail: torque-dev-help@db.apache.org

View raw message