db-torque-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Will Glass-Husain (JIRA)" <j...@apache.org>
Subject [jira] Commented: (TORQUE-106) Use "boolean" sql type not "bit" sql type with MySQL
Date Fri, 26 Oct 2007 21:33:50 GMT

    [ https://issues.apache.org/jira/browse/TORQUE-106?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12538106
] 

Will Glass-Husain commented on TORQUE-106:
------------------------------------------

Thanks for the detailed response.  

I'm not sure it makes sense though.  Torque already has hardcoded MySQL compatibility features.
 MySQL 5.0.3 was released March 23, 2005 -- over 2.5 years ago.  Gradually, all the MYSQL
users will hit this problem.    (And I'm guessing a large percentage of Torque users are MySQL
users).

There may be other MySQL 5 optimizations that would be useful as well. (Subqueries were finally
supported in MYSQL 4.1, for example).   

Incidentally, Hibernate solved this issue with a MySQL and a MYSQL5 mode.

I guess in the meantime I'll make a custom adapter.    I see now that it's not too difficult.

WILL



> Use "boolean" sql type not "bit" sql type with MySQL
> ----------------------------------------------------
>
>                 Key: TORQUE-106
>                 URL: https://issues.apache.org/jira/browse/TORQUE-106
>             Project: Torque
>          Issue Type: Bug
>    Affects Versions: 3.2
>            Reporter: Will Glass-Husain
>         Attachments: mysqlpatch.patch
>
>
> In MySQL 5.0.3 the meaning of the BIT data type changed.  It used to be equivalent to
tinyint(1) but now it is a new bitwise datatype.  This means that when Torque generates SQL
files with a "bit" data type (mapped to the Java boolean) it is incorrect.
> I suggest that Torque map the Torque "bit" type to the MySQL "Boolean" type instead when
generating SQL.  See the reference from the MySQL manual below.
> http://dev.mysql.com/doc/refman/5.0/en/numeric-type-overview.html
> * BIT[(M)]
>       A bit-field type. M indicates the number of bits per value, from 1 to 64. The default
is 1 if M is omitted.
>       This data type was added in MySQL 5.0.3 for MyISAM, and extended in 5.0.5 to MEMORY,
InnoDB, and BDB. Before 5.0.3, BIT is a synonym for TINYINT(1).
>     
> *  TINYINT[(M)] [UNSIGNED] [ZEROFILL]
>       A very small integer. The signed range is -128 to 127. The unsigned range is 0
to 255.
>    
> * BOOL, BOOLEAN
>       These types are synonyms for TINYINT(1). A value of zero is considered false. Non-zero
values are considered true: 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


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


Mime
View raw message