40-db-query-dispatcher-procs.tcl

Query Dispatching for multi-RDBMS capability

Location:
packages/acs-bootstrap-installer/tcl/40-db-query-dispatcher-procs.tcl
Authors:
Ben Adida <ben@openforce.net>
Bart Teeuwisse <bart.teeuwisse@thecodemill.biz>
CVS Identification:
$Id: 40-db-query-dispatcher-procs.tcl,v 1.49.2.15 2021/03/01 12:05:15 gustafn Exp $

Procedures in this file

Detailed information

db_current_rdbms (public)

 db_current_rdbms
Returns:
the current rdbms type and version.

Partial Call Graph (max 5 caller/called nodes):
%3 test_db__database_interface db__database_interface (test acs-bootstrap-installer) db_current_rdbms db_current_rdbms test_db__database_interface->db_current_rdbms db_type db_type (public) db_current_rdbms->db_type db_version db_version (public) db_current_rdbms->db_version db_qd_internal_store_cache db_qd_internal_store_cache (private) db_qd_internal_store_cache->db_current_rdbms packages/bookmarks/www/search.tcl packages/bookmarks/ www/search.tcl packages/bookmarks/www/search.tcl->db_current_rdbms

Testcases:
db__database_interface

db_fullquery_compatible_p (private)

 db_fullquery_compatible_p fullquery [ rdbms ]

Check compatibility of a FullQuery against an RDBMS This procedure returns true or false. The RDBMS argument can be left out, in which case, the currently running RDBMS is the one against which compatibility will be checked. NOTE: not complete -- should return something depending on compatibility of RDBMSs

Parameters:
fullquery
rdbms (optional)

Partial Call Graph (max 5 caller/called nodes):
%3 db_fullquery_get_rdbms db_fullquery_get_rdbms (private) db_fullquery_compatible_p db_fullquery_compatible_p db_fullquery_compatible_p->db_fullquery_get_rdbms

Testcases:
No testcase defined.

db_fullquery_create (private)

 db_fullquery_create queryname querytext bind_vars_lst query_type rdbms \
    load_location

FullQuery Data Abstraction Constructor

Parameters:
queryname
querytext
bind_vars_lst
query_type
rdbms
load_location

Partial Call Graph (max 5 caller/called nodes):
%3 db_qd_internal_load_queries db_qd_internal_load_queries (private) db_fullquery_create db_fullquery_create db_qd_internal_load_queries->db_fullquery_create db_qd_internal_parse_one_query_from_xml_node db_qd_internal_parse_one_query_from_xml_node (private) db_qd_internal_parse_one_query_from_xml_node->db_fullquery_create

Testcases:
No testcase defined.

db_fullquery_get_bind_vars (private)

 db_fullquery_get_bind_vars fullquery

Accessor for fullquery data abstraction

Parameters:
fullquery - datastructure constructed by db_fullquery_create
Returns:
bind vars

Partial Call Graph (max 5 caller/called nodes):
%3 db_qd_internal_load_queries db_qd_internal_load_queries (private) db_fullquery_get_bind_vars db_fullquery_get_bind_vars db_qd_internal_load_queries->db_fullquery_get_bind_vars

Testcases:
No testcase defined.

db_fullquery_get_load_location (private)

 db_fullquery_get_load_location fullquery

Accessor for fullquery data abstraction

Parameters:
fullquery - datastructure constructed by db_fullquery_create
Returns:
load location

Partial Call Graph (max 5 caller/called nodes):
%3 db_qd_internal_load_queries db_qd_internal_load_queries (private) db_fullquery_get_load_location db_fullquery_get_load_location db_qd_internal_load_queries->db_fullquery_get_load_location

Testcases:
No testcase defined.

db_fullquery_get_name (private)

 db_fullquery_get_name fullquery

Accessor for fullquery data abstraction

Parameters:
fullquery - datastructure constructed by db_fullquery_create
Returns:
name

