<div dir="ltr">Hello,<br>We can consider the driver finished, this is a summary of the changes we need in Kexi<br><ul><li>Adding QString sid to ConnectionData and the GUI<br></li><li>In Connection::CreateDatabase adding check for oracle when checking if database exists:<br>
<br><span style="font-family: courier new,monospace;">if (databaseExists( dbName )&&!m_driver->name().compare("oracle")) {</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;"> setError(ERR_OBJECT_EXISTS, i18n("Database \"%1\" already exists.", dbName) );</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;"> return false;</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;"> }</span></li><li><span style="font-family: courier new,monospace;"><font face="arial,helvetica,sans-serif">I don't know if this is valid for all engines but in Oracle when creating tables NOT NULL clause must be the last one, but here it is after DEFAULT X so boolean type creation crashes, at least in case of Oracle the order of those two must be exchanged in Connection::CreateTableStatement:<br>
<br><span style="font-family: courier new,monospace;">if (field->defaultValue().isValid()) {</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;"> QString valToSQL( m_driver->valueToSQL( field, field->defaultValue() ) );</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;"> if (!valToSQL.isEmpty()) //for sanity</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;"> v += QString::fromLatin1(" DEFAULT ") + valToSQL;</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;"> }</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;"> if (!autoinc && !pk && field->isNotNull())</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;"> v += " NOT NULL"; //only add not null option if no autocommit is set</span><br><br></font></span></li></ul>For the moment when kexi doesnt hang or does something strange the driver can:<br>
<br>Create a Connection on a remote server (hasn't been proved on localhost)<br>Create a project in the database an open it<br>
Create tables insert data (exept dates and Objects) and simple querys<br><br>Kexi has a strange behaviour in these cases<br><ul><li><u>Creating a Connection</u>: If you press Test Connection the driver returns true (if data provided was correct) but kexi hangs.<br>
</li><li><u>DDL</u>:<br>
-If a table hasn't got Pk you cannot modify a row, kexi complains<br>
-If you try to redefine a field or add a new column sometimes kexi hangs before passing the statement to oracle<br>
- Drop table and execute script do nothing<br>
- Date type is always '' (empty) string<br>-File navigator of Object type columns gets only the extension of the files<br></li></ul>We think these are kexi errors of the developement version, if not, please notify me so we can try to guess what's wrong ^^<br>
<br>Regards,<br>Julia<br><br>
<br>
</div>