Author: mriou
Date: Fri Dec 5 16:02:58 2008
New Revision: 723929
URL: http://svn.apache.org/viewvc?rev=723929&view=rev
Log:
ODE-452 Fix the job upgrade query for Sybase 12
Modified:
ode/branches/APACHE_ODE_1.X/scheduler-simple/src/main/java/org/apache/ode/scheduler/simple/JdbcDelegate.java
Modified:
ode/branches/APACHE_ODE_1.X/scheduler-simple/src/main/java/org/apache/ode/scheduler/simple/JdbcDelegate.java
URL:
http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/scheduler-simple/src/main/java/org/apache/ode/scheduler/simple/JdbcDelegate.java?rev=723929&r1=723928&r2=723929&view=diff
==============================================================================
---
ode/branches/APACHE_ODE_1.X/scheduler-simple/src/main/java/org/apache/ode/scheduler/simple/JdbcDelegate.java
(original)
+++
ode/branches/APACHE_ODE_1.X/scheduler-simple/src/main/java/org/apache/ode/scheduler/simple/JdbcDelegate.java
Fri Dec 5 16:02:58 2008
@@ -60,6 +60,9 @@
private static final String UPGRADE_JOB_SQLSERVER = "update ODE_JOB set
nodeid = ? where nodeid is null "
+ "and (ts % ?) = ? and ts < ?";
+ private static final String UPGRADE_JOB_SYBASE12 = "update ODE_JOB set
nodeid = ? where nodeid is null "
+ + "and -1 <> ? and -1 <> ? and ts < ?";
+
private static final String SAVE_JOB = "insert into ODE_JOB "
+ " (jobid, nodeid, ts, scheduled, transacted, details) values(?,
?, ?, ?, ?, ?)";
@@ -221,6 +224,8 @@
ps = con.prepareStatement(UPGRADE_JOB_SQLSERVER);
} else if (_dialect == Dialect.DB2) {
ps = con.prepareStatement(UPGRADE_JOB_DB2);
+ } else if (_dialect == Dialect.SYBASE12) {
+ ps = con.prepareStatement(UPGRADE_JOB_SYBASE12);
} else {
ps = con.prepareStatement(UPGRADE_JOB_DEFAULT);
}
@@ -278,7 +283,7 @@
if (metaData != null) {
String dbProductName = metaData.getDatabaseProductName();
int dbMajorVer = metaData.getDatabaseMajorVersion();
- __log.debug("Using database " + dbProductName + " major
version " + dbMajorVer);
+ __log.info("Using database " + dbProductName + " major version
" + dbMajorVer);
if (dbProductName.indexOf("DB2") >= 0) {
d = Dialect.DB2;
} else if (dbProductName.indexOf("Derby") >= 0) {
@@ -293,6 +298,9 @@
d = Dialect.MYSQL;
} else if (dbProductName.indexOf("Sybase") >= 0 ||
dbProductName.indexOf("Adaptive") >= 0) {
d = Dialect.SYBASE;
+ if( dbMajorVer == 12 ) {
+ d = Dialect.SYBASE12;
+ }
}
}
} catch (SQLException e) {
@@ -305,7 +313,7 @@
}
enum Dialect {
- DB2, DERBY, FIREBIRD, HSQL, MYSQL, ORACLE, SQLSERVER, SYBASE, UNKNOWN
+ DB2, DERBY, FIREBIRD, HSQL, MYSQL, ORACLE, SQLSERVER, SYBASE,
SYBASE12, UNKNOWN
}
}