Partial Call Graph (max 5 caller/called nodes):
%3 test_db__database_interface db__database_interface (test acs-bootstrap-installer) db_fullquery_get_name db_fullquery_get_name test_db__database_interface->db_fullquery_get_name db_qd_internal_load_queries db_qd_internal_load_queries (private) db_qd_internal_load_queries->db_fullquery_get_name db_qd_internal_store_cache db_qd_internal_store_cache (private) db_qd_internal_store_cache->db_fullquery_get_name

Testcases:
db__database_interface

db_fullquery_get_query_type (private)

 db_fullquery_get_query_type fullquery

Accessor for fullquery data abstraction

Parameters:
fullquery - datastructure constructed by db_fullquery_create
Returns:
query type

Partial Call Graph (max 5 caller/called nodes):
%3 test_db__database_interface db__database_interface (test acs-bootstrap-installer) db_fullquery_get_query_type db_fullquery_get_query_type test_db__database_interface->db_fullquery_get_query_type db_qd_internal_load_queries db_qd_internal_load_queries (private) db_qd_internal_load_queries->db_fullquery_get_query_type

Testcases:
db__database_interface

db_fullquery_get_querytext (public)

 db_fullquery_get_querytext fullquery

Accessor for fullquery data abstraction

Parameters:
fullquery - datastructure constructed by db_fullquery_create
Returns:
query text

Partial Call Graph (max 5 caller/called nodes):
%3 test_db__database_interface db__database_interface (test acs-bootstrap-installer) db_fullquery_get_querytext db_fullquery_get_querytext test_db__database_interface->db_fullquery_get_querytext db_map db_map (public) db_map->db_fullquery_get_querytext db_qd_internal_load_queries db_qd_internal_load_queries (private) db_qd_internal_load_queries->db_fullquery_get_querytext db_qd_replace_sql db_qd_replace_sql (public) db_qd_replace_sql->db_fullquery_get_querytext

Testcases:
db__database_interface

db_fullquery_get_rdbms (private)

 db_fullquery_get_rdbms fullquery

Accessor for fullquery data abstraction

Parameters:
fullquery - datastructure constructed by db_fullquery_create
Returns:
rdbms descriptor

Partial Call Graph (max 5 caller/called nodes):
%3 db_fullquery_compatible_p db_fullquery_compatible_p (private) db_fullquery_get_rdbms db_fullquery_get_rdbms db_fullquery_compatible_p->db_fullquery_get_rdbms db_qd_internal_load_queries db_qd_internal_load_queries (private) db_qd_internal_load_queries->db_fullquery_get_rdbms db_qd_internal_store_cache db_qd_internal_store_cache (private) db_qd_internal_store_cache->db_fullquery_get_rdbms db_qd_pick_most_specific_query db_qd_pick_most_specific_query (private) db_qd_pick_most_specific_query->db_fullquery_get_rdbms

Testcases:
No testcase defined.

db_map (public)

 db_map snippet_name

fetch a query snippet. used to provide db-specific query snippets when porting highly dynamic queries. (OpenACS - DanW)

Parameters:
snippet_name

Partial Call Graph (max 5 caller/called nodes):
%3 test_db_map db_map (test acs-bootstrap-installer) db_map db_map test_db_map->db_map db_fullquery_get_querytext db_fullquery_get_querytext (public) db_map->db_fullquery_get_querytext db_qd_fetch db_qd_fetch (public) db_map->db_qd_fetch db_qd_get_fullname db_qd_get_fullname (public) db_map->db_qd_get_fullname acs_object_type_hierarchy acs_object_type_hierarchy (public) acs_object_type_hierarchy->db_map ad_set_client_property ad_set_client_property (public) ad_set_client_property->db_map application_data_link::get_links_from application_data_link::get_links_from (public) application_data_link::get_links_from->db_map application_data_link::get_links_to application_data_link::get_links_to (public) application_data_link::get_links_to->db_map application_data_link::relation_tag_where_clause application_data_link::relation_tag_where_clause (public) application_data_link::relation_tag_where_clause->db_map

