Roy,
Thanks for the insight, how surprised am I to find out
Microsoft did something 'non-standard' again! I will give
the tds driver a shot though as you suggest. Any obvious
draw backs to using the FreeTds driver you can think of?
Not that I know of except that it is not supported by Microsoft so if
you have a problem they will probably say that's because you are not
using their driver. Otherwise, it looks like jTDS supports all JDBC 3
(http://jtds.sourceforge.net/features.html). Does the Microsoft driver
support JDBC4 ?
Emmanuel
Hi Roy,
Welcome to heterogeneous clustering!
As stated in the JDBC spec
(http://java.sun.com/j2se/1.5.0/docs/api/java/sql/Statement.html#executeUpdate(java.lang.String))
Statement.executeUpdate should return 0 on a CREATE statement. This is
what the PostgreSQL driver does.
However, the MSSQL driver you are using returns -1 which is completely
bogus. Sequoia checks on every execute update that results are
consistent between backends and here it is not the case (and the
Microsoft JDBC driver is to blame for that).
Unfortunately, this check cannot be disabled in Sequoia so here are some
options:
- Change the MSSQL JDBC driver for FreeTds
- File a bug report on MSSQL JDBC driver and wait for it to be fixed
- File a JIRA entry in Sequoia to disable consistency checkings (and
wait for it to be implemented)
- Wrap your create table calls in stored procedures and make sure the
stored procedure returns the same result in all implementations
Actually, I would recommend to do all of the above!
Thanks for your feedback,
Emmanuel
I added the first postgresql database and using a simple database 'roytest' on
all three
MSSQL, MSSQL, Postgresql I run the create table test and it does create the
table
but then errors (see below) and takes the postgres backend down. Any ideas?
I am including me virtual database config below also, just in case I have messed
something up there ..
10:52:43,491 INFO DatabaseBackend.roytest.IS-pe3 Detected backend as:
PostgreSQL
10:52:43,588 WARN DatabaseBackend.roytest.IS-pe3 Unable to test
ResultSet.getObject
10:54:10,069 ERROR backend.DatabaseBackend.IS-pe3 Disabling backend IS-pe3 that
reports a different number of updated rows (0) than first backend to succeed
(-1) for request create table test(i integer);/
10:54:10,077 WARN DatabaseBackend.roytest.IS-pe3 A worker thread was still
processing task Autocommit StatementExecuteUpdateTask 9 (create table test(i
integer);/), aborting the request execution.
<DatabaseBackend name="IS-pe1"
driver="com.microsoft.sqlserver.jdbc.SQLServerDriver"
url="jdbc:sqlserver://qa-pe1:4225;DatabaseName=roytest;"
connectionTestStatement="select 1">
<ConnectionManager vLogin="sqladmin" rLogin="sqladmin" rPassword="[EMAIL
PROTECTED]">
<VariablePoolConnectionManager initPoolSize="10" minPoolSize="5"
maxPoolSize="50" idleTimeout="30" waitTimeout="10"/>
</ConnectionManager>
</DatabaseBackend>
<DatabaseBackend name="IS-pe2"
driver="com.microsoft.sqlserver.jdbc.SQLServerDriver"
url="jdbc:sqlserver://qa-pe2:4225;DatabaseName=roytest;"
connectionTestStatement="select 1">
<ConnectionManager vLogin="sqladmin" rLogin="sqladmin" rPassword="[EMAIL
PROTECTED]">
<VariablePoolConnectionManager initPoolSize="10" minPoolSize="5"
maxPoolSize="50" idleTimeout="30" waitTimeout="10"/>
</ConnectionManager>
</DatabaseBackend>
<!-- Add Postgresql Here -->
<DatabaseBackend name="IS-pe3" driver="org.postgresql.Driver"
url="jdbc:postgresql://qa-pe3:4225/roytest"
connectionTestStatement="select now()">
<ConnectionManager vLogin="sqladmin" rLogin="sqladmin" rPassword="[EMAIL
PROTECTED]">
<VariablePoolConnectionManager initPoolSize="10" minPoolSize="5"
maxPoolSize="50" idleTimeout="30" waitTimeout="10"/>
</ConnectionManager>
</DatabaseBackend>
_______________________________________________
Sequoia mailing list
[email protected]
https://forge.continuent.org/mailman/listinfo/sequoia
--
Emmanuel Cecchet - Research scientist
EPFL - LABOS/DSLAB - IN.N 317
Phone: +41-21-693-7558
_______________________________________________
Sequoia mailing list
[email protected]
https://forge.continuent.org/mailman/listinfo/sequoia