Hi Karl, I have played a little bit with the Session and DIO package together with MySQL and Oracle database.
There were some problems, where I have made some modifications to the packages to have them working now. MySQL and/or Oracle have problems with database table field names "key" and "package". I have them renamed to "key_" and "package_". MySQL and Oracle do not know the special token "now". To avoid that and to have the possibility to have special handling for some database fields I have added a method registerSpecialField and makeDBFieldValue to dio.tcl and dio_Mysql.tcl. For other database interfaces than MySQL they do not harm, in the "normal" case they just do, what the code did before. For that I have replace every occurance of "'[quote $val]'" by a call "[makeDBFieldValue $myTable $field $val]". In Module dio.tcl makeDBFieldvalue just returns "'[quote $val]'", same in dio_Mysql.tcl, if no special type is registered. For each table/field combination a special type can be registered using registerSpecialField. I have added the following types for dio_Mysql: - DATE - DATETIME They handle the special syntax for the date fields. DATETIME also looks if it is the special string "now" and handles that appropriate. makeDBFieldValue is extensible for other special cases. I have also prepared the create-/delete scripts for MySQL and Oracle for the session tables. I have tested in my environment with MySQL and it is working now. For Oracle the tables can be created and I am preparing a dio_Oracle.tcl module which is working together with oratcl. There were also some modifications for the md5 call because I had some problems if the key started with a "-" sign and I also use the newer -hex option to avoid problems in sending the session id as cookie (otherwise you get a binary key back). If you are interested to integrate these changes into the official version, please let me know (I used rivet0.7.0 windows) for my changes. Cheers, Arnulf --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
