Index: openacs-4/packages/acs-admin/www/apm/package-add-2.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-admin/www/apm/package-add-2.tcl,v diff -u -r1.18 -r1.19 --- openacs-4/packages/acs-admin/www/apm/package-add-2.tcl 4 Apr 2018 08:11:26 -0000 1.18 +++ openacs-4/packages/acs-admin/www/apm/package-add-2.tcl 12 Feb 2019 17:12:18 -0000 1.19 @@ -24,8 +24,8 @@ version_id:naturalnum { owner_name:multiple } { owner_uri:multiple} - { vendor [db_null] } - { vendor_uri [db_null] } + { vendor ""} + { vendor_uri ""} { install_p:boolean 0 } {implements_subsite_p:boolean "f"} {inherit_templates_p:boolean "f"} Index: openacs-4/packages/acs-admin/www/apm/parameter-add-2.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-admin/www/apm/parameter-add-2.tcl,v diff -u -r1.14 -r1.15 --- openacs-4/packages/acs-admin/www/apm/parameter-add-2.tcl 16 May 2018 17:08:51 -0000 1.14 +++ openacs-4/packages/acs-admin/www/apm/parameter-add-2.tcl 12 Feb 2019 17:12:18 -0000 1.15 @@ -13,7 +13,7 @@ description:notnull,nohtml datatype:notnull scope:notnull - {default_value [db_null]} + {default_value ""} {min_n_values:integer 1} {max_n_values:integer 1} } -validate { Index: openacs-4/packages/acs-admin/www/apm/parameter-edit-2.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-admin/www/apm/parameter-edit-2.tcl,v diff -u -r1.12 -r1.13 --- openacs-4/packages/acs-admin/www/apm/parameter-edit-2.tcl 16 May 2018 17:08:51 -0000 1.12 +++ openacs-4/packages/acs-admin/www/apm/parameter-edit-2.tcl 12 Feb 2019 17:12:18 -0000 1.13 @@ -12,7 +12,7 @@ section_name description:notnull,nohtml datatype:notnull - {default_value [db_null]} + {default_value ""} {min_n_values:integer 1} {max_n_values:integer 1} } -validate { Index: openacs-4/packages/acs-authentication/tcl/authentication-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-authentication/tcl/authentication-procs.tcl,v diff -u -r1.114 -r1.115 --- openacs-4/packages/acs-authentication/tcl/authentication-procs.tcl 30 Jan 2019 22:12:34 -0000 1.114 +++ openacs-4/packages/acs-authentication/tcl/authentication-procs.tcl 12 Feb 2019 17:12:18 -0000 1.115 @@ -1096,18 +1096,6 @@ set user_id [db_nextval acs_object_id_seq] } - if { $password_question eq "" } { - set password_question [db_null] - } - - if { $password_answer eq "" } { - set password_answer [db_null] - } - - if { $url eq "" } { - set url [db_null] - } - set creation_user "" set peeraddr "" 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 -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
-
 

@@ -707,4 +691,4 @@ Requirements" homeLink="index" homeLabel="Home" upLink="kernel-doc" upLabel="Up"> - \ No newline at end of file + Index: openacs-4/packages/acs-core-docs/www/db-api-detailed.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/db-api-detailed.html,v diff -u -r1.52 -r1.53 --- openacs-4/packages/acs-core-docs/www/db-api-detailed.html 25 Apr 2018 08:38:27 -0000 1.52 +++ openacs-4/packages/acs-core-docs/www/db-api-detailed.html 12 Feb 2019 17:12:18 -0000 1.53 @@ -482,36 +482,9 @@ -

-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
-
-
- - - -

SQL Abstraction

Index: openacs-4/packages/acs-core-docs/www/db-api.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/db-api.adp,v diff -u -r1.5 -r1.6 --- openacs-4/packages/acs-core-docs/www/db-api.adp 24 May 2018 06:54:57 -0000 1.5 +++ openacs-4/packages/acs-core-docs/www/db-api.adp 12 Feb 2019 17:12:18 -0000 1.6 @@ -216,19 +216,7 @@ # 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
+

@@ -332,12 +320,6 @@

Technically it's equivalent to using a code block on the end of your db_multirow.

-db_null
-
db_null

Returns a value which can be used in a bind variable to -represent the SQL value null. -See Nulls and Bind Variables -above.

-
db_foreach
 db_foreach statement-name sql [ -bind bind_set_id | -bind bind_value_list ] \
