Index: openacs-4/packages/acs-core-docs/www/db-api-detailed.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/db-api-detailed.adp,v diff -u -N -r1.5 -r1.6 --- openacs-4/packages/acs-core-docs/www/db-api-detailed.adp 25 Apr 2018 08:38:27 -0000 1.5 +++ openacs-4/packages/acs-core-docs/www/db-api-detailed.adp 12 Feb 2019 17:12:18 -0000 1.6 @@ -332,22 +332,6 @@ # null, because Oracle has coerced the empty string (even for the # numeric column "bar") into null in both cases -
Since databases other than Oracle do not coerce empty strings
-into null
, this code has
-different semantics depending on the underlying database (i.e., the
-row that gets inserted may not have null as its column values),
-which defeats the purpose of SQL abstraction.
Therefore, the Database Access API provides a
-database-independent way to represent null
(instead of the Oracle-specific idiom
-of the empty string): db_null
.
Use it instead of the empty string whenever you want to set a
-column value explicitly to null
, e.g.:
- -set bar [db_null] -set baz [db_null] - -db_dml foo_create {insert into foo(bar, baz) values(:bar, :baz)} -# -# sets the values for both the "bar" and "baz" columns to null -