Hi Ralf,
The columns costprice and labourrate are defined as string in the table,
but as double in the mapping.
I think this is the reason for the error.
Met vriendelijke groet/with kind regards,
Ad Kerremans
Ralf Joachim
<[EMAIL PROTECTED] To:
[email protected]
con.eu> cc:
Subject: Re: [castor-user]
castor and postgres 8.3
15-10-2008 22:18
Please respond to
user
Hi Ad,
can you also send us the script to create the 'employee' table and the
mapping for it. Could it be that 'status' column is created as varchar
but defined as numeric in mapping? Maybe this worked in older releases
of postgresql but newer do stricter type checking.
Regards
Ralf
[EMAIL PROTECTED] schrieb:
> Hi Werner
>
> Here is the info I have
>
> 2008/Oct/14 16:24:39.805-> SEND TO CASTOR: <transaction
> version="2005-08"><insert/><overwrite><employee
> TIMESTAMP="1223987107093"><dataEntryEmployee>Suzanne
>
Reijm</dataEntryEmployee><dateOfDataEntry>20081014</dateOfDataEntry><timeOfDataEntry>000000</timeOfDataEntry><dateOfDataModification>20081014</dateOfDataModification><timeOfDataModification>000000</timeOfDataModification><dataModificationEmployee>SAP</dataModificationEmployee><statusMask>1</statusMask><employeeCode>10</employeeCode><projects/><profiles/><currencyCode>EUR</currencyCode><costPrice>0.0</costPrice><name>Alexander
>
>
Wolf</name><totalHours/><status>bs</status><accessCode/><workCentreCode>1</workCentreCode><labourRate>0.0</labourRate><languageCode>31</languageCode><emailAddress/></employee></overwrite><update/><delete/></transaction>
> 2008/Oct/14 16:24:39.808-> DatabaseBewerkingen, starting new transaction
> Oct 14, 2008 4:24:39 PM org.apache.commons.logging.impl.Jdk14Logger fatal
> SEVERE: A fatal error occurred while creating/updating
> nl.serac.dbengine.elements.Employee using SQL: UPDATE "employee" SET
>
"emplname"=?,"workcncd"=?,"labrrate"=?,"currnccd"=?,"costpric"=?,"totalhrs"=?,"acccode"=?,"langcode"=?,"email"=?,"status"=?,"entrdate"=?,"entrtime"=?,"entrempl"=?,"modidate"=?,"moditime"=?,"modiempl"=?,"statmask"=?
> WHERE "employcd"=? AND "emplname"=? AND "workcncd"=? AND "labrrate"=?
AND
> "currnccd"=? AND "costpric"=? AND "totalhrs"=? AND "acccode"=? AND
> "langcode"=? AND "email"=? AND "status"=? AND "entrdate"=? AND
"entrtime"=?
> AND "entrempl"=? AND "modidate"=? AND "moditime"=? AND "modiempl"=? AND
> "statmask"=?
> java.sql.SQLException: ERROR: operator does not exist: character varying
> = numeric at character 408
>
> at
org.postgresql.core.QueryExecutor.execute(QueryExecutor.java:94)
> at org.postgresql.Connection.ExecSQL(Connection.java:398)
> at org.postgresql.jdbc2.Statement.execute(Statement.java:130)
> at
org.postgresql.jdbc2.Statement.executeUpdate(Statement.java:73)
> at
>
org.postgresql.jdbc2.PreparedStatement.executeUpdate(PreparedStatement.java:113)
> at
>
org.exolab.castor.jdo.engine.SQLStatementStore.executeStatement(SQLStatementStore.java:277)
> at
org.exolab.castor.jdo.engine.SQLEngine.store(SQLEngine.java:323)
> at
> org.exolab.castor.persist.ClassMolder.store(ClassMolder.java:799)
> at
org.exolab.castor.persist.LockEngine.store(LockEngine.java:792)
> at
>
org.castor.persist.AbstractTransactionContext.prepareForCreate(AbstractTransactionContext.java:1247)
> at
>
org.castor.persist.AbstractTransactionContext.prepare(AbstractTransactionContext.java:1211)
> at
>
org.exolab.castor.jdo.engine.LocalDatabaseImpl.commit(LocalDatabaseImpl.java:169)
> at
>
nl.serac.dbengine.DatabaseBewerkingen.commit(DatabaseBewerkingen.java:264)
> at
> nl.serac.dbengine.TransactionHandler.handle(TransactionHandler.java:137)
> at
>
nl.serac.backoffice.hotsale.server.BackOfficeDistributionThread.BrancheServiceRun(BackOfficeDistributionThread.java:67)
> at
>
nl.serac.backoffice.hotsale.server.BackOfficeDistributionThread.onMessage(BackOfficeDistributionThread.java:452)
> at nl.serac.messenger.Messenger.onMessage(Messenger.java:92)
> at
nl.serac.messenger.SimpleServer.onMessage(SimpleServer.java:53)
> at nl.serac.messenger.JAXMService.onMessage(JAXMService.java:97)
> at javax.xml.messaging.JAXMServlet.doPost(Unknown Source)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
> at
> org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:366)
> at
>
org.mortbay.jetty.servlet.ServletHandler.dispatch(ServletHandler.java:677)
> at
> org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:581)
> at org.mortbay.http.HttpContext.handle(HttpContext.java:1687)
> at org.mortbay.http.HttpContext.handle(HttpContext.java:1637)
> at org.mortbay.http.HttpServer.service(HttpServer.java:875)
> at
org.mortbay.http.HttpConnection.service(HttpConnection.java:806)
> at
> org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:956)
> at
org.mortbay.http.HttpConnection.handle(HttpConnection.java:823)
> at
> org.mortbay.http.SocketListener.handleConnection(SocketListener.java:202)
> at
org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:290)
> at org.mortbay.util.ThreadPool$JobRunner.run(ThreadPool.java:743)
> at java.lang.Thread.run(Thread.java:595)
> Oct 14, 2008 4:24:39 PM org.apache.commons.logging.impl.Jdk14Logger error
> SEVERE: This transaction has been aborted and rolled back: Nested error:
> org.exolab.castor.jdo.PersistenceException: Nested error:
> java.sql.SQLException: ERROR: operator does not exist: character varying
> = numeric at character 408
> : ERROR: operator does not exist: character varying = numeric at
character
> 408
> : Nested error: java.sql.SQLException: ERROR: operator does not exist:
> character varying = numeric at character 408
> : ERROR: operator does not exist: character varying = numeric at
character
> 408
>
> org.exolab.castor.jdo.TransactionAbortedException: Nested error:
> org.exolab.castor.jdo.PersistenceException: Nested error:
> java.sql.SQLException: ERROR: operator does not exist: character varying
> = numeric at character 408
> : ERROR: operator does not exist: character varying = numeric at
character
> 408
> : Nested error: java.sql.SQLException: ERROR: operator does not exist:
> character varying = numeric at character 408
> : ERROR: operator does not exist: character varying = numeric at
character
> 408
>
> at
>
org.castor.persist.AbstractTransactionContext.prepare(AbstractTransactionContext.java:1224)
> at
>
org.exolab.castor.jdo.engine.LocalDatabaseImpl.commit(LocalDatabaseImpl.java:169)
> at
>
nl.serac.dbengine.DatabaseBewerkingen.commit(DatabaseBewerkingen.java:264)
> at
> nl.serac.dbengine.TransactionHandler.handle(TransactionHandler.java:137)
> at
>
nl.serac.backoffice.hotsale.server.BackOfficeDistributionThread.BrancheServiceRun(BackOfficeDistributionThread.java:67)
> at
>
nl.serac.backoffice.hotsale.server.BackOfficeDistributionThread.onMessage(BackOfficeDistributionThread.java:452)
> at nl.serac.messenger.Messenger.onMessage(Messenger.java:92)
> at
nl.serac.messenger.SimpleServer.onMessage(SimpleServer.java:53)
> at nl.serac.messenger.JAXMService.onMessage(JAXMService.java:97)
> at javax.xml.messaging.JAXMServlet.doPost(Unknown Source)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
> at
> org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:366)
> at
>
org.mortbay.jetty.servlet.ServletHandler.dispatch(ServletHandler.java:677)
> at
> org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:581)
> at org.mortbay.http.HttpContext.handle(HttpContext.java:1687)
> at org.mortbay.http.HttpContext.handle(HttpContext.java:1637)
> at org.mortbay.http.HttpServer.service(HttpServer.java:875)
> at
org.mortbay.http.HttpConnection.service(HttpConnection.java:806)
> at
> org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:956)
> at
org.mortbay.http.HttpConnection.handle(HttpConnection.java:823)
> at
> org.mortbay.http.SocketListener.handleConnection(SocketListener.java:202)
> at
org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:290)
> at org.mortbay.util.ThreadPool$JobRunner.run(ThreadPool.java:743)
> at java.lang.Thread.run(Thread.java:595)
> Caused by: org.exolab.castor.jdo.PersistenceException: Nested error:
> java.sql.SQLException: ERROR: operator does not exist: character varying
> = numeric at character 408
> : ERROR: operator does not exist: character varying = numeric at
character
> 408
>
> at
>
org.exolab.castor.jdo.engine.SQLStatementStore.executeStatement(SQLStatementStore.java:333)
> at
org.exolab.castor.jdo.engine.SQLEngine.store(SQLEngine.java:323)
> at
> org.exolab.castor.persist.ClassMolder.store(ClassMolder.java:799)
> at
org.exolab.castor.persist.LockEngine.store(LockEngine.java:792)
> at
>
org.castor.persist.AbstractTransactionContext.prepareForCreate(AbstractTransactionContext.java:1247)
> at
>
org.castor.persist.AbstractTransactionContext.prepare(AbstractTransactionContext.java:1211)
> ... 24 more
> Caused by: java.sql.SQLException: ERROR: operator does not exist:
> character varying = numeric at character 408
>
> at
org.postgresql.core.QueryExecutor.execute(QueryExecutor.java:94)
> at org.postgresql.Connection.ExecSQL(Connection.java:398)
> at org.postgresql.jdbc2.Statement.execute(Statement.java:130)
> at
org.postgresql.jdbc2.Statement.executeUpdate(Statement.java:73)
> at
>
org.postgresql.jdbc2.PreparedStatement.executeUpdate(PreparedStatement.java:113)
> at
>
org.exolab.castor.jdo.engine.SQLStatementStore.executeStatement(SQLStatementStore.java:277)
> ... 29 more
> Caused by: org.exolab.castor.jdo.PersistenceException: Nested error:
> java.sql.SQLException: ERROR: operator does not exist: character varying
> = numeric at character 408
> : ERROR: operator does not exist: character varying = numeric at
character
> 408
>
> at
>
org.exolab.castor.jdo.engine.SQLStatementStore.executeStatement(SQLStatementStore.java:333)
>
> Kind regards,
>
> Ad
>
>
>
>
> Werner Guttmann
> <[EMAIL PROTECTED] To:
[email protected]
> .org> cc:
> Subject: Re:
[castor-user] castor and postgres 8.3
> 15-10-2008 08:47
> Please respond to
> user
>
>
>
>
>
> Hi Ad,
>
> can you show us a complete SQL statement that used to work with 8.1, but
> does not work with 8.3 anymore due to autocasting being not available
> anymore ?
>
> Regards
> Werner
>
> [EMAIL PROTECTED] wrote:
>> Ls,
>>
>> We are using postgrest 8.1 and castor 1.0 , but want to upgrade postgres
> to
>> 8.3.
>> We have done some test and the following errors occur.
>>
>> Caused by: java.sql.SQLException: ERROR: operator does not exist:
>> character varying = numeric at character 408
>>
>> This error is caused by postgres not autoCasting anymore.
>>
>> Is this a known problem with castor and has it already been solved.
>>
>> Kind regards,
>>
>>
>> Ad Kerremans
>>
>>
>>
>>
>>
>>
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe from this list, please visit:
>>
>> http://xircles.codehaus.org/manage_email
>>
>>
>
> ---------------------------------------------------------------------
> To unsubscribe from this list, please visit:
>
> http://xircles.codehaus.org/manage_email
>
>
>
>
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe from this list, please visit:
>
> http://xircles.codehaus.org/manage_email
>
---------------------------------------------------------------------
To unsubscribe from this list, please visit:
http://xircles.codehaus.org/manage_email
---------------------------------------------------------------------
To unsubscribe from this list, please visit:
http://xircles.codehaus.org/manage_email