%3 ::acs::db::nsdbi ::acs::db::nsdbi list list_of_lists ::acs::db::Driver ::acs::db::Driver 0or1row 1row dml ds foreach get_sql get_value list list_of_lists map_default_dbn prepare qn row_lock sets transaction ::acs::db::nsdbi->::acs::db::Driver ::acs::db::nsdb ::acs::db::nsdb list list_of_lists ::acs::db::nsdb->::acs::db::Driver ::acs::db::nsdbi-postgresql ::acs::db::nsdbi-postgresql build_psql_body ::acs::db::nsdbi-postgresql->::acs::db::nsdbi ::acs::db::postgresql ::acs::db::postgresql ::acs::db::nsdbi-postgresql->::acs::db::postgresql

Class ::acs::db::nsdbi

::acs::db::nsdbi[i] create ... \
           [ -backend backend ] \
           [ -dbn (default "") ] \
           [ -driver driver ]

Database interface based on the nsdbi driver of NaviServer
Defined in packages/acs-tcl/tcl/acs-db-00-procs.tcl

Class Relations

  • class: ::nx::Class[i]
  • superclass: ::acs::db::Driver[i]
  • subclass: ::acs::db::nsdbi-postgresql[i]
::nx::Class create ::acs::db::nsdbi \
     -superclass ::acs::db::Driver

Methods (to be applied on instances)

  • list (scripted, 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.
    if {$sql eq ""} {
        set sql [:get_sql $qn]
    }
    set dbn [:map_default_dbn $dbn]
    set flat [:uplevel [list ::dbi_rows -columns __columns  {*}[expr {$dbn ne "" ? [list -db $dbn] : ""}]  {*}[expr {$bind ne "" ? [list -bind $bind] : ""}]  -- $sql]]
    if {[:uplevel {llength $__columns}] > 1} {
        error "query is returning more than one column"
    }
    return $flat
  • list_of_lists (scripted, 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.
    if {$sql eq ""} {
        set sql [:get_sql $qn]
    }
    set dbn [:map_default_dbn $dbn]
    return [:uplevel [list ::dbi_rows  {*}[expr {$dbn ne "" ? [list -db $dbn] : ""}]  {*}[expr {$bind ne "" ? [list -bind $bind] : ""}]  -result lists -max 1000000 -- $sql]]