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