[OpenSER-Devel] oracle schema, VARCHAR fields NOT NULL
Henning Westerholt
henning.westerholt at 1und1.de
Wed Apr 23 17:15:32 CEST 2008
Hi all,
another issue (hopefully the last) that Iouri and i noticed during our work on
db_oracle: The actual db schemes defines most of the VARCHAR colums as
"DEFAULT '' NOT NULL".
As a default value is defined, this NOT NULL is not really useful, it only
specify that the colum can't be set explicit to NULL. There is no
infrastructure in the core available for this at the moment, and the control
scripts uses this only for the RPID value.
This causes a problem for the db_oracle module. For Oracle are VARCHAR[,2]
NULL values and the empty string ('') equivalent (don't ask me why). Thus
most of the insert statement, e.g. in the control scripts fails for string
values, because oracle think that they want to insert NULL into the column,
and this is not allowed.
Are this NOT NULL defines actually needed if an default value is specified?
Its is possible to remove this completly for the string values, or perhaps
even for all values with an given default?
Sure, it would be possible to remove this clause only for the oracle driver,
but as they are generated from a common XSL file (sql.xsl) i'd be necessary
to duplicate this functionality. And if this stuff is not actually useful, it
would also allow to cleanup the generated schemes somewhat.
Best regards,
Henning
More information about the Devel
mailing list