@@ -615,4 +597,4 @@
 			rightLink="templates" rightLabel="Next" rightTitle="Using Templates in OpenACS"
 			homeLink="index" homeLabel="Home" 
 			upLink="dev-guide" upLabel="Up"> 
-		    
\ No newline at end of file
+		    
Index: openacs-4/packages/acs-core-docs/www/db-api.html
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/db-api.html,v
diff -u -r1.53 -r1.54
--- openacs-4/packages/acs-core-docs/www/db-api.html	25 Apr 2018 08:38:27 -0000	1.53
+++ openacs-4/packages/acs-core-docs/www/db-api.html	12 Feb 2019 17:12:18 -0000	1.54
@@ -339,27 +339,6 @@
 # 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

@@ -545,25 +524,6 @@

Technically it's equivalent to using a code block on the end of your db_multirow.

-
- - - db_null - - - -
-
-db_null
-	  
- -

- Returns a value which can be used in a bind variable - to represent the SQL value - null. - See Nulls and - Bind Variables above. -

Index: openacs-4/packages/acs-core-docs/www/xml/developers-guide/db-api.xml =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/xml/developers-guide/db-api.xml,v diff -u -r1.17 -r1.18 --- openacs-4/packages/acs-core-docs/www/xml/developers-guide/db-api.xml 30 Sep 2018 15:53:28 -0000 1.17 +++ openacs-4/packages/acs-core-docs/www/xml/developers-guide/db-api.xml 12 Feb 2019 17:12:18 -0000 1.18 @@ -366,27 +366,6 @@ # 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 @@ -590,31 +569,6 @@ - db_null - - - - - - - -db_null - - - - Returns a value which can be used in a bind variable - to represent the SQL value - null. - See Nulls and - Bind Variables above. - - - - - - - - db_foreach Index: openacs-4/packages/acs-core-docs/www/xml/kernel/db-api.xml =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/xml/kernel/db-api.xml,v diff -u -r1.12 -r1.13 --- openacs-4/packages/acs-core-docs/www/xml/kernel/db-api.xml 7 Aug 2017 23:47:55 -0000 1.12 +++ openacs-4/packages/acs-core-docs/www/xml/kernel/db-api.xml 12 Feb 2019 17:12:18 -0000 1.13 @@ -515,36 +515,8 @@ - -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 - - - - - - Index: openacs-4/packages/acs-lang/tcl/lang-message-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-lang/tcl/lang-message-procs.tcl,v diff -u -r1.68 -r1.69 --- openacs-4/packages/acs-lang/tcl/lang-message-procs.tcl 6 Dec 2018 20:06:00 -0000 1.68 +++ openacs-4/packages/acs-lang/tcl/lang-message-procs.tcl 12 Feb 2019 17:12:18 -0000 1.69 @@ -287,7 +287,7 @@ [list deleted_p t \ upgrade_status no_upgrade \ conflict_p f \ - sync_time [db_null] \ + sync_time "" \ ] } Index: openacs-4/packages/acs-mail/tcl/acs-mail-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-mail/tcl/acs-mail-procs.tcl,v diff -u -r1.12 -r1.13 --- openacs-4/packages/acs-mail/tcl/acs-mail-procs.tcl 24 Apr 2018 14:28:55 -0000 1.12 +++ openacs-4/packages/acs-mail/tcl/acs-mail-procs.tcl 12 Feb 2019 17:12:18 -0000 1.13 @@ -71,18 +71,11 @@ {-creation_ip ""} {-content:required} {-content_type:required} - {-nls_language} - {-searchable_p} + {-nls_language ""} + {-searchable_p "f"} } { Create a cr_item, cr_revision and set it live. Utility function. } { - if ![info exists nls_language] { - set nls_language [db_null] - } - if ![info exists searchable_p] { - set searchable_p "f" - } - set item_id [db_exec_plsql insert_new_content " begin return content_item__new( @@ -124,18 +117,11 @@ {-creation_ip ""} {-content_file:required} {-content_type:required} - {-nls_language} - {-searchable_p} + {-nls_language ""} + {-searchable_p "t"} } { Set the acs_contents info for an object. Utility function. } { - if ![info exists nls_language] { - set nls_language [db_null] - } - if ![info exists searchable_p] { - set searchable_p "t" - } - set item_id [db_exec_plsql insert_new_content " begin return content_item__new( Index: openacs-4/packages/acs-tcl/tcl/apm-install-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-tcl/tcl/apm-install-procs.tcl,v diff -u -r1.126 -r1.127 --- openacs-4/packages/acs-tcl/tcl/apm-install-procs.tcl 25 Nov 2018 02:40:16 -0000 1.126 +++ openacs-4/packages/acs-tcl/tcl/apm-install-procs.tcl 12 Feb 2019 17:12:18 -0000 1.127 @@ -1086,13 +1086,6 @@ } { upvar $array local_array - if { $version_id eq "" } { - set version_id [db_null] - } - if { $release_date eq "" } { - set release_date [db_null] - } - set version_id [db_exec_plsql version_insert {}] apm::package_version::attributes::store \ @@ -1553,14 +1546,6 @@ Register the package in the system. } { - if { $spec_file_path eq "" } { - set spec_file_path [db_null] - } - - if { $spec_file_mtime eq "" } { - set spec_file_mtime [db_null] - } - if { $package_type eq "apm_application" } { db_exec_plsql application_register {} } elseif { $package_type eq "apm_service" } { @@ -1580,10 +1565,6 @@ } { upvar $array local_array - if { $release_date eq "" } { - set release_date [db_null] - } - set version_id [db_exec_plsql apm_version_update {}] apm::package_version::attributes::store \ Index: openacs-4/packages/acs-tcl/tcl/apm-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-tcl/tcl/apm-procs.tcl,v diff -u -r1.114 -r1.115 --- openacs-4/packages/acs-tcl/tcl/apm-procs.tcl 11 Feb 2019 11:50:04 -0000 1.114 +++ openacs-4/packages/acs-tcl/tcl/apm-procs.tcl 12 Feb 2019 17:12:18 -0000 1.115 @@ -1060,10 +1060,6 @@ } { @return The parameter id that has been updated. } { - if {$section_name eq ""} { - set section_name [db_null] - } - db_dml parameter_update { update apm_parameters set parameter_name = :parameter_name, @@ -1106,14 +1102,6 @@ @return The parameter id of the new parameter. } { - if {$parameter_id eq ""} { - set parameter_id [db_null] - } - - if {$section_name eq ""} { - set section_name [db_null] - } - ns_log debug "apm_parameter_register: Registering $parameter_name, $section_name, $default_value" set parameter_id [db_exec_plsql parameter_register {}] @@ -1168,11 +1156,6 @@ Add a dependency to a version. @return The id of the new dependency. } { - - if {$dependency_id eq ""} { - set dependency_id [db_null] - } - return [db_exec_plsql dependency_add {}] } @@ -1195,11 +1178,6 @@ Add a interface to a version. @return The id of the new interface. } { - - if {$interface_id eq ""} { - set interface_id [db_null] - } - return [db_exec_plsql interface_add {}] } @@ -1836,10 +1814,6 @@ } } - if { $package_id eq "" } { - set package_id [db_null] - } - set package_id [db_exec_plsql invoke_new {}] apm_parameter_sync $package_key $package_id Index: openacs-4/packages/acs-tcl/tcl/install-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-tcl/tcl/install-procs.tcl,v diff -u -r1.35 -r1.36 --- openacs-4/packages/acs-tcl/tcl/install-procs.tcl 11 Jun 2018 09:14:55 -0000 1.35 +++ openacs-4/packages/acs-tcl/tcl/install-procs.tcl 12 Feb 2019 17:12:18 -0000 1.36 @@ -291,9 +291,7 @@ set context_id [apm_attribute_value -default "" $node context-id] set security_inherit_p [apm_attribute_value -default "t" $node security-inherit-p] - if {$context_id eq ""} { - set context_id [db_null] - } else { + if {$context_id ne ""} { set context_id [install::xml::util::get_id $context_id] } Index: openacs-4/packages/acs-tcl/tcl/membership-rel-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-tcl/tcl/membership-rel-procs.tcl,v diff -u -r1.11 -r1.12 --- openacs-4/packages/acs-tcl/tcl/membership-rel-procs.tcl 17 Jan 2019 17:02:00 -0000 1.11 +++ openacs-4/packages/acs-tcl/tcl/membership-rel-procs.tcl 12 Feb 2019 17:12:18 -0000 1.12 @@ -53,7 +53,7 @@ if { [ad_conn isconnected] } { set user_id [ad_conn user_id] } else { - set user_id [db_null] + set user_id "" } db_dml update_modifying_user {} } Index: openacs-4/packages/assessment/tcl/as-qti-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/assessment/tcl/as-qti-procs.tcl,v diff -u -r1.50 -r1.51 --- openacs-4/packages/assessment/tcl/as-qti-procs.tcl 7 Aug 2017 23:48:03 -0000 1.50 +++ openacs-4/packages/assessment/tcl/as-qti-procs.tcl 12 Feb 2019 17:12:18 -0000 1.51 @@ -849,14 +849,14 @@ set selected_p f set as_item_choices__ident [$response_label getAttribute {ident}] set mattextNodes [$response_label selectNodes {material/mattext}] - set as_item_choices__choice_text [db_null] + set as_item_choices__choice_text "" # get the title of each choice foreach mattext $mattextNodes { set as_item_choices__choice_text [as::qti::mattext_gethtml $mattext] } # for multimedia items set matmediaNodes [$response_label selectNodes {material/matimage[@uri]}] - set as_item_choices__content_value [db_null] + set as_item_choices__content_value "" foreach matmedia $matmediaNodes { set mediabasepath [file join $basepath [$matmedia getAttribute {uri}]] # insert as_file in the CR (and in the as_file table) getting the content value Index: openacs-4/packages/calendar-portlet/www/calendar-full-portlet.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/calendar-portlet/www/calendar-full-portlet.tcl,v diff -u -r1.46 -r1.47 --- openacs-4/packages/calendar-portlet/www/calendar-full-portlet.tcl 17 Jul 2018 13:32:18 -0000 1.46 +++ openacs-4/packages/calendar-portlet/www/calendar-full-portlet.tcl 12 Feb 2019 17:12:18 -0000 1.47 @@ -64,7 +64,7 @@ if {[apm_package_installed_p dotlrn]} { set site_node [site_node::get_node_id_from_object_id -object_id [ad_conn package_id]] set dotlrn_package_id [site_node::closest_ancestor_package -node_id $site_node -package_key dotlrn -include_self] - set community_id [db_string get_community_id {select community_id from dotlrn_communities_all where package_id=:dotlrn_package_id} -default [db_null]] + set community_id [db_string get_community_id {select community_id from dotlrn_communities_all where package_id=:dotlrn_package_id} -default ""] } else { set community_id "" } Index: openacs-4/packages/categories/tcl/categories-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/categories/tcl/categories-procs.tcl,v diff -u -r1.38 -r1.39 --- openacs-4/packages/categories/tcl/categories-procs.tcl 18 Sep 2018 18:28:55 -0000 1.38 +++ openacs-4/packages/categories/tcl/categories-procs.tcl 12 Feb 2019 17:12:19 -0000 1.39 @@ -160,7 +160,7 @@ ad_proc -public category::change_parent { -category_id:required -tree_id:required - {-parent_id [db_null]} + {-parent_id ""} } { Changes parent category of a category. @option category_id category_id whose parent should change. Index: openacs-4/packages/categories/www/cadmin/category-form.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/categories/www/cadmin/category-form.tcl,v diff -u -r1.14 -r1.15 --- openacs-4/packages/categories/www/cadmin/category-form.tcl 29 Jun 2018 17:27:18 -0000 1.14 +++ openacs-4/packages/categories/www/cadmin/category-form.tcl 12 Feb 2019 17:12:19 -0000 1.15 @@ -6,7 +6,7 @@ } { tree_id:naturalnum,notnull category_id:naturalnum,optional - {parent_id:naturalnum,optional [db_null]} + {parent_id:naturalnum,optional ""} {locale ""} object_id:naturalnum,optional ctx_id:naturalnum,optional Index: openacs-4/packages/categories/www/cadmin/category-parent-change-2.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/categories/www/cadmin/category-parent-change-2.tcl,v diff -u -r1.6 -r1.7 --- openacs-4/packages/categories/www/cadmin/category-parent-change-2.tcl 29 Jun 2018 17:27:18 -0000 1.6 +++ openacs-4/packages/categories/www/cadmin/category-parent-change-2.tcl 12 Feb 2019 17:12:19 -0000 1.7 @@ -7,7 +7,7 @@ } { tree_id:naturalnum,notnull category_id:naturalnum,notnull - {parent_id:naturalnum,optional [db_null]} + {parent_id:naturalnum,optional ""} {locale ""} object_id:naturalnum,optional ctx_id:naturalnum,optional Index: openacs-4/packages/content-portlet/misc/admin/category-add-edit.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/content-portlet/misc/admin/category-add-edit.tcl,v diff -u -r1.2 -r1.3 --- openacs-4/packages/content-portlet/misc/admin/category-add-edit.tcl 15 Aug 2018 16:43:08 -0000 1.2 +++ openacs-4/packages/content-portlet/misc/admin/category-add-edit.tcl 12 Feb 2019 17:12:19 -0000 1.3 @@ -11,7 +11,7 @@ name:notnull category_id:integer,optional return_url:optional - {parent_id:integer,optional [db_null]} + {parent_id:integer,optional ""} {language "es_GT"} {mode 1} Index: openacs-4/packages/content-portlet/tcl/content-portlet-compare-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/content-portlet/tcl/content-portlet-compare-procs.tcl,v diff -u -r1.5 -r1.6 --- openacs-4/packages/content-portlet/tcl/content-portlet-compare-procs.tcl 15 Aug 2018 16:43:08 -0000 1.5 +++ openacs-4/packages/content-portlet/tcl/content-portlet-compare-procs.tcl 12 Feb 2019 17:12:19 -0000 1.6 @@ -372,7 +372,7 @@ set user_id [ad_conn user_id] } set description "New unit for content" - set parent_id [db_null] + set parent_id "" set unit_id [category::add -tree_id $tree_id \ -parent_id $parent_id \ -locale $language \ Index: openacs-4/packages/ecommerce/www/admin/products/delete-2.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/ecommerce/www/admin/products/delete-2.tcl,v diff -u -r1.5 -r1.6 --- openacs-4/packages/ecommerce/www/admin/products/delete-2.tcl 8 Mar 2004 19:46:14 -0000 1.5 +++ openacs-4/packages/ecommerce/www/admin/products/delete-2.tcl 12 Feb 2019 17:12:19 -0000 1.6 @@ -122,9 +122,6 @@ set user_class_id_list [list] set user_class_price_list [list] db_foreach user_class_select "select user_class_id, price from ec_product_user_class_prices where product_id=:product_id" { - if { [empty_string_p $price] } { - set price [db_null] - } lappend user_class_id_list $user_class_id lappend user_class_price_list $price } Index: openacs-4/packages/forums/tcl/forums-callback-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/forums/tcl/forums-callback-procs.tcl,v diff -u -r1.12 -r1.13 --- openacs-4/packages/forums/tcl/forums-callback-procs.tcl 10 Jul 2018 10:20:32 -0000 1.12 +++ openacs-4/packages/forums/tcl/forums-callback-procs.tcl 12 Feb 2019 17:12:19 -0000 1.13 @@ -209,7 +209,7 @@ title $message(subject) \ content $combined_content \ relevant_date $relevant_date \ - community_id [db_null] \ + community_id "" \ keywords {} \ storage_type text \ mime text/plain \ Index: openacs-4/packages/logger/tcl/util-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/logger/tcl/util-procs.tcl,v diff -u -r1.5 -r1.6 --- openacs-4/packages/logger/tcl/util-procs.tcl 10 Jun 2005 20:14:40 -0000 1.5 +++ openacs-4/packages/logger/tcl/util-procs.tcl 12 Feb 2019 17:12:19 -0000 1.6 @@ -32,7 +32,7 @@ } else { foreach variable_name $variable_names { upvar $variable_name $variable_name - set $variable_name [db_null] + set $variable_name "" } } } Index: openacs-4/packages/logger/tcl/variable-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/logger/tcl/variable-procs.tcl,v diff -u -r1.11 -r1.12 --- openacs-4/packages/logger/tcl/variable-procs.tcl 15 Jan 2007 07:20:34 -0000 1.11 +++ openacs-4/packages/logger/tcl/variable-procs.tcl 12 Feb 2019 17:12:19 -0000 1.12 @@ -42,7 +42,7 @@ if { $pre_installed_p } { # Pre-installed vars are not associated with any particular package - set package_id [db_null] + set package_id "" } set variable_id [db_exec_plsql insert_variable {}] Index: openacs-4/packages/news/tcl/test/news-db-test-init.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/news/tcl/test/news-db-test-init.tcl,v diff -u -r1.18 -r1.19 --- openacs-4/packages/news/tcl/test/news-db-test-init.tcl 20 Oct 2018 11:55:29 -0000 1.18 +++ openacs-4/packages/news/tcl/test/news-db-test-init.tcl 12 Feb 2019 17:12:19 -0000 1.19 @@ -171,10 +171,10 @@ set p_approval_date [dt_sysdate] set p_archive_date [dt_sysdate] } else { - set p_approval_user [db_null] - set p_approval_ip [db_null] - set p_approval_date [db_null] - set p_archive_date [db_null] + set p_approval_user "" + set p_approval_ip "" + set p_approval_date "" + set p_archive_date "" } set news_id [db_exec_plsql item-create { begin @@ -235,10 +235,10 @@ set p_approval_date [dt_sysdate] set p_archive_date [dt_sysdate] } else { - set p_approval_user [db_null] - set p_approval_ip [db_null] - set p_approval_date [db_null] - set p_archive_date [db_null] + set p_approval_user "" + set p_approval_ip "" + set p_approval_date "" + set p_archive_date "" } set revision_id [db_exec_plsql revision-create { begin @@ -1041,7 +1041,7 @@ # set p_news_id $news_id aa_call_component db-get-cr-news-row - aa_equals "Check the archive_date is null" $archive_date [db_null] + aa_equals "Check the archive_date is null" $archive_date "" # # Set the archive period, providing an explicit archive date. @@ -1162,10 +1162,10 @@ if {!$retrieval_ok_p} { aa_error "cr_news row not found for new revision news_id $revision2_id" } else { - aa_equals "Check the archive_date is null" $archive_date [db_null] - aa_equals "Check the approval_date is null" $approval_date [db_null] - aa_equals "Check the aprroval_user is null" $approval_user [db_null] - aa_equals "Check the approval_ip is null" $approval_ip [db_null] + aa_equals "Check the archive_date is null" $archive_date "" + aa_equals "Check the approval_date is null" $approval_date "" + aa_equals "Check the aprroval_user is null" $approval_user "" + aa_equals "Check the approval_ip is null" $approval_ip "" } # @@ -1176,7 +1176,7 @@ if {!$retrieval_ok_p} { aa_error "cr_revisions row not found for new revision revision_id $revision2_id" } else { - aa_equals "Check revision 2 publish_date is null" $publish_date [db_null] + aa_equals "Check revision 2 publish_date is null" $publish_date "" } # @@ -1295,10 +1295,10 @@ aa_log "Unapproving revision 1, setting publish_date null, archive_date null" set p_revision_id $revision1_id set p_approve_p "t" - set p_publish_date [db_null] - set p_archive_date [db_null] + set p_publish_date "" + set p_archive_date "" set p_approval_user [ad_conn "user_id"] - set p_approval_date [db_null] + set p_approval_date "" set p_approval_ip [ad_conn "peeraddr"] set p_live_revision_p "t" aa_call_component db-news-set-approve @@ -1317,7 +1317,7 @@ set p_revision_id $revision1_id set p_approve_p "t" set p_publish_date [clock format [clock scan "+ 1 year"] -format %Y-%m-%d] ; # in the future - set p_archive_date [db_null] + set p_archive_date "" set p_approval_user [ad_conn "user_id"] set p_approval_date "2001-11-03" set p_approval_ip [ad_conn "peeraddr"] @@ -1359,7 +1359,7 @@ set p_revision_id $revision1_id set p_approve_p "t" set p_publish_date "2000-11-01" - set p_archive_date [db_null] + set p_archive_date "" set p_approval_user [ad_conn "user_id"] set p_approval_date "2001-11-03" set p_approval_ip [ad_conn "peeraddr"] Index: openacs-4/packages/news/www/item-create-3.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/news/www/item-create-3.tcl,v diff -u -r1.22 -r1.23 --- openacs-4/packages/news/www/item-create-3.tcl 19 Jun 2018 10:08:24 -0000 1.22 +++ openacs-4/packages/news/www/item-create-3.tcl 12 Feb 2019 17:12:19 -0000 1.23 @@ -13,8 +13,8 @@ publish_body:allhtml,notnull,trim publish_body.format:path,notnull,trim {publish_lead {}} - {publish_date_ansi:trim "[db_null]"} - {archive_date_ansi:trim "[db_null]"} + {publish_date_ansi:trim ""} + {archive_date_ansi:trim ""} permanent_p:boolean,notnull } -errors { imgfile_valid {Image file invalid} @@ -42,15 +42,15 @@ set approval_date [dt_sysdate] set live_revision_p "t" } else { - set approval_user [db_null] - set approval_ip [db_null] - set approval_date [db_null] + set approval_user "" + set approval_ip "" + set approval_date "" set live_revision_p "f" } # Allow the user to "never expire" a news item. if {$permanent_p == "t"} { - set archive_date_ansi [db_null] + set archive_date_ansi "" } # get creation_foo Index: openacs-4/packages/news/www/admin/approve-2.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/news/www/admin/approve-2.tcl,v diff -u -r1.9 -r1.10 --- openacs-4/packages/news/www/admin/approve-2.tcl 2 Feb 2018 00:17:02 -0000 1.9 +++ openacs-4/packages/news/www/admin/approve-2.tcl 12 Feb 2019 17:12:19 -0000 1.10 @@ -25,7 +25,7 @@ if {$permanent_p == "t"} { - set archive_date_ansi [db_null] + set archive_date_ansi "" } else { Index: openacs-4/packages/news/www/admin/revision-add-3.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/news/www/admin/revision-add-3.tcl,v diff -u -r1.16 -r1.17 --- openacs-4/packages/news/www/admin/revision-add-3.tcl 19 Jun 2018 10:08:24 -0000 1.16 +++ openacs-4/packages/news/www/admin/revision-add-3.tcl 12 Feb 2019 17:12:19 -0000 1.17 @@ -25,7 +25,7 @@ set mime_type ${publish_body.format} if {$permanent_p == "t"} { - set archive_date_ansi [db_null] + set archive_date_ansi "" } # approval foo Index: openacs-4/packages/photo-album/www/photo-add-2.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/photo-album/www/photo-add-2.tcl,v diff -u -r1.11 -r1.12 --- openacs-4/packages/photo-album/www/photo-add-2.tcl 28 Jun 2015 12:56:09 -0000 1.11 +++ openacs-4/packages/photo-album/www/photo-add-2.tcl 12 Feb 2019 17:12:19 -0000 1.12 @@ -12,9 +12,9 @@ upload_file.tmpfile:tmpfile album_id:naturalnum,notnull photo_id:naturalnum,notnull - {description [db_null]} - {caption [db_null]} - {story [db_null]} + {description ""} + {caption ""} + {story ""} } -validate { valid_album -requires {album_id:integer} { if [string equal [pa_is_album_p $album_id] "f"] { Index: openacs-4/packages/search/tcl/search-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/search/tcl/search-procs.tcl,v diff -u -r1.55 -r1.56 --- openacs-4/packages/search/tcl/search-procs.tcl 29 Jan 2019 19:14:32 -0000 1.55 +++ openacs-4/packages/search/tcl/search-procs.tcl 12 Feb 2019 17:12:19 -0000 1.56 @@ -420,7 +420,7 @@ if {[apm_package_installed_p dotlrn]} { set site_node [site_node::get_node_id_from_object_id -object_id $package_id] set dotlrn_package_id [site_node::closest_ancestor_package -node_id $site_node -package_key dotlrn -include_self] - set community_id [db_string get_community_id {select community_id from dotlrn_communities_all where package_id=:dotlrn_package_id} -default [db_null]] + set community_id [db_string get_community_id {select community_id from dotlrn_communities_all where package_id=:dotlrn_package_id} -default ""] return $community_id } return "" Index: openacs-4/packages/spam/tcl/spam-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/spam/tcl/spam-procs.tcl,v diff -u -r1.2 -r1.3 --- openacs-4/packages/spam/tcl/spam-procs.tcl 4 Sep 2001 21:14:59 -0000 1.2 +++ openacs-4/packages/spam/tcl/spam-procs.tcl 12 Feb 2019 17:12:19 -0000 1.3 @@ -38,14 +38,14 @@ ad_proc spam_new_message { - {-context_id [db_null]} - {-send_date [db_null]} + {-context_id ""} + {-send_date ""} {-spam_id ""} {-subject ""} {-plain ""} {-html ""} - {-sql [db_null]} - {-approved_p [db_null]} + {-sql ""} + {-approved_p ""} } { insert a new spam message into the acs_messages and spam_messages table, and indirectly into the content repository. @@ -86,12 +86,12 @@ } ad_proc spam_update_message { - {-send_date [db_null]} + {-send_date ""} {-spam_id ""} {-subject ""} {-plain ""} {-html ""} - {-sql "[db_null]"} + {-sql ""} } { update an existing spam message into the acs_messages and spam_messages table, and indirectly into the content repository.