acs-db-00-procs.tcl

Low level interface for defining the basic classes for the DB interface.

This file defines the following Objects and Classes: ::acs::db::nsdbi[i], ::acs::db::Driver[i], ::acs::db::nsdb[i], ::acs::db::Driver[i], ::acs::db::nsdb[i], ::acs::db::nsdb[i], ::acs::db::nsdbi[i], ::acs::db::nsdbi[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::nsdb[i], ::acs::db::nsdb[i], ::acs::db::nsdbi[i], ::acs::db::nsdbi[i], ::acs::db::Driver[i], ::acs::db::nsdb[i], ::acs::db::nsdb[i], ::acs::db::nsdbi[i], ::acs::db::nsdbi[i], ::acs::db::Driver[i], ::acs::db::nsdb[i], ::acs::db::nsdb[i], ::acs::db::nsdbi[i], ::acs::db::nsdbi[i], ::acs::db::nsdb[i], ::acs::db::Driver[i], ::acs::db::nsdbi[i], ::acs::db::Driver[i], ::acs::db::nsdb[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::nsdb[i], ::acs::db::Driver[i], ::acs::db::nsdbi[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::nsdb[i], ::acs::db::nsdb[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::nsdbi[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::nsdbi[i], ::acs::db::nsdbi[i], ::acs::db::Driver[i], ::acs::db::nsdb[i], ::acs::db::Driver[i], ::acs::db::nsdb[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::nsdbi[i], ::acs::db::nsdbi[i], ::acs::db::nsdbi[i], ::acs::db::nsdbi[i], ::acs::db::nsdbi[i], ::acs::db::nsdbi[i], ::acs::db::nsdbi[i], ::acs::db::nsdbi[i], ::acs::db::nsdb[i], ::acs::db::nsdb[i], ::acs::db::Driver[i], ::acs::db::nsdb[i], ::acs::db::nsdb[i], ::acs::db::Driver[i], ::acs::db::nsdb[i], ::acs::db::nsdb[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::nsdb[i], ::acs::db::nsdb[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::nsdb[i], ::acs::db::nsdb[i], ::acs::db::nsdbi[i], ::acs::db::nsdbi[i], ::acs::db::nsdb[i], ::acs::db::nsdb[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::nsdb[i], ::acs::db::nsdb[i], ::acs::db::Driver[i], ::acs::db::nsdb[i], ::acs::db::nsdb[i], ::acs::db::nsdb[i], ::acs::db::nsdb[i], ::acs::db::nsdb[i], ::acs::db::nsdb[i], ::acs::db::Driver[i], ::acs::db::nsdb[i], ::acs::db::nsdb[i], ::acs::db::Driver[i], ::acs::db::nsdb[i], ::acs::db::nsdb[i], ::acs::db::Driver[i], ::acs::db::nsdb[i], ::acs::db::nsdb[i], ::acs::db::nsdbi[i], ::acs::db::nsdbi[i], ::acs::db::nsdbi[i], ::acs::db::nsdbi[i], ::acs::db::nsdbi[i], ::acs::db::nsdbi[i], ::acs::db::nsdbi[i], ::acs::db::nsdbi[i], ::acs::db::nsdbi[i], ::acs::db::nsdbi[i], ::acs::db::nsdbi[i], ::acs::db::nsdbi[i], ::acs::db::nsdbi[i], ::acs::db::nsdbi[i], ::acs::db::Driver[i], ::acs::db::nsdb[i], ::acs::db::nsdb[i], ::acs::db::nsdbi[i], ::acs::db::nsdbi[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::nsdb[i], ::acs::db::Driver[i], ::acs::db::nsdb[i], ::acs::db::nsdb[i], ::acs::db::nsdbi[i], ::acs::db::nsdbi[i], ::acs::db::Driver[i], ::acs::db::nsdb[i], ::acs::db::nsdb[i], ::acs::db::nsdbi[i], ::acs::db::nsdbi[i], ::acs::db::nsdb[i], ::acs::db::nsdb[i], ::acs::db::Driver[i], ::acs::db::nsdb[i], ::acs::db::nsdb[i], ::acs::db::nsdbi[i], ::acs::db::nsdbi[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::nsdb[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::nsdb[i], ::acs::db::nsdb[i], ::acs::db::nsdbi[i], ::acs::db::nsdbi[i], ::acs::db::Driver[i], ::acs::db::nsdb[i], ::acs::db::nsdb[i], ::acs::db::nsdbi[i], ::acs::db::nsdbi[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::nsdb[i], ::acs::db::nsdb[i], ::acs::db::nsdbi[i], ::acs::db::nsdbi[i], ::acs::db::Driver[i], ::acs::db::nsdb[i], ::acs::db::nsdb[i], ::acs::db::nsdbi[i], ::acs::db::nsdbi[i], ::acs::db::Driver[i], ::acs::db::nsdb[i], ::acs::db::nsdb[i], ::acs::db::nsdbi[i], ::acs::db::nsdbi[i], ::acs::db::Driver[i], ::acs::db::nsdb[i], ::acs::db::nsdb[i], ::acs::db::nsdbi[i], ::acs::db::nsdbi[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::nsdb[i], ::acs::db::nsdb[i], ::acs::db::nsdbi[i], ::acs::db::nsdbi[i], ::acs::db::nsdb[i], ::acs::db::nsdb[i], ::acs::db::Driver[i], ::acs::db::nsdb[i], ::acs::db::nsdb[i], ::acs::db::nsdbi[i], ::acs::db::nsdbi[i], ::acs::db::nsdb[i], ::acs::db::nsdb[i], ::acs::db::Driver[i], ::acs::db::nsdb[i], ::acs::db::nsdb[i], ::acs::db::nsdbi[i], ::acs::db::nsdbi[i], ::acs::db::Driver[i], ::acs::db::nsdb[i], ::acs::db::nsdb[i], ::acs::db::nsdbi[i], ::acs::db::nsdbi[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::nsdb[i], ::acs::db::nsdb[i], ::acs::db::nsdbi[i], ::acs::db::nsdbi[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::nsdb[i], ::acs::db::nsdb[i], ::acs::db::nsdbi[i], ::acs::db::nsdbi[i], ::acs::db::Driver[i], ::acs::db::nsdb[i], ::acs::db::nsdb[i], ::acs::db::nsdbi[i], ::acs::db::nsdbi[i], ::acs::db::nsdbi[i], ::acs::db::Driver[i], ::acs::db::nsdb[i], ::acs::db::nsdb[i], ::acs::db::nsdbi[i], ::acs::db::nsdbi[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::nsdb[i], ::acs::db::nsdb[i], ::acs::db::nsdbi[i], ::acs::db::nsdbi[i], ::acs::db::Driver[i], ::acs::db::nsdb[i], ::acs::db::nsdb[i], ::acs::db::nsdbi[i], ::acs::db::nsdbi[i], ::acs::db::Driver[i], ::acs::db::nsdb[i], ::acs::db::nsdb[i], ::acs::db::nsdbi[i], ::acs::db::nsdbi[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::nsdb[i], ::acs::db::nsdb[i], ::acs::db::nsdbi[i], ::acs::db::nsdbi[i], ::acs::db::Driver[i], ::acs::db::nsdb[i], ::acs::db::Driver[i], ::acs::db::nsdb[i], ::acs::db::nsdb[i], ::acs::db::nsdbi[i], ::acs::db::nsdbi[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::nsdb[i], ::acs::db::nsdb[i], ::acs::db::nsdbi[i], ::acs::db::nsdbi[i], ::acs::db::Driver[i], ::acs::db::nsdb[i], ::acs::db::nsdb[i], ::acs::db::nsdbi[i], ::acs::db::nsdbi[i], ::acs::db::nsdb[i], ::acs::db::nsdb[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::nsdb[i], ::acs::db::nsdb[i], ::acs::db::nsdbi[i], ::acs::db::nsdbi[i], ::acs::db::nsdbi[i], ::acs::db::nsdbi[i], ::acs::db::nsdbi[i], ::acs::db::nsdbi[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::nsdb[i], ::acs::db::nsdb[i], ::acs::db::nsdbi[i], ::acs::db::nsdbi[i], ::acs::db::nsdbi[i], ::acs::db::nsdb[i], ::acs::db::nsdb[i], ::acs::db::Driver[i], ::acs::db::nsdb[i], ::acs::db::nsdb[i], ::acs::db::nsdbi[i], ::acs::db::nsdbi[i], ::acs::db::Driver[i], ::acs::db::nsdb[i], ::acs::db::nsdb[i], ::acs::db::nsdbi[i], ::acs::db::nsdbi[i], ::acs::db::nsdbi[i], ::acs::db::Driver[i], ::acs::db::nsdb[i], ::acs::db::nsdb[i], ::acs::db::nsdbi[i], ::acs::db::nsdbi[i], ::acs::db::Driver[i], ::acs::db::nsdb[i], ::acs::db::nsdb[i], ::acs::db::nsdbi[i], ::acs::db::nsdbi[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::nsdbi[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::nsdb[i], ::acs::db::nsdb[i], ::acs::db::nsdbi[i], ::acs::db::nsdbi[i], ::acs::db::nsdbi[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::nsdb[i], ::acs::db::nsdb[i], ::acs::db::nsdbi[i], ::acs::db::nsdbi[i], ::acs::db::nsdb[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::Driver[i], ::acs::db::nsdbi[i], ::acs::db::nsdb[i], ::acs::db::nsdbi[i], ::acs::db::Driver[i], ::acs::db::nsdb[i]

Location:
packages/acs-tcl/tcl/acs-db-00-procs.tcl
Created:
2022-02-07
Author:
Gustaf Neumann

Procedures in this file

Detailed information

Class ::acs::db::Driver (public)

 ::nx::Class ::acs::db::Driver[i]

Abstract class of the database interface

Testcases:
No testcase defined.

Class ::acs::db::nsdb (public)

 ::nx::Class ::acs::db::nsdb[i]

Database interface based on the nsdb driver of NaviServer

Testcases:
No testcase defined.

Class ::acs::db::nsdbi (public)

 ::nx::Class ::acs::db::nsdbi[i]

Database interface based on the nsdbi driver of NaviServer

Testcases:
No testcase defined.

acs::db::Driver method 0or1row (protected)

 <instance of acs::db::Driver[i]> 0or1row [ -dbn dbn ] \
    [ -bind bind ] [ -prepare prepare ] qn sql
Switches:
-dbn (optional)
-bind (optional)
-prepare (optional)
Parameters:
qn (required)
sql (required)

Testcases:
No testcase defined.

acs::db::Driver method 1row (protected)

 <instance of acs::db::Driver[i]> 1row [ -dbn dbn ] [ -bind bind ] \
    [ -prepare prepare ] qn sql
Switches:
-dbn (optional)
-bind (optional)
-prepare (optional)
Parameters:
qn (required)
sql (required)

Testcases:
No testcase defined.

acs::db::Driver method dml (protected)

 <instance of acs::db::Driver[i]> dml [ -dbn dbn ] [ -bind bind ] \
    [ -prepare prepare ] qn sql
Switches:
-dbn (optional)
-bind (optional)
-prepare (optional)
Parameters:
qn (required)
sql (required)

Testcases:
No testcase defined.

acs::db::Driver method ds (protected)

 <instance of acs::db::Driver[i]> ds onOff
Parameters:
onOff (required)

Testcases:
No testcase defined.

acs::db::Driver method foreach (protected)

 <instance of acs::db::Driver[i]> foreach [ -dbn dbn ] \
    [ -bind bind ] [ -prepare prepare ] qn sql script
Switches:
-dbn (optional)
-bind (optional)
-prepare (optional)
Parameters:
qn (required)
sql (required)
script (required)

Testcases:
No testcase defined.

acs::db::Driver method get_sql (protected)

 <instance of acs::db::Driver[i]> get_sql [ -dbn dbn ] qn
Switches:
-dbn (optional)
Parameters:
qn (required)

Testcases:
No testcase defined.

acs::db::Driver method get_value (protected)

 <instance of acs::db::Driver[i]> get_value [ -dbn dbn ] \
    [ -bind bind ] [ -prepare prepare ] qn sql [ default ]
Switches:
-dbn (optional)
-bind (optional)
-prepare (optional)
Parameters:
qn (required)
sql (required)
default (optional)

Testcases:
No testcase defined.

acs::db::Driver method list (protected)

 <instance of acs::db::Driver[i]> list [ -dbn dbn ] [ -bind bind ] \
    [ -prepare prepare ] qn sql
Switches:
-dbn (optional)
-bind (optional)
-prepare (optional)
Parameters:
qn (required)
sql (required)

Testcases:
No testcase defined.

acs::db::Driver method list_of_lists (protected)

 <instance of acs::db::Driver[i]> list_of_lists [ -dbn dbn ] \
    [ -bind bind ] [ -prepare prepare ] qn sql
Switches:
-dbn (optional)
-bind (optional)
-prepare (optional)
Parameters:
qn (required)
sql (required)

Testcases:
No testcase defined.

acs::db::Driver method map_default_dbn (protected)

 <instance of acs::db::Driver[i]> map_default_dbn dbn
Parameters:
dbn (required)

Testcases:
No testcase defined.

acs::db::Driver method prepare (protected)

 <instance of acs::db::Driver[i]> prepare [ -handle handle ] \
    [ -argtypes argtypes ] sql
Switches:
-handle (optional)
-argtypes (optional)
Parameters:
sql (required)

Testcases:
No testcase defined.

acs::db::Driver method qn (public)

 <instance of acs::db::Driver[i]> qn query_name

Return fully qualified query name as used in OpenACS.

Parameters:
query_name (required)

Testcases:
No testcase defined.

acs::db::Driver method row_lock (protected)

 <instance of acs::db::Driver[i]> row_lock [ -dbn dbn ] \
    [ -bind bind ] [ -for for ] [ -prepare prepare ] qn sql
Switches:
-dbn (optional)
-bind (optional)
-for (optional, defaults to "UPDATE")
-prepare (optional)
Parameters:
qn (required)
sql (required)

Testcases:
No testcase defined.

acs::db::Driver method sets (protected)

 <instance of acs::db::Driver[i]> sets [ -dbn dbn ] [ -bind bind ] \
    [ -prepare prepare ] qn sql
Switches:
-dbn (optional)
-bind (optional)
-prepare (optional)
Parameters:
qn (required)
sql (required)

Testcases:
No testcase defined.

acs::db::Driver method transaction (protected)

 <instance of acs::db::Driver[i]> transaction [ -dbn dbn ] script \
    args [ args... ]
Switches:
-dbn (optional)
Parameters:
script (required)
args (required)

Testcases:
No testcase defined.

acs::db::nsdb method list (public)

 <instance of acs::db::nsdb[i]> list [ -dbn dbn ] [ -bind bind ] \
    [ -prepare prepare ] qn sql

Return a Tcl list, where each element contains just the first the column values of the tuples returned by the provided SQL query.

Switches:
-dbn (optional)
database identifier
-bind (optional)
optional bind variables for the SQL query
-prepare (optional)
type information for the bind variables in the prepared statement
Parameters:
qn (required)
name of the SQL query
sql (required)
SQL query

Testcases:
No testcase defined.

acs::db::nsdb method list_of_lists (public)

 <instance of acs::db::nsdb[i]> list_of_lists [ -dbn dbn ] \
    [ -bind bind ] [ -prepare prepare ] qn sql

Return a Tcl list, where each element consists of a list of the column values corresponding to the values of the tuples returned by the provided SQL query.

Switches:
-dbn (optional)
database identifier
-bind (optional)
optional bind variables for the SQL query
-prepare (optional)
type information for the bind variables in the prepared statement
Parameters:
qn (required)
name of the SQL query
sql (required)
SQL query

Testcases:
No testcase defined.

acs::db::nsdbi method list (public)

 <instance of acs::db::nsdbi[i]> list [ -dbn dbn ] [ -bind bind ] \
    [ -prepare prepare ] qn sql

Return a Tcl list, where each element contains just the first the column values of the tuples returned by the provided SQL query.

Switches:
-dbn (optional)
database identifier
-bind (optional)
optional bind variables for the SQL query
-prepare (optional)
not used for NSDBI, providing interface compatibility with NSDB
Parameters:
qn (required)
name of the SQL query
sql (required)
SQL query

Testcases:
No testcase defined.

acs::db::nsdbi method list_of_lists (public)

 <instance of acs::db::nsdbi[i]> list_of_lists [ -dbn dbn ] \
    [ -bind bind ] [ -prepare prepare ] qn sql

Return a Tcl list, where each element consists of a list of the column values corresponding to the values of the tuples returned by the provided SQL query.

Switches:
-dbn (optional)
database identifier
-bind (optional)
optional bind variables for the SQL query
-prepare (optional)
not used for NSDBI, providing interface compatibility with NSDB
Parameters:
qn (required)
name of the SQL query
sql (required)
SQL query

Testcases:
No testcase defined.

acs::db::require_dc (private)

 acs::db::require_dc [ -backend backend ] [ -driver driver ] \
    [ -name name ]

Select the driver based on the specified argument (either DB or DBI) or based on the defaults for the configuration. This function can be used to switch the driver as well dynamically.

Switches:
-backend (optional)
"postgresql" or "oracle" or empty. When empty, determine backed from db_driverkey.
-driver (optional)
"nsdb" or "nsdbi" or empty. When empty, assume "nsdb" unless "preferdbi" is set.
-name (optional, defaults to "::acs::dc")
of the interface object (defaults to "::acs::dc")
Returns:
database interface object

Partial Call Graph (max 5 caller/called nodes):
%3 db_driverkey db_driverkey (public) acs::db::require_dc acs::db::require_dc acs::db::require_dc->db_driverkey

Testcases:
No testcase defined.
[ show source ]