You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ode.apache.org by se...@apache.org on 2009/01/20 20:51:57 UTC
svn commit: r736082 -
/ode/branches/APACHE_ODE_1.X/scheduler-simple/src/main/java/org/apache/ode/scheduler/simple/JdbcDelegate.java
Author: seanahn
Date: Tue Jan 20 11:51:56 2009
New Revision: 736082
URL: http://svn.apache.org/viewvc?rev=736082&view=rev
Log:
ODE-470, Sybase throws 'Invalid operator for datatype op: MODULO type: NUMERIC' errors during startup
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=736082&r1=736081&r2=736082&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 Tue Jan 20 11:51:56 2009
@@ -60,8 +60,11 @@
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_SYBASE = "update ODE_JOB set nodeid = ? where nodeid is null "
+ + "and convert(int, 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 < ?";
+ + "and -1 <> ? and -1 <> ? and ts < ?";
private static final String SAVE_JOB = "insert into ODE_JOB "
+ " (jobid, nodeid, ts, scheduled, transacted, details) values(?, ?, ?, ?, ?, ?)";
@@ -71,10 +74,6 @@
private static final String SCHEDULE_IMMEDIATE = "select jobid, ts, transacted, scheduled, details from ODE_JOB "
+ "where nodeid = ? and ts < ? order by ts";
- private static final String UPDATE_SCHEDULED = "update ODE_JOB set scheduled = 1 where jobid in (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
-
- private static final int UPDATE_SCHEDULED_SLOTS = 10;
-
private DataSource _ds;
private Dialect _dialect;
@@ -220,14 +219,16 @@
PreparedStatement ps = null;
try {
con = getConnection();
- if (_dialect == Dialect.SQLSERVER || _dialect == Dialect.SYBASE) {
- ps = con.prepareStatement(UPGRADE_JOB_SQLSERVER);
+ if (_dialect == Dialect.SQLSERVER) {
+ ps = con.prepareStatement(UPGRADE_JOB_SQLSERVER);
} else if (_dialect == Dialect.DB2) {
- ps = con.prepareStatement(UPGRADE_JOB_DB2);
+ ps = con.prepareStatement(UPGRADE_JOB_DB2);
+ } else if (_dialect == Dialect.SYBASE) {
+ ps = con.prepareStatement(UPGRADE_JOB_SYBASE);
} else if (_dialect == Dialect.SYBASE12) {
ps = con.prepareStatement(UPGRADE_JOB_SYBASE12);
} else {
- ps = con.prepareStatement(UPGRADE_JOB_DEFAULT);
+ ps = con.prepareStatement(UPGRADE_JOB_DEFAULT);
}
ps.setString(1, node);
ps.setInt(2, numNodes);