Hi Werner
I also remember this postgreSQL issue we discussed on mailing list.
Problem is that we only changed Castor release from 1.2 to 1.3RC1 and
back. No changes in JDBC drivers or anything else. Therefore the failing
query is caused by a change at Castor between this 2 releases.
Until now I have been able to reproduce the issue with a test case
against the original oracle table. Will continue with a separate test
table next. After that I'll try to reproduce things with mysql also.
Ralf
Werner Guttmann schrieb:
> Hmm, isn't this similar to what we have seen recently with postgreSQL
> where postgreSQL internally changed to disable auto-casts during SQL
> queries ?
>
> And yes, I am more than happy to not ship 1.3 this week.
>
> Werner
>
> [EMAIL PROTECTED] wrote:
>
>> Hi devs,
>>
>> changing from 1.2 to 1.3RC1 release of Castor we recognized the following
>> failure. As I'm out off office at the moment I can not verify this now but
>> will look into it on friday. In my opinon this would be a critical problem
>> that need to resolved before 1.3GA.
>>
>> Regards
>> Ralf
>>
>>
>> Hi Ralf,
>>
>> mit dem neuen Castor-Release 1.3 scheint es noch ein Problem zu geben.
>> Folgende Abfrage schlägt seit dem Wechsel fehl:
>>
>> private Date _loadDate;
>>
>> String oql = "select t from " + RtSord.class.getName() + " t " +
>> " where t.loadDate=$1";
>> Query qry = _promisDb.getOQLQuery(oql);
>> qry.bind(_loadDate);
>> QueryResults qrs = qry.execute(AccessMode.ReadOnly);
>>
>>
>> Das sieht dann wie folgt aus:
>>
>> org.exolab.castor.jdo.PersistenceException: Nested error:
>> java.sql.SQLException: Ungültiger Spaltentyp while executing SELECT
>> "RT_SORD"."PARTNAME","RT_SORD"
>> ."LOADDATE","RT_SORD"."ORIGDATEREQD","RT_SORD"."CUSTORDERNUMBER" FROM
>> "RT_SORD" WHERE ("RT_SORD"."LOADDATE" = ?1): Ungültiger Spaltentyp
>> at org.exolab.castor.jdo.engine.SQLQuery.execute(SQLQuery.java:218)
>> at
>> org.castor.persist.AbstractTransactionContext.query(AbstractTransactionContext.j
>> ava:679)
>> at
>> org.exolab.castor.jdo.engine.OQLQueryImpl.execute(OQLQueryImpl.java:503)
>> at
>> org.exolab.castor.jdo.engine.OQLQueryImpl.execute(OQLQueryImpl.java:465)
>> at
>> de.jsci.apkon.promis.PromisOrdersHelper.loadRtSord(PromisOrdersHelper.java:242)
>>
>> at
>> de.jsci.apkon.promis.PromisOrdersHelper.load(PromisOrdersHelper.java:217)
>> at
>> de.jsci.apkon.adas.AbrufeAdapter.synchronize(AbrufeAdapter.java:400)
>> at
>> de.jsci.apkon.adas.AbrufeAdapter.synchronize(AbrufeAdapter.java:327)
>> at de.jsci.apkon.adas.AbrufeAdapter.execute(AbrufeAdapter.java:293)
>> at de.jsci.cron.CronTask.run(CronTask.java:266)
>> at de.jsci.cron.CronThread.mainLoop(CronThread.java:138)
>> at de.jsci.cron.CronThread.run(CronThread.java:81)
>> Caused by: java.sql.SQLException: Ungültiger Spaltentyp
>> at
>> oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
>> at
>> oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:146)
>> at
>> oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:208)
>> at
>> oracle.jdbc.driver.OraclePreparedStatement.setObjectCritical(OraclePreparedState
>> ment.java:9209)
>> at
>> oracle.jdbc.driver.OraclePreparedStatement.setObjectInternal(OraclePreparedState
>> ment.java:8790)
>> at
>> oracle.jdbc.driver.OraclePreparedStatement.setObjectInternal(OraclePreparedState
>> ment.java:9512)
>> at
>> oracle.jdbc.driver.OraclePreparedStatement.setObject(OraclePreparedStatement.jav
>> a:9495)
>> at
>> org.exolab.castor.jdo.engine.SqlBindParser.bindJdbcValues(SqlBindParser.java:261
>> )
>> at org.exolab.castor.jdo.engine.SQLQuery.execute(SQLQuery.java:196)
>> ... 11 more
>>
>>
>> Das zugehörige Mapping sieht so aus:
>>
>> <class name="de.jsci.apkon.promis.entity.RtSord">
>> <description>RT_SORD from PROMIS</description>
>> <cache-type type="none"/>
>> <map-to table="RT_SORD"/>
>> <field name="partName" type="string" identity="true">
>> <sql name="PARTNAME" type="varchar"/>
>> </field>
>> <field name="loadDate" type="date" identity="true">
>> <sql name="LOADDATE" type="date"/>
>> </field>
>> <field name="requestDate" type="date" identity="true">
>> <sql name="ORIGDATEREQD" type="date"/>
>> </field>
>> <field name="orderNumberText" type="string">
>> <sql name="CUSTORDERNUMBER" type="varchar"/>
>> </field>
>> </class>
>>
>>
>> Also, kannst du mir erklären was hier los ist?
>>
>> Mit freundlichen Grüßen / Best regards
>> Jens Joachim
>> - Geschäftsführer / Managing Director -
>>
>> Syscon Ingenieurbüro für Mess- und Datentechnik GmbH
>> Raiffeisenstr. 11, D-72127 Kusterdingen
>> Internet: syscon.eu
>> E-Mail: [EMAIL PROTECTED]
>> Tel.: +49 (70 71) 36 90-51
>> Fax: +49 (70 71) 36 90-98
>>
>> Sitz der Gesellschaft: D-72127 Kusterdingen
>> Registereintrag: Amtsgericht Stuttgart, HRB 382295
>> Geschäftsleitung: Jens Joachim, Ralf Joachim
>>
>> ---------------------------------------------------------------------
>> 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
>
>
--
Syscon Ingenieurbüro für Meß- und Datentechnik GmbH
Ralf Joachim
Raiffeisenstraße 11
72127 Kusterdingen
Germany
Tel. +49 7071 3690 52
Mobil: +49 173 9630135
Fax +49 7071 3690 98
Internet: www.syscon.eu
E-Mail: [EMAIL PROTECTED]
Sitz der Gesellschaft: D-72127 Kusterdingen
Registereintrag: Amtsgericht Stuttgart, HRB 382295
Geschäftsleitung: Jens Joachim, Ralf Joachim