Mantis - Resin
Viewing Issue Advanced Details
4643 minor always 06-27-11 10:48 08-28-12 19:22
ferg  
ferg  
normal  
closed 4.0.19  
fixed  
none    
none 4.0.31  
0004643: jdbc-store with oracle
(rep by Eric Kreiser)

I am trying to upgrade from 4.0.15 to 4.0.19.

The server fails to start.

The problem is that it is trying to create the "resin_data" and
"resin_mnode" database tables ... but the "create table" syntax is not
valid for Oracle.

--------------------------------------------------------------------------------------------------
06-27 12:38:29.146 JdbcMnodeStore[server]
java.sql.SQLSyntaxErrorException: ORA-00942: table or view does not exist

06-27 12:38:29.146 CREATE TABLE resin_mnode (
                      id CHAR(64) PRIMARY KEY,
                      value CHAR(64),
                      cache_id CHAR(64),
                      expire_timeout BIGINT,
                      idle_timeout BIGINT,
                      lease_timeout BIGINT,
                      local_read_timeout BIGINT,
                      update_time BIGINT,
                      item_version BIGINT,
                      flags INTEGER,
                      server_version INTEGER)
06-27 12:38:29.149 [3ms]
jdbc/versioncloud.d0.0.0:exn-executeUpdate(CREATE TABLE resin_mnode (
                      id CHAR(64) PRIMARY KEY,
                      value CHAR(64),
                      cache_id CHAR(64),
                      expire_timeout BIGINT,
                      idle_timeout BIGINT,
                      lease_timeout BIGINT,
                      local_read_timeout BIGINT,
                      update_time BIGINT,
                      item_version BIGINT,
                      flags INTEGER,
                      server_version INTEGER)) ->
java.sql.SQLSyntaxErrorException: ORA-00902: invalid datatype

06-27 12:38:29.149 [0ms] jdbc/versioncloud.d0.0.0:close()
06-27 12:38:29.149 idle
ManagedPoolItem[jdbc/versioncloud,0,ManagedConnectionImpl]
06-27 12:38:29.149 jdbc/versioncloud.d0.0:clearWarnings()
06-27 12:38:29.149 java.lang.RuntimeException:
java.sql.SQLSyntaxErrorException: ORA-00902: invalid datatype

                        at
com.caucho.distcache.cluster.ClusterDataBacking.<init>(ClusterDataBacking.java:89)
                        at
com.caucho.distcache.cluster.ClusterCacheManagerImpl.createDataBacking(ClusterCacheManagerImpl.java:81)
                        at
com.caucho.server.distcache.AbstractCacheManager.start(AbstractCacheManager.java:1133)
                        at
com.caucho.distcache.cluster.ClusterCacheManagerImpl.start(ClusterCacheManagerImpl.java:90)
                        at
com.caucho.env.distcache.DistCacheSystem.start(DistCacheSystem.java:110)
                        at
com.caucho.env.service.ResinSystem.startServices(ResinSystem.java:513)
                        at
com.caucho.env.service.ResinSystem.start(ResinSystem.java:481)
                        at
com.caucho.server.resin.Resin.start(Resin.java:999)
                        at
com.caucho.server.resin.Resin.initMain(Resin.java:1127)
                        at
com.caucho.server.resin.Resin.main(Resin.java:1426)
                    Caused by: java.sql.SQLSyntaxErrorException:
ORA-00902: invalid datatype

                        at
oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:439)
                        at
oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:395)
                        at
oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:802)
                        at
oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:436)
                        at
oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:186)
                        at
oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:521)
                        at
oracle.jdbc.driver.T4CStatement.doOall8(T4CStatement.java:194)
                        at
oracle.jdbc.driver.T4CStatement.executeForRows(T4CStatement.java:1000)
                        at
oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1307)
                        at
oracle.jdbc.driver.OracleStatement.executeUpdateInternal(OracleStatement.java:1814)
                        at
oracle.jdbc.driver.OracleStatement.executeUpdate(OracleStatement.java:1779)
                        at
oracle.jdbc.driver.OracleStatementWrapper.executeUpdate(OracleStatementWrapper.java:277)
                        at
com.caucho.sql.spy.SpyStatement.executeUpdate(SpyStatement.java:225)
                        at
com.caucho.sql.UserStatement.executeUpdate(UserStatement.java:230)
                        at
com.caucho.distcache.jdbc.JdbcMnodeStore.initDatabase(JdbcMnodeStore.java:256)
                        at
com.caucho.distcache.jdbc.JdbcMnodeStore.init(JdbcMnodeStore.java:196)
                        at
com.caucho.distcache.cluster.ClusterDataBacking.<init>(ClusterDataBacking.java:80)
                        ... 9 more
--------------------------------------------------------------------------------------------------


If I manually add the tables... the server starts... but I get errors.

--------------------------------------------------------------------------------------------------
06-27 12:07:31.860 jdbc/versioncloud.d0.0.5:prepareStatement(SELECT
d.id, d.expire_time, m.value FROM resin_mnode AS m LEFT JOIN resin_data
AS d ON(m.value = d.id))
06-27 12:07:31.866 [6ms]
jdbc/versioncloud.d0.0.5:exn-executeQuery(java.sql.SQLSyntaxErrorException:
ORA-00933: SQL command not properly ended
--------------------------------------------------------------------------------------------------




Notes
(0006025)
ferg   
08-28-12 19:22   
server/01kg