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 fr...@apache.org on 2011/01/21 21:07:36 UTC
svn commit: r1061999 - in
/incubator/empire-db/trunk/empire-db/src/main/java/org/apache/empire/db:
derby/DBDatabaseDriverDerby.java postgresql/DBDatabaseDriverPostgreSQL.java
Author: francisdb
Date: Fri Jan 21 20:07:36 2011
New Revision: 1061999
URL: http://svn.apache.org/viewvc?rev=1061999&view=rev
Log:
EMPIREDB-94 Postge and Derby bigint, patch by Eike Kettner
Modified:
incubator/empire-db/trunk/empire-db/src/main/java/org/apache/empire/db/derby/DBDatabaseDriverDerby.java
incubator/empire-db/trunk/empire-db/src/main/java/org/apache/empire/db/postgresql/DBDatabaseDriverPostgreSQL.java
Modified: incubator/empire-db/trunk/empire-db/src/main/java/org/apache/empire/db/derby/DBDatabaseDriverDerby.java
URL: http://svn.apache.org/viewvc/incubator/empire-db/trunk/empire-db/src/main/java/org/apache/empire/db/derby/DBDatabaseDriverDerby.java?rev=1061999&r1=1061998&r2=1061999&view=diff
==============================================================================
--- incubator/empire-db/trunk/empire-db/src/main/java/org/apache/empire/db/derby/DBDatabaseDriverDerby.java (original)
+++ incubator/empire-db/trunk/empire-db/src/main/java/org/apache/empire/db/derby/DBDatabaseDriverDerby.java Fri Jan 21 20:07:36 2011
@@ -18,10 +18,6 @@
*/
package org.apache.empire.db.derby;
-import java.sql.Connection;
-import java.util.GregorianCalendar;
-import java.util.Iterator;
-
import org.apache.empire.commons.Errors;
import org.apache.empire.commons.StringUtils;
import org.apache.empire.data.DataType;
@@ -42,6 +38,10 @@ import org.apache.empire.db.DBTableColum
import org.apache.empire.db.DBView;
import org.apache.empire.db.oracle.DBDatabaseDriverOracle.BooleanType;
+import java.sql.Connection;
+import java.util.GregorianCalendar;
+import java.util.Iterator;
+
/**
* This class provides support for the Derby database system.
@@ -509,23 +509,32 @@ public class DBDatabaseDriverDerby exten
{
case INTEGER:
{ // Integer type
- sql.append("INT");
int size = (int)c.getSize();
- if (size>0)
- { // Set Integer length
- sql.append("(");
- sql.append(String.valueOf(size));
- sql.append(")");
+ if (size >= 8) {
+ sql.append("BIGINT");
+ } else {
+ sql.append("INT");
}
+// if (size>0)
+// { // Set Integer length
+// sql.append("(");
+// sql.append(String.valueOf(size));
+// sql.append(")");
+// }
break;
- }
+ }
case AUTOINC:
{ // Auto increment
- sql.append("INT");
- if (useSequenceTable==false)
+ int size = (int)c.getSize();
+ if (size >= 8) {
+ sql.append("BIGINT");
+ } else {
+ sql.append("INT");
+ }
+ if (!isUseSequenceTable())
sql.append(" GENERATED ALWAYS AS IDENTITY");
break;
- }
+ }
case TEXT:
{ // Check fixed or variable length
int size = Math.abs((int) c.getSize());
@@ -553,9 +562,10 @@ public class DBDatabaseDriverDerby exten
sql.append("TIMESTAMP");
break;
case BOOL:
- if ( booleanType==BooleanType.CHAR )
- sql.append("CHAR(1)");
- else sql.append("SMALLINT");
+// if ( booleanType== DBDatabaseDriverOracle.BooleanType.CHAR ) <- this looks weird to me :), i commented it out since it is always false for derby
+// sql.append("CHAR(1)");
+// else
+ sql.append("SMALLINT");
break;
case DOUBLE:
sql.append("DOUBLE");
Modified: incubator/empire-db/trunk/empire-db/src/main/java/org/apache/empire/db/postgresql/DBDatabaseDriverPostgreSQL.java
URL: http://svn.apache.org/viewvc/incubator/empire-db/trunk/empire-db/src/main/java/org/apache/empire/db/postgresql/DBDatabaseDriverPostgreSQL.java?rev=1061999&r1=1061998&r2=1061999&view=diff
==============================================================================
--- incubator/empire-db/trunk/empire-db/src/main/java/org/apache/empire/db/postgresql/DBDatabaseDriverPostgreSQL.java (original)
+++ incubator/empire-db/trunk/empire-db/src/main/java/org/apache/empire/db/postgresql/DBDatabaseDriverPostgreSQL.java Fri Jan 21 20:07:36 2011
@@ -18,11 +18,6 @@
*/
package org.apache.empire.db.postgresql;
-import java.sql.Connection;
-import java.sql.SQLException;
-import java.util.GregorianCalendar;
-import java.util.Iterator;
-
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.empire.commons.Errors;
@@ -44,6 +39,11 @@ import org.apache.empire.db.DBTable;
import org.apache.empire.db.DBTableColumn;
import org.apache.empire.db.DBView;
+import java.sql.Connection;
+import java.sql.SQLException;
+import java.util.GregorianCalendar;
+import java.util.Iterator;
+
/**
* This class provides support for the PostgreSQL database system.
@@ -657,24 +657,33 @@ public class DBDatabaseDriverPostgreSQL
{
case INTEGER:
{ // Integer type
- sql.append("INT");
- int size = (int)c.getSize();
- if (size>0)
- { // Set Integer length
- sql.append("(");
- sql.append(String.valueOf(size));
- sql.append(")");
+ int size = (int) c.getSize();
+ if (size >= 8) {
+ sql.append("BIGINT");
+ } else {
+ sql.append("INT");
}
+// if (size>0)
+// { // Set Integer length
+// sql.append("(");
+// sql.append(String.valueOf(size));
+// sql.append(")");
+// }
break;
- }
+ }
case AUTOINC:
{ // Auto increment
- sql.append("INT");
-
- //String seqName = createSequenceName(c);
+ int size = (int) c.getSize();
+ if (size >= 8) {
+ sql.append("BIGSERIAL");
+ } else {
+ sql.append("SERIAL");
+ }
+
+ //String seqName = createSequenceName(c);
//sql.append(" DEFAULT nextval('"+seqName+"')");
break;
- }
+ }
case TEXT:
{ // Check fixed or variable length
int size = Math.abs((int) c.getSize());
@@ -730,7 +739,7 @@ public class DBDatabaseDriverPostgreSQL
sql.append("CHAR(36)");
break;
case UNKNOWN:
- log.error("Cannot append column of Data-Type 'UNKNOWN'");
+ //log.error("Cannot append column of Data-Type 'UNKNOWN'");
return false;
}
// Default Value