empire-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "andrew cooke (JIRA)" <empire-db-...@incubator.apache.org>
Subject [jira] Created: (EMPIREDB-59) HSQL Double has hard-coded illegal precision (FLOAT(80)) for HSQL 1.8
Date Sun, 18 Oct 2009 13:54:31 GMT
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


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.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message