[QFJ-199] Add support for Oracle databases Created: 15/Jun/07 Updated: 28/Nov/07 Resolved: 28/Jun/07 |
|
Status: | Closed |
Project: | QuickFIX/J |
Component/s: | None |
Affects Version/s: | 1.1.0 |
Fix Version/s: | 1.2.0 |
Type: | Improvement | Priority: | Critical |
Reporter: | Jörg Thönnes | Assignee: | Jörg Thönnes |
Resolution: | Fixed | Votes: | 0 |
Labels: | None | ||
Environment: |
JDBC |
Description |
If the SessionQualifier is not used, it is left as an empty string. Some database, e.g. Oracle, treat the empty string as a null value which is not allowed for the SessionQualifier column. Therefore, I suggest to use a string with exactly one space instead of an empty string if the SessionQualifier is not set. Steve, what do you think? |
Comments |
Comment by Steve Bate [ 15/Jun/07 ] |
We currently don't have any Oracle SQL files for QFJ. Why can't we create those and allow null values for qualifier column? Are there other issues? |
Comment by Jörg Thönnes [ 15/Jun/07 ] |
(In reply to comment #1) Actually, I plan to add them soon. We now have an Oracle 10g Express installation here. > Why can't we create those If the qualifier column is part of the primary key, the non-null constraint is automatically set. |
Comment by Jörg Thönnes [ 15/Jun/07 ] |
To summarize: If you confirm that the session qualifier is not needed as part of the primary key, Is there any specific reason why the session qualifier must be part of the primary key? |
Comment by Steve Bate [ 15/Jun/07 ] |
Technically, it is part of the primary key. That's probably why the QF SessionID has "" instead of null for the default values. I think we should document this limitation of Oracle (treating "" as NULL) and suggest always using a session qualifier with Oracle rather than changing code related to all the other databases. |
Comment by Jörg Thönnes [ 16/Jun/07 ] |
OK, I will add a comment to configuration.html. |
Comment by Wolfgang Grinfeld [ 28/Nov/07 ] |
On version 1.3.0, the application still has trouble with Oracle JDBC Store: It crashes with the error: java.lang.RuntimeException: java.sql.SQLException: ORA-01400: cannot insert NULL into ("WLGRINFELD" A workaround I thought possible follows: drop index I_Messages; drop index I_Sessions; |