Testcases:
db_map

db_qd_fetch (public)

 db_qd_fetch fullquery_name [ rdbms ]

Fetch a query with a given name This procedure returns the latest FullQuery data structure given proper scoping rules for a complete/global query name. This may or may not be cached, the caller need not know.

Parameters:
fullquery_name
rdbms (optional)

Partial Call Graph (max 5 caller/called nodes):
%3 test_db__database_interface db__database_interface (test acs-bootstrap-installer) db_qd_fetch db_qd_fetch test_db__database_interface->db_qd_fetch db_qd_internal_get_cache db_qd_internal_get_cache (private) db_qd_fetch->db_qd_internal_get_cache db_map db_map (public) db_map->db_qd_fetch db_qd_replace_sql db_qd_replace_sql (public) db_qd_replace_sql->db_qd_fetch

Testcases:
db__database_interface

db_qd_get_fullname (public)

 db_qd_get_fullname local_name [ added_stack_num ]

Find the fully qualified name of the query

Parameters:
local_name
added_stack_num (defaults to "1")

Partial Call Graph (max 5 caller/called nodes):
%3 test_db__database_interface db__database_interface (test acs-bootstrap-installer) db_qd_get_fullname db_qd_get_fullname test_db__database_interface->db_qd_get_fullname ad_conn ad_conn (public) db_qd_get_fullname->ad_conn ad_make_relative_path ad_make_relative_path (public) db_qd_get_fullname->ad_make_relative_path apm_source apm_source (public) db_qd_get_fullname->apm_source db_qd_make_absolute_path db_qd_make_absolute_path (private) db_qd_get_fullname->db_qd_make_absolute_path db_qd_null_path db_qd_null_path (private) db_qd_get_fullname->db_qd_null_path db_0or1row db_0or1row (public) db_0or1row->db_qd_get_fullname db_blob_get db_blob_get (public) db_blob_get->db_qd_get_fullname db_blob_get_file db_blob_get_file (public) db_blob_get_file->db_qd_get_fullname db_dml db_dml (public) db_dml->db_qd_get_fullname db_exec_plsql db_exec_plsql (public) db_exec_plsql->db_qd_get_fullname

Testcases:
db__database_interface

db_qd_internal_get_cache (private)

 db_qd_internal_get_cache fullquery_name

Load from Cache

Parameters:
fullquery_name

Partial Call Graph (max 5 caller/called nodes):
%3 db_qd_fetch db_qd_fetch (public) db_qd_internal_get_cache db_qd_internal_get_cache db_qd_fetch->db_qd_internal_get_cache

Testcases:
No testcase defined.

db_qd_internal_get_queryname_root (private)

 db_qd_internal_get_queryname_root relative_path
Parameters:
relative_path
Returns:
relative path with trailing .

Partial Call Graph (max 5 caller/called nodes):
%3 db_qd_internal_load_queries db_qd_internal_load_queries (private) db_qd_internal_get_queryname_root db_qd_internal_get_queryname_root db_qd_internal_load_queries->db_qd_internal_get_queryname_root

Testcases:
No testcase defined.

db_qd_internal_load_cache (private)

 db_qd_internal_load_cache file_path

Flush queries for a particular file path, and reload them

Parameters:
file_path

Partial Call Graph (max 5 caller/called nodes):
%3 db_qd_load_query_file db_qd_load_query_file (public) db_qd_internal_load_cache db_qd_internal_load_cache db_qd_load_query_file->db_qd_internal_load_cache db_qd_internal_load_queries db_qd_internal_load_queries (private) db_qd_internal_load_cache->db_qd_internal_load_queries

Testcases:
No testcase defined.

db_qd_internal_load_queries (private)

 db_qd_internal_load_queries file_pointer file_tag

Load up a bunch of queries from a file pointer The file_tag parameter is for later flushing of a series of queries when a particular query file has been changed. DRB: it is now used to track the mtime of the query file when loaded, used by the APM to determine when a package should be reloaded. This code depends on the file tag parameter being set to the actual file path to the query file.

Parameters:
file_pointer
file_tag

Partial Call Graph (max 5 caller/called nodes):
%3 db_qd_internal_load_cache db_qd_internal_load_cache (private) db_qd_internal_load_queries db_qd_internal_load_queries db_qd_internal_load_cache->db_qd_internal_load_queries ad_make_relative_path ad_make_relative_path (public) db_qd_internal_load_queries->ad_make_relative_path db_fullquery_create db_fullquery_create (private) db_qd_internal_load_queries->db_fullquery_create db_fullquery_get_bind_vars db_fullquery_get_bind_vars (private) db_qd_internal_load_queries->db_fullquery_get_bind_vars db_fullquery_get_load_location db_fullquery_get_load_location (private) db_qd_internal_load_queries->db_fullquery_get_load_location db_fullquery_get_name db_fullquery_get_name (private) db_qd_internal_load_queries->db_fullquery_get_name

Testcases:
No testcase defined.

db_qd_internal_parse_init (private)

 db_qd_internal_parse_init stuff_to_parse file_path

Initialize the parsing state

Parameters:
stuff_to_parse
file_path

Partial Call Graph (max 5 caller/called nodes):
%3 db_qd_internal_load_queries db_qd_internal_load_queries (private) db_qd_internal_parse_init db_qd_internal_parse_init db_qd_internal_load_queries->db_qd_internal_parse_init db_rdbms_parse_from_xml_node db_rdbms_parse_from_xml_node (private) db_qd_internal_parse_init->db_rdbms_parse_from_xml_node xml_doc_get_first_node xml_doc_get_first_node (public) db_qd_internal_parse_init->xml_doc_get_first_node xml_node_get_children_by_name xml_node_get_children_by_name (public) db_qd_internal_parse_init->xml_node_get_children_by_name xml_node_get_name xml_node_get_name (public) db_qd_internal_parse_init->xml_node_get_name xml_parse xml_parse (public) db_qd_internal_parse_init->xml_parse

Testcases:
No testcase defined.

db_qd_internal_parse_one_query (private)

 db_qd_internal_parse_one_query parsing_state

Parse one query using the query state

Parameters:
parsing_state

Partial Call Graph (max 5 caller/called nodes):
%3 db_qd_internal_load_queries db_qd_internal_load_queries (private) db_qd_internal_parse_one_query db_qd_internal_parse_one_query db_qd_internal_load_queries->db_qd_internal_parse_one_query db_qd_internal_parse_one_query_from_xml_node db_qd_internal_parse_one_query_from_xml_node (private) db_qd_internal_parse_one_query->db_qd_internal_parse_one_query_from_xml_node xml_doc_free xml_doc_free (public) db_qd_internal_parse_one_query->xml_doc_free

Testcases:
No testcase defined.

db_qd_internal_parse_one_query_from_xml_node (private)

 db_qd_internal_parse_one_query_from_xml_node one_query_node \
    [ default_rdbms ] [ file_path ]

Parse one query from an XML node

Parameters:
one_query_node
default_rdbms (optional)
file_path (optional)

Partial Call Graph (max 5 caller/called nodes):
%3 db_qd_internal_parse_one_query db_qd_internal_parse_one_query (private) db_qd_internal_parse_one_query_from_xml_node db_qd_internal_parse_one_query_from_xml_node db_qd_internal_parse_one_query->db_qd_internal_parse_one_query_from_xml_node db_fullquery_create db_fullquery_create (private) db_qd_internal_parse_one_query_from_xml_node->db_fullquery_create db_rdbms_parse_from_xml_node db_rdbms_parse_from_xml_node (private) db_qd_internal_parse_one_query_from_xml_node->db_rdbms_parse_from_xml_node xml_node_get_attribute xml_node_get_attribute (public) db_qd_internal_parse_one_query_from_xml_node->xml_node_get_attribute xml_node_get_children_by_name xml_node_get_children_by_name (public) db_qd_internal_parse_one_query_from_xml_node->xml_node_get_children_by_name xml_node_get_content xml_node_get_content (public) db_qd_internal_parse_one_query_from_xml_node->xml_node_get_content

Testcases:
No testcase defined.

db_qd_internal_store_cache (private)

 db_qd_internal_store_cache fullquery

Store in Cache. The load_location is the file where this query was found.

Parameters:
fullquery

Partial Call Graph (max 5 caller/called nodes):
%3 db_qd_internal_load_queries db_qd_internal_load_queries (private) db_qd_internal_store_cache db_qd_internal_store_cache db_qd_internal_load_queries->db_qd_internal_store_cache db_current_rdbms db_current_rdbms (public) db_qd_internal_store_cache->db_current_rdbms db_fullquery_get_name db_fullquery_get_name (private) db_qd_internal_store_cache->db_fullquery_get_name db_fullquery_get_rdbms db_fullquery_get_rdbms (private) db_qd_internal_store_cache->db_fullquery_get_rdbms db_qd_pick_most_specific_query db_qd_pick_most_specific_query (private) db_qd_internal_store_cache->db_qd_pick_most_specific_query db_rdbms_compatible_p db_rdbms_compatible_p (private) db_qd_internal_store_cache->db_rdbms_compatible_p

Testcases:
No testcase defined.

db_qd_load_query_file (public)

 db_qd_load_query_file file_path [ errorVarName ]

A procedure that is called from the outside world (APM) to load a particular file

Parameters:
file_path
errorVarName (optional)

Partial Call Graph (max 5 caller/called nodes):
%3 test_db_map db_map (test acs-bootstrap-installer) db_qd_load_query_file db_qd_load_query_file test_db_map->db_qd_load_query_file ad_make_relative_path ad_make_relative_path (public) db_qd_load_query_file->ad_make_relative_path db_qd_internal_load_cache db_qd_internal_load_cache (private) db_qd_load_query_file->db_qd_internal_load_cache apm_load_queries apm_load_queries (private) apm_load_queries->db_qd_load_query_file

Testcases:
db_map

db_qd_log (private)

 db_qd_log level [ args... ]

Centralized DB QD logging If you want to debug the QD, change QDDebug below to Debug

Parameters:
level

Partial Call Graph (max 5 caller/called nodes):
%3 db_rdbms_parse_from_xml_node db_rdbms_parse_from_xml_node (private) db_qd_log db_qd_log db_rdbms_parse_from_xml_node->db_qd_log

Testcases:
No testcase defined.

db_qd_make_absolute_path (private)

 db_qd_make_absolute_path relative_root suffix

Make a path absolute

Parameters:
relative_root
suffix

Partial Call Graph (max 5 caller/called nodes):
%3 db_qd_get_fullname db_qd_get_fullname (public) db_qd_make_absolute_path db_qd_make_absolute_path db_qd_get_fullname->db_qd_make_absolute_path db_qd_internal_load_queries db_qd_internal_load_queries (private) db_qd_internal_load_queries->db_qd_make_absolute_path db_qd_root_path db_qd_root_path (private) db_qd_make_absolute_path->db_qd_root_path

Testcases:
No testcase defined.

db_qd_null_path (private)

 db_qd_null_path

The null path

Partial Call Graph (max 5 caller/called nodes):
%3 db_qd_get_fullname db_qd_get_fullname (public) db_qd_null_path db_qd_null_path db_qd_get_fullname->db_qd_null_path db_qd_root_path db_qd_root_path (private) db_qd_null_path->db_qd_root_path

Testcases:
No testcase defined.

db_qd_pick_most_specific_query (private)

 db_qd_pick_most_specific_query rdbms query_1 query_2

For now, we're going to say that versions are numbers and that there is always backwards compatibility.

Parameters:
rdbms
query_1
query_2

Partial Call Graph (max 5 caller/called nodes):
%3 db_qd_internal_store_cache db_qd_internal_store_cache (private) db_qd_pick_most_specific_query db_qd_pick_most_specific_query db_qd_internal_store_cache->db_qd_pick_most_specific_query db_fullquery_get_rdbms db_fullquery_get_rdbms (private) db_qd_pick_most_specific_query->db_fullquery_get_rdbms db_rdbms_get_version db_rdbms_get_version (private) db_qd_pick_most_specific_query->db_rdbms_get_version

Testcases:
No testcase defined.

db_qd_prepare_queryfile_content (public)

 db_qd_prepare_queryfile_content file_content

Prepare raw .xql-file content form xml-parsing via quoting. The result is parsable XML, where "partialquery" is replaced by "fullquery".

Parameters:
file_content

Partial Call Graph (max 5 caller/called nodes):
%3 test_files__check_xql_files files__check_xql_files (test acs-tcl) db_qd_prepare_queryfile_content db_qd_prepare_queryfile_content test_files__check_xql_files->db_qd_prepare_queryfile_content apidoc::get_xql_snippet apidoc::get_xql_snippet (private) apidoc::get_xql_snippet->db_qd_prepare_queryfile_content db_qd_internal_load_queries db_qd_internal_load_queries (private) db_qd_internal_load_queries->db_qd_prepare_queryfile_content

Testcases:
files__check_xql_files

db_qd_relative_path_p (private)

 db_qd_relative_path_p path

Check if the path is relative

Parameters:
path

Partial Call Graph (max 5 caller/called nodes):
%3 db_qd_get_fullname db_qd_get_fullname (public) db_qd_relative_path_p db_qd_relative_path_p db_qd_get_fullname->db_qd_relative_path_p db_qd_internal_load_queries db_qd_internal_load_queries (private) db_qd_internal_load_queries->db_qd_relative_path_p db_qd_root_path db_qd_root_path (private) db_qd_relative_path_p->db_qd_root_path

Testcases:
No testcase defined.

db_qd_replace_sql (public)

 db_qd_replace_sql [ -ulevel ulevel ] [ -subst subst ] statement_name \
    sql
Switches:
-ulevel
(optional)
-subst
(defaults to "all") (optional)
Parameters:
statement_name
sql
Returns:
sql for statement_name (defaulting to sql if not found)

Partial Call Graph (max 5 caller/called nodes):
%3 test_db__db_foreach db__db_foreach (test acs-tcl) db_qd_replace_sql db_qd_replace_sql test_db__db_foreach->db_qd_replace_sql test_db__transaction db__transaction (test acs-tcl) test_db__transaction->db_qd_replace_sql test_db__transaction_bug_3440 db__transaction_bug_3440 (test acs-tcl) test_db__transaction_bug_3440->db_qd_replace_sql test_db_bind_var_substitution db_bind_var_substitution (test acs-tcl) test_db_bind_var_substitution->db_qd_replace_sql db_fullquery_get_querytext db_fullquery_get_querytext (public) db_qd_replace_sql->db_fullquery_get_querytext db_qd_fetch db_qd_fetch (public) db_qd_replace_sql->db_qd_fetch db_blob_get db_blob_get (public) db_blob_get->db_qd_replace_sql db_exec db_exec (public) db_exec->db_qd_replace_sql db_exec_lob_oracle db_exec_lob_oracle (private) db_exec_lob_oracle->db_qd_replace_sql db_exec_lob_postgresql db_exec_lob_postgresql (private) db_exec_lob_postgresql->db_qd_replace_sql db_exec_plpgsql db_exec_plpgsql (private) db_exec_plpgsql->db_qd_replace_sql

Testcases:
db__db_foreach, db_bind_var_substitution, db__transaction, db__transaction_bug_3440

db_qd_root_path (private)

 db_qd_root_path

The token that indicates the root of all queries

Partial Call Graph (max 5 caller/called nodes):
%3 db_qd_make_absolute_path db_qd_make_absolute_path (private) db_qd_root_path db_qd_root_path db_qd_make_absolute_path->db_qd_root_path db_qd_null_path db_qd_null_path (private) db_qd_null_path->db_qd_root_path db_qd_relative_path_p db_qd_relative_path_p (private) db_qd_relative_path_p->db_qd_root_path

Testcases:
No testcase defined.

db_rdbms_compatible_p (private)

 db_rdbms_compatible_p rdbms_test rdbms_pattern
Parameters:
rdbms_test
rdbms_pattern
Returns:
0 if test incompatible with pattern, 1 if miscible

Partial Call Graph (max 5 caller/called nodes):
%3 db_qd_internal_store_cache db_qd_internal_store_cache (private) db_rdbms_compatible_p db_rdbms_compatible_p db_qd_internal_store_cache->db_rdbms_compatible_p

Testcases:
No testcase defined.

db_rdbms_create (public, deprecated)

 db_rdbms_create type version
Deprecated. Invoking this procedure generates a warning.

The function is not needed, since all it returns is a plain Tcl dict with obvious keys (type and version)

Parameters:
type
version
Returns:
rdbms descriptor in form of a dict
See Also:
  • dict

Partial Call Graph (max 5 caller/called nodes):
%3 ad_log_deprecated ad_log_deprecated (public) db_rdbms_create db_rdbms_create db_rdbms_create->ad_log_deprecated

Testcases:
No testcase defined.

db_rdbms_get_type (private)

 db_rdbms_get_type rdbms

Convenience function, could be replaced there with standard Tcl dict operations.

Parameters:
rdbms - descriptor in form of a type version pair
Returns:
rdbms name

Partial Call Graph (max 5 caller/called nodes):
%3 packages/bookmarks/www/search.tcl packages/bookmarks/ www/search.tcl db_rdbms_get_type db_rdbms_get_type packages/bookmarks/www/search.tcl->db_rdbms_get_type

Testcases:
No testcase defined.

db_rdbms_get_version (private)

 db_rdbms_get_version rdbms

Convenience function, could be replaced there with standard Tcl dict operations.

Parameters:
rdbms - descriptor constructed by db_rdbms_create
Returns:
version identifier

Partial Call Graph (max 5 caller/called nodes):
%3 db_qd_pick_most_specific_query db_qd_pick_most_specific_query (private) db_rdbms_get_version db_rdbms_get_version db_qd_pick_most_specific_query->db_rdbms_get_version

Testcases:
No testcase defined.

db_rdbms_parse_from_xml_node (private)

 db_rdbms_parse_from_xml_node rdbms_node

Parse an RDBMS struct from an XML fragment node

Parameters:
rdbms_node

Partial Call Graph (max 5 caller/called nodes):
%3 db_qd_internal_parse_init db_qd_internal_parse_init (private) db_rdbms_parse_from_xml_node db_rdbms_parse_from_xml_node db_qd_internal_parse_init->db_rdbms_parse_from_xml_node db_qd_internal_parse_one_query_from_xml_node db_qd_internal_parse_one_query_from_xml_node (private) db_qd_internal_parse_one_query_from_xml_node->db_rdbms_parse_from_xml_node db_qd_log db_qd_log (private) db_rdbms_parse_from_xml_node->db_qd_log xml_node_get_content xml_node_get_content (public) db_rdbms_parse_from_xml_node->xml_node_get_content xml_node_get_first_child_by_name xml_node_get_first_child_by_name (public) db_rdbms_parse_from_xml_node->xml_node_get_first_child_by_name xml_node_get_name xml_node_get_name (public) db_rdbms_parse_from_xml_node->xml_node_get_name

Testcases:
No testcase defined.
[ show source ]