Thanks, seems to have been an old bug in dbdate_cast(). Fixed.
/ Henrik Grubbström (Lysator)
Previous text:
2004-08-31 13:46: Subject: oracle problem with columns of type DATE
as already posted on the roxen list last week, there is still a problem with oracle support in "recent" pike (7.4 and up, i guess) and therefore its not possible using roxen 4 with oracle. (yes i have upgraded to Pike v7.4 release 139, which fixed an oracle bug).
i have eg. a table 'technologien'
Name Null? Type
TECH_VALUE NOT NULL VARCHAR2(120) TECH_DESC VARCHAR2(1000) CR_DATE DATE CR_BY VARCHAR2(10) LANG_LANG_ID NOT NULL NUMBER(10) MOD_DATE DATE MOD_BY VARCHAR2(10) TECH_TYP_TECH_TYP_ID NOT NULL NUMBER(10) TECH_ID NOT NULL NUMBER(10)
if i make a query, eg. SELECT * FROM technologien i get an error
Cast failed, wanted string, got int
according to the backtrace it seems that colums of type DATE make a problem with the argument type in compat_convert(). all other types (at least those we use) do work fine.
Pike backtrace
- /usr/local/pike/7.4.139/lib/modules/Oracle.pmod:60 Sql.oracle()->big_query()->compat_convert(30-NOV-99)
- /usr/local/pike/7.4.139/lib/modules/Oracle.pmod:68 Sql.oracle()->big_query()->fetch_row()
- /usr/local/pike/7.4.139/lib/modules/Sql.pmod/sql_result.pike:118 (version 1.11) Sql.sql_result()->fetch_row()
- modules/database/sqltag.pike:294 (version 1.102) RoxenModule(nw-test/sqltag#0)->SqlEmitResponse()->really_get_row()
- base_server/emit_object.pike:61 RoxenModule(nw-test/sqltag#0)->SqlEmitResponse()->get_row()
[...]
/ Michael J. Stenitzer