You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@empire-db.apache.org by "Rainer Döbele (JIRA)" <em...@incubator.apache.org> on 2013/02/04 15:10:12 UTC

[jira] [Closed] (EMPIREDB-59) HSQL Double has hard-coded illegal precision (FLOAT(80)) for HSQL 1.8

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

Rainer Döbele closed EMPIREDB-59.
---------------------------------


Cleanup of unclosed issues.
                
> HSQL Double has hard-coded illegal precision (FLOAT(80)) for HSQL 1.8
> ---------------------------------------------------------------------
>
>                 Key: EMPIREDB-59
>                 URL: https://issues.apache.org/jira/browse/EMPIREDB-59
>             Project: Empire-DB
>          Issue Type: Bug
>          Components: CodeGenerator
>    Affects Versions: empire-db-2.0.5-incubating
>            Reporter: andrew cooke
>            Assignee: Francis De Brabandere
>             Fix For: empire-db-2.0.6-incubating
>
>
> The HSQL DatabaseDriver generates a spec for "DOUBLE" columns as "FLOAT(80)" (line 522, DBDatabaseDriverHsql).  This gives the error below when used with HSQL 1.8.0.7.
> I suspect this is because from 1.8 onwards HSQL is more strict about precisions - http://hsqldb.org/doc/guide/ch02.html#N10426 (scroll down a page or so to "Type Size, Precision and Scale") - and the value of 80 is a bit odd anyway (a quick search suggested that the typical maximum is 53 - see for example http://www.cyberarmy.net/library/article/190)
> The error message I am seeing is:
> 18-Oct-2009 10:32:04 org.apache.empire.db.DBSQLScript run
> SEVERE: java.sql.SQLException: Numeric value out of range in statement [-- creating table LFM_ARTIST_DISTANCES --                                                 
> CREATE TABLE LFM_ARTIST_DISTANCES (                                              
>    LEFT BIGINT NOT NULL,                                                         
>    RIGHT BIGINT NOT NULL,                                                        
>    WEIGHT FLOAT(80)]                                                             
> java.sql.SQLException: Numeric value out of range in statement [-- creating table LFM_ARTIST_DISTANCES --                                                         
> CREATE TABLE LFM_ARTIST_DISTANCES (                                              
>    LEFT BIGINT NOT NULL,                                                         
>    RIGHT BIGINT NOT NULL,                                                        
>    WEIGHT FLOAT(80)]                                                             
>         at org.hsqldb.jdbc.Util.sqlException(Unknown Source)                     
>         at org.hsqldb.jdbc.jdbcStatement.fetchResult(Unknown Source)             
>         at org.hsqldb.jdbc.jdbcStatement.executeUpdate(Unknown Source)           
>         at org.apache.empire.db.DBDatabaseDriver.executeSQL(DBDatabaseDriver.java:447)                                                                            
>         at org.apache.empire.db.DBSQLScript.run(DBSQLScript.java:113)            
>         at org.acooke.uykfd.db.Database.<init>(Database.scala:47)                
>         at org.acooke.uykfd.Main$.main(Main.scala:12)                            
>         at org.acooke.uykfd.Main.main(Main.scala)                                
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)           
>         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)                                                                          
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)                                                                  
>         at java.lang.reflect.Method.invoke(Method.java:597)                      
>         at scala.util.ScalaClassLoader$$anonfun$run$1.apply(ScalaClassLoader.scala:54)
>         at scala.util.ScalaClassLoader$class.asContext(ScalaClassLoader.scala:21)
>         at scala.util.URLClassLoader.asContext(ScalaClassLoader.scala:58)
>         at scala.util.ScalaClassLoader$class.run(ScalaClassLoader.scala:54)
>         at scala.util.URLClassLoader.run(ScalaClassLoader.scala:58)
>         at scala.tools.nsc.ObjectRunner$.run(ObjectRunner.scala:33)
>         at sbt.Run$$anonfun$run$1$$anonfun$apply$9.execute$1(Run.scala:103)
>         at sbt.Run$$anonfun$run$1$$anonfun$apply$9$$anonfun$apply$12.apply(Run.scala:105)
>         at sbt.Run$$anonfun$run$1$$anonfun$apply$9$$anonfun$apply$12.apply(Run.scala:105)
>         at sbt.TrapExit$.executeMain$1(TrapExit.scala:32)
>         at sbt.TrapExit$$anon$1.run(TrapExit.scala:34)
> 18-Oct-2009 10:32:04 org.apache.empire.commons.ErrorObject error
> WARNING: Invalid Number of arguments supplied for error error.db.sqlexception
> Arguments supplied= 3; Arguments expected= 1
> 18-Oct-2009 10:32:04 org.apache.empire.commons.ErrorObject error
> INFO: Error 'The database operation failed. Native error is java.sql.SQLException.' has been set for object org.apache.empire.db.DBSQLScript
> org.apache.empire.db.DBSQLScript: The database operation failed. Native error is java.sql.SQLException.
>         at org.apache.empire.commons.ErrorObject.internalSetError(ErrorObject.java:255)
>         at org.apache.empire.commons.ErrorObject.error(ErrorObject.java:314)
>         at org.apache.empire.commons.ErrorObject.error(ErrorObject.java:375)
>         at org.apache.empire.db.DBSQLScript.run(DBSQLScript.java:118)
>         at org.acooke.uykfd.db.Database.<init>(Database.scala:47)
>         at org.acooke.uykfd.Main$.main(Main.scala:12)
>         at org.acooke.uykfd.Main.main(Main.scala)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:597)
>         at scala.util.ScalaClassLoader$$anonfun$run$1.apply(ScalaClassLoader.scala:54)
>         at scala.util.ScalaClassLoader$class.asContext(ScalaClassLoader.scala:21)
>         at scala.util.URLClassLoader.asContext(ScalaClassLoader.scala:58)
>         at scala.util.ScalaClassLoader$class.run(ScalaClassLoader.scala:54)
>         at scala.util.URLClassLoader.run(ScalaClassLoader.scala:58)
>         at scala.tools.nsc.ObjectRunner$.run(ObjectRunner.scala:33)
>         at sbt.Run$$anonfun$run$1$$anonfun$apply$9.execute$1(Run.scala:103)
>         at sbt.Run$$anonfun$run$1$$anonfun$apply$9$$anonfun$apply$12.apply(Run.scala:105)
>         at sbt.Run$$anonfun$run$1$$anonfun$apply$9$$anonfun$apply$12.apply(Run.scala:105)
>         at sbt.TrapExit$.executeMain$1(TrapExit.scala:32)
>         at sbt.TrapExit$$anon$1.run(TrapExit.scala:34)

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira