[
https://issues.apache.org/jira/browse/OPENJPA-603?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12597633#action_12597633
]
Sandeep Shrivastava commented on OPENJPA-603:
---------------------------------------------
The DBDictionary documentation does not mention the fixedSizeTypeNames
attribute. Is it non-public or the doc needs to be updated?
http://openjpa.apache.org/builds/1.1.0/docs/ref_guide_dbsetup_dbsupport.html
> Schema Tool discards the size of decimal column
> -----------------------------------------------
>
> Key: OPENJPA-603
> URL: https://issues.apache.org/jira/browse/OPENJPA-603
> Project: OpenJPA
> Issue Type: Bug
> Components: jdbc
> Affects Versions: 1.1.0
> Environment: OpenJPA 1.1.0-SNAPSHOT
> version id: openjpa-1.1.0-SNAPSHOT-r422266:653008
> Apache svn revision: 422266:653008
> os.name: Windows XP
> os.version: 5.1
> os.arch: x86
> java.version: 1.6.0_05
> java.vendor: BEA Systems, Inc.
> Reporter: Sandeep Shrivastava
> Attachments: OPENJPA-603.patch
>
> Original Estimate: 24h
> Remaining Estimate: 24h
>
> Run the SchemaTool against the following schema defintion file
> <?xml version='1.0' encoding='UTF-8'?>
> <schemas>
> <schema>
> <table name='t2'>
> <column name='c1' type='integer' type-name='int' size='11'/>
> <column name='c2' type='varchar' size='50'/>
> <column name='c3' type='decimal' size='22'/>
> </table>
> </schema>
> </schemas>
> Here is the trace log:
> 985 INFO [Main Thread] openjpa.Tool - Schema tool running action 'add'.
> This process may take some time. Enable the org.apache.openjpa.jdbc.Schema
> logging category to see messages about the collection of schema data, and the
> org.apache.openjpa.jdbc.SQL category to see generated SQL commands.
> 1078 TRACE [Main Thread] openjpa.jdbc.SQL - <t 1574411, conn 3516148>
> executing stmnt 4762292 CREATE TABLE t2 (c1 int(11), c2 VARCHAR(50), c3
> DECIMAL) TYPE =innodb
> 1297 TRACE [Main Thread] openjpa.jdbc.SQL - <t 1574411, conn 3516148> [219
> ms] spent
> 1297 INFO [Main Thread] openjpa.Tool - Recording schema changes.
> 1313 INFO [Main Thread] openjpa.jdbc.JDBC - Shutting down connection pool.
> The size argument is not ignored and database specific defaults apply. In
> mySQL it defaults to decimal(10,0) whereas for db2 the default is
> decimal(5,0) as per the IBM docs.
> This is because the DECIMAL type is present in the set of
> fixedSizeTypeNameSet in the DBDictionary class. During the create table sql
> construction, the appendSize method skips adding the size for column types in
> the fixedSizeTypeNameSet.
> protected String appendSize(Column col, String typeName) {
> if (fixedSizeTypeNameSet.contains(typeName.toUpperCase()))
> return typeName;
> // Rest of method ...
> }
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.