| Qore Programming Language Reference Manual 1.0.8

QC_Datasource.dox.h
1 namespace Qore {
4 namespace SQL {
6
106 class Datasource : public AbstractDatasource, public Serializable {
107
108 public:
110
124 nothing beginTransaction();
125
126 public:
128
130 nothing clearEventQueue();
131
132 public:
134
143 nothing close();
144
145 public:
147
156 nothing commit();
157
158 public:
160
180 constructor(string driver, *string user, *string pass, *string db, *string encoding, *string host, *softint port, *hash<auto> options, *Qore::Thread::Queue queue, auto arg);
181
182 public:
184
199 constructor(string desc, *Qore::Thread::Queue queue, auto arg);
200
201 public:
203
224 constructor(hash<auto> opts, *Qore::Thread::Queue queue, auto arg);
225
226 public:
228
233 copy();
234
235 public:
237
251 bool currentThreadInTransaction();
252
253 public:
255
280 *hash<auto> describe(string sql, ...);
281
282 public:
284
291 destructor();
292
293 public:
295
311 auto exec(string sql, ...);
312
313 public:
315
333 auto execRaw(string sql);
334
335 public:
337
347 bool getAutoCommit();
348
349 public:
351
363 int getCapabilities();
364
365 public:
367
379 list<auto> getCapabilityList();
380
381 public:
383
392 auto getClientVersion();
393
394 public:
396
411 hash<auto> getConfigHash();
412
413 public:
415
430 string getConfigString();
431
432 public:
434
446 *string getDBCharset();
447
448 public:
450
462 *string getDBEncoding();
463
464 public:
466
476 *string getDBName();
477
478 public:
480
490 string getDriverName();
491
492 public:
494
504 *string getHostName();
505
506 public:
508
520 string getOSCharset();
521
522 public:
524
534 *string getOSEncoding();
535
536 public:
538
550 auto getOption(string opt);
551
552 public:
554
568 hash<auto> getOptionHash();
569
570 public:
572
582 *string getPassword();
583
584 public:
586
596 *int getPort();
597
598 public:
600
609 AbstractSQLStatement getSQLStatement();
610
611 public:
613
624 auto getServerVersion();
625
626 public:
628
638 int getTransactionLockTimeout();
639
640 public:
642
652 *string getUserName();
653
654 public:
656
666 bool inTransaction();
667
668 public:
670
681 nothing open();
682
683 public:
685
694 nothing reset();
695
696 public:
698
707 nothing rollback();
708
709 public:
711
744 auto select(string sql, ...);
745
746 public:
748
769 *hash<auto> selectRow(string sql, ...);
770
771 public:
773
799 auto selectRows(string sql, ...);
800
801 public:
803
809 nothing setAutoCommit(bool ac = True);
810
811 public:
813
824 nothing setDBCharset(string encoding);
825
826 public:
828
837 nothing setDBEncoding(string encoding);
838
839 public:
841
850 nothing setDBName(string db);
851
852 public:
854
861 nothing setEventQueue(Qore::Thread::Queue queue, auto arg);
862
863 public:
865
874 nothing setHostName(string host);
875
876 public:
878
889 setOption(string opt, auto val);
890
891 public:
893
902 nothing setPassword(string pass);
903
904 public:
906
915 nothing setPort(softint port = 0);
916
917 public:
919
926 nothing setTransactionLockTimeout(timeout timeout_ms = 0);
927
928 public:
930
939 nothing setUserName(string user);
940
941 public:
943
960 int transactionTid();
961
962 public:
964
982 auto vexec(string sql, *softlist<auto> vargs);
983
984 public:
986
1016 auto vselect(string sql, *softlist<auto> vargs);
1017
1018 public:
1020
1042 *hash<auto> vselectRow(string sql, *softlist<auto> vargs);
1043
1044 public:
1046
1074 auto vselectRows(string sql, *softlist<auto> vargs);
1075 };
1079
1081 const DSDB2 = "db2";
1084 const DSFreeTDS = "freetds";
1086 const DSMSSQL = "freetds";
1088 const DSMySQL = "mysql";
1090 const DSOracle = "oracle";
1092 const DSPGSQL = "pgsql";
1094 const DSSQLite3 = "sqlite3";
1096 const DSSybase = "sybase";
1101
1103 const DBI_CAP_AUTORECONNECT = DBI_CAP_AUTORECONNECT;
1106 const DBI_CAP_BIND_BY_PLACEHOLDER = DBI_CAP_BIND_BY_PLACEHOLDER;
1108 const DBI_CAP_BIND_BY_VALUE = DBI_CAP_BIND_BY_VALUE;
1110 const DBI_CAP_CHARSET_SUPPORT = DBI_CAP_CHARSET_SUPPORT;
1112 const DBI_CAP_EVENTS = DBI_CAP_EVENTS;
1114 const DBI_CAP_HAS_ARRAY_BIND = DBI_CAP_HAS_ARRAY_BIND;
1116 const DBI_CAP_HAS_DESCRIBE = DBI_CAP_HAS_DESCRIBE;
1118 const DBI_CAP_HAS_EXECRAW = DBI_CAP_HAS_EXECRAW;
1120 const DBI_CAP_HAS_NUMBER_SUPPORT = DBI_CAP_HAS_NUMBER_SUPPORT;
1122 const DBI_CAP_HAS_OPTION_SUPPORT = DBI_CAP_HAS_OPTION_SUPPORT;
1124
1126 const DBI_CAP_HAS_RESULTSET_OUTPUT = DBI_CAP_HAS_RESULTSET_OUTPUT;
1128 const DBI_CAP_HAS_SELECT_ROW = DBI_CAP_HAS_SELECT_ROW;
1130 const DBI_CAP_HAS_STATEMENT = DBI_CAP_HAS_STATEMENT;
1132 const DBI_CAP_LOB_SUPPORT = DBI_CAP_LOB_SUPPORT;
1134 const DBI_CAP_SERVER_TIME_ZONE = DBI_CAP_SERVER_TIME_ZONE;
1136 const DBI_CAP_STORED_PROCEDURES = DBI_CAP_STORED_PROCEDURES;
1138 const DBI_CAP_TIME_ZONE_SUPPORT = DBI_CAP_TIME_ZONE_SUPPORT;
1140 const DBI_CAP_TRANSACTION_MANAGEMENT = DBI_CAP_TRANSACTION_MANAGEMENT;
1142 }
1143 }
Qore::SQL::AbstractSQLStatement
This class defines an abstract interface for the SQLStatement class.
Definition: QC_AbstractSQLStatement.dox.h:11
Qore::SQL::Datasource::getConfigString
string getConfigString()
Returns a string giving the configuration of the current object in a format that can be parsed by par...
Qore::SQL::Datasource::select
auto select(string sql,...)
Executes an SQL select statement on the server and returns the result as a hash (column names) of lis...
Qore::Serializable::constructor
constructor()
The constructor does not perform any action; this class is just used to mark a class as serializable ...
Qore::SQL::Datasource::selectRows
auto selectRows(string sql,...)
Executes an SQL select statement on the server and returns the result as a list (rows) of hashes (the...
Qore::SQL::DBI_CAP_HAS_NUMBER_SUPPORT
const DBI_CAP_HAS_NUMBER_SUPPORT
Indicates that the DBI driver supports arbitrary-precision numeric support for binding and retrieving...
Definition: QC_Datasource.dox.h:1120
Qore::SQL::Datasource::setPort
nothing setPort(softint port=0)
Sets the port number to use for the connection.
Qore::SQL::DSFreeTDS
const DSFreeTDS
for the "freetds" driver
Definition: QC_Datasource.dox.h:1084
Qore::SQL::Datasource::transactionTid
int transactionTid()
Returns the TID of the thread holding the transaction lock or -1 if it&#39;s not currently held...
Qore::SQL::Datasource::getDBEncoding
*string getDBEncoding()
Retrieves the database-specific charset set encoding for the current connection.
Qore::SQL::Datasource::setDBCharset
nothing setDBCharset(string encoding)
Sets the database-specific character encoding name for the next connection to the server...
Qore::SQL::DBI_CAP_AUTORECONNECT
const DBI_CAP_AUTORECONNECT
Indicates that the DBI driver supports automatically/transparently reconnecting to the server if the ...
Definition: QC_Datasource.dox.h:1104
Qore::SQL::DBI_CAP_HAS_EXECRAW
const DBI_CAP_HAS_EXECRAW
Indicates that the DBI driver supports the Datasource::execRaw() and DatasourcePool::execRaw() method...
Definition: QC_Datasource.dox.h:1118
Qore::SQL::Datasource::getPassword
*string getPassword()
Returns the password parameter as a string or NOTHING if none is set.
Qore::SQL::DBI_CAP_HAS_STATEMENT
const DBI_CAP_HAS_STATEMENT
Indicates that the DBI driver supports the prepared statement interface (the SQLStatement class) ...
Definition: QC_Datasource.dox.h:1130
Qore::SQL::DSMSSQL
const DSMSSQL
another constant for the "freetds" driver
Definition: QC_Datasource.dox.h:1086
Qore::SQL::Datasource::getOSEncoding
*string getOSEncoding()
Returns the Qore character encoding name for the current connection as a string or NOTHING if none is...
Qore::SQL::Datasource::execRaw
auto execRaw(string sql)
Grabs the transaction lock (if autocommit is disabled) and executes an SQL command on the server and ...
Qore::SQL::DBI_CAP_LOB_SUPPORT
const DBI_CAP_LOB_SUPPORT
Indicates that the DBI driver supports LOB columns (BLOBs and CLOBs, for example) ...
Definition: QC_Datasource.dox.h:1132
Qore::SQL::Datasource::rollback
nothing rollback()
Rolls the current transaction back and releases the transaction lock.
Qore::True
const True
logical True
Definition: qc_qore.dox.h:98
Qore::SQL::Datasource::setHostName
nothing setHostName(string host)
Sets the hostname to use for the next connection to the server.
Qore::SQL::Datasource::getCapabilities
int getCapabilities()
Returns an integer bitfield of DBI driver capabilities.
Qore::SQL::DSPGSQL
const DSPGSQL
for the "pgsql" driver
Definition: QC_Datasource.dox.h:1092
Qore::SQL::Datasource::getAutoCommit
bool getAutoCommit()
Returns the autocommit status for the object.
Qore::SQL::DBI_CAP_HAS_DESCRIBE
const DBI_CAP_HAS_DESCRIBE
Indicates that the DBI driver supports the describe method.
Definition: QC_Datasource.dox.h:1116
Qore::SQL::Datasource::getSQLStatement
AbstractSQLStatement getSQLStatement()
Returns an AbstractSQLStatement object based on the current database connection object.
Qore::Serializable
The Serializable class can be used to mark a class as being serializable.
Definition: QC_Serializable.dox.h:96
Qore::SQL::Datasource::vselectRow
*hash< auto > vselectRow(string sql, *softlist< auto > vargs)
Executes a select statement on the server and returns the first row as a hash (column names and value...
Qore::SQL::AbstractDatasource
This class defines an abstract interface for database access, inherited by both the Datasource and Da...
Definition: QC_AbstractDatasource.dox.h:10
Qore::SQL::Datasource::getPort
*int getPort()
Gets the port number that will be used for the next connection to the server.
Qore::SQL::DSSQLite3
const DSSQLite3
for the "sqlite3" driver
Definition: QC_Datasource.dox.h:1094
Qore::SQL::DBI_CAP_HAS_OPTION_SUPPORT
const DBI_CAP_HAS_OPTION_SUPPORT
Indicates that the DBI driver supports the new driver option API.
Definition: QC_Datasource.dox.h:1122
Qore::SQL::Datasource::getHostName
*string getHostName()
Returns the hostname parameter as a string or NOTHING if none is set.
Qore::SQL::Datasource::vselect
auto vselect(string sql, *softlist< auto > vargs)
Executes a select statement on the server and returns the results in a hash (column names) of lists (...
Qore::SQL::Datasource::beginTransaction
nothing beginTransaction()
Manually grabs the transaction lock.
Qore::SQL::Datasource::exec
auto exec(string sql,...)
Grabs the transaction lock (if autocommit is disabled) and executes an SQL command on the server and ...
Qore::SQL::Datasource::clearEventQueue
nothing clearEventQueue()
Clears the queue object for DBI events on the datasource.
Qore::SQL::DBI_CAP_BIND_BY_VALUE
const DBI_CAP_BIND_BY_VALUE
Indicates that the DBI driver supports directly binding qore values into queries using the %v placeho...
Definition: QC_Datasource.dox.h:1108
Qore::SQL::Datasource::describe
*hash< auto > describe(string sql,...)
Executes an SQL select statement on the server and returns a description of the result set as a hash...
Qore::SQL::DBI_CAP_TIME_ZONE_SUPPORT
const DBI_CAP_TIME_ZONE_SUPPORT
Indicates that the DBI driver supports time zones in times.
Definition: QC_Datasource.dox.h:1138
Qore::SQL::DSSybase
const DSSybase
for the "sybase" driver
Definition: QC_Datasource.dox.h:1096
Qore::SQL::Datasource::getOptionHash
hash< auto > getOptionHash()
returns the valid options for the driver associated with the Datasource with descriptions and current...
Qore::SQL::DBI_CAP_HAS_RESULTSET_OUTPUT
const DBI_CAP_HAS_RESULTSET_OUTPUT
Indicates that the DBI driver supports result set output binding with a SQLStatement output variable...
Definition: QC_Datasource.dox.h:1126
Qore::SQL::Datasource::vselectRows
auto vselectRows(string sql, *softlist< auto > vargs)
Executes a select statement on the server and returns the results in a list (rows) of hashes (column ...
Qore::SQL::Datasource::setPassword
nothing setPassword(string pass)
Sets the password parameter for the time a connection to the server is established.
Qore::SQL::Datasource::setOption
setOption(string opt, auto val)
sets an option for the datasource
Qore::SQL::Datasource::currentThreadInTransaction
bool currentThreadInTransaction()
Returns True if the current thread is in a transaction (i.e. holds the transaction lock)...
Qore::SQL::Datasource::vexec
auto vexec(string sql, *softlist< auto > vargs)
Grabs the transaction lock (if autocommit is disabled) and executes SQL code on the DB connection...
Qore::SQL::Datasource::open
nothing open()
Opens a connection to the datasouce, using the connection parameters already set; an exception is thr...
Qore::SQL::Datasource::setEventQueue
nothing setEventQueue(Qore::Thread::Queue queue, auto arg)
Sets a queue object for DBI events on the datasource.
Qore::SQL::DBI_CAP_BIND_BY_PLACEHOLDER
const DBI_CAP_BIND_BY_PLACEHOLDER
Indicates that the DBI driver supports binding placeholder buffers when executing SQL to retrieve dat...
Definition: QC_Datasource.dox.h:1106
Qore::SQL::Datasource::reset
nothing reset()
Closes and reopens the Datasource.
Qore::SQL::Datasource::setDBEncoding
nothing setDBEncoding(string encoding)
Sets the database-specific character encoding name for the next connection to the server...
Qore::SQL::Datasource::close
nothing close()
Closes the connection to the database; if any actions are in progress on the database, the close call will block until the actions complete. If any errors are encountered, an exception is raised.
Qore::SQL::Datasource::getCapabilityList
list< auto > getCapabilityList()
Returns a list of strings giving the capabilities of the current DBI driver.
Qore::SQL::DBI_CAP_STORED_PROCEDURES
const DBI_CAP_STORED_PROCEDURES
Indicates that the DBI driver supports stored procedure execution.
Definition: QC_Datasource.dox.h:1136
Qore::SQL::Datasource::getClientVersion
auto getClientVersion()
Retrieves the driver-specific client library version information; this method may not be implemented ...
Qore::SQL::Datasource::selectRow
*hash< auto > selectRow(string sql,...)
Executes an SQL select statement on the server and returns the first row as a hash (the column values...
Qore::SQL::Datasource::getOSCharset
string getOSCharset()
Returns the Qore character encoding name for the current connection as a string or "(unknown)" if non...
Qore::SQL::Datasource::setAutoCommit
nothing setAutoCommit(bool ac=True)
Turns autocommit on or off for this object.
Qore::SQL::Datasource::commit
nothing commit()
Commits the current transaction and releases the transaction lock.
Qore::SQL::DSDB2
const DSDB2
for the "db2" driver
Definition: QC_Datasource.dox.h:1082
Qore::Thread::Queue
Queue objects provide a blocking, thread-safe message-passing object to Qore programs ...
Definition: QC_Queue.dox.h:22
Qore::SQL::Datasource::getServerVersion
auto getServerVersion()
Returns the driver-specific server version data for the current connection.
Qore::SQL::DBI_CAP_TRANSACTION_MANAGEMENT
const DBI_CAP_TRANSACTION_MANAGEMENT
Indicates that the DBI driver supports transaction management.
Definition: QC_Datasource.dox.h:1140
Qore::SQL::Datasource::destructor
destructor()
Closes the datasource if it&#39;s open (if any operations are in progress, will block until the operation...
Qore::SQL::DBI_CAP_HAS_ARRAY_BIND
const DBI_CAP_HAS_ARRAY_BIND
Indicates that the DBI driver supports binding arrays by value for bulk DML operations.
Definition: QC_Datasource.dox.h:1114
Qore::SQL::Datasource::getDBCharset
*string getDBCharset()
Retrieves the database-specific charset set encoding for the current connection.
Qore::SQL::Datasource::inTransaction
bool inTransaction()
Returns True if a transaction is currently in progress, False if not.
Qore::SQL::DBI_CAP_SERVER_TIME_ZONE
const DBI_CAP_SERVER_TIME_ZONE
Indicates that the DBI driver supports automatically converting date/time values to the server&#39;s pres...
Definition: QC_Datasource.dox.h:1134
Qore::SQL::Datasource::setTransactionLockTimeout
nothing setTransactionLockTimeout(timeout timeout_ms=0)
Sets the transaction lock timeout value in milliseconds; set to 0 for no timeout. ...
Qore::SQL::Datasource::getDBName
*string getDBName()
Returns the database name parameter as a string or NOTHING if none is set.
Qore
main Qore-language namespace
Definition: Pseudo_QC_All.dox.h:3
Qore::SQL::Datasource::setDBName
nothing setDBName(string db)
Sets the database name parameter for the time a connection to the server is established.
Qore::SQL::Datasource::getTransactionLockTimeout
int getTransactionLockTimeout()
Retrieves the transaction lock timeout value as an integer in milliseconds.
Qore::SQL::Datasource::getUserName
*string getUserName()
Returns the username parameter as a string or NOTHING if none is set.
Qore::SQL::Datasource::getConfigHash
hash< auto > getConfigHash()
Returns a datasource hash describing the configuration of the current object.
Qore::SQL::Datasource::setUserName
nothing setUserName(string user)
Sets the username parameter for the time a connection to the server is established.
Qore::SQL::DSMySQL
const DSMySQL
for the "mysql" driver
Definition: QC_Datasource.dox.h:1088
Qore::SQL::DBI_CAP_HAS_SELECT_ROW
const DBI_CAP_HAS_SELECT_ROW
Indicates that the DBI driver supports a native selectRow() method implementation.
Definition: QC_Datasource.dox.h:1128
Qore::SQL::DBI_CAP_CHARSET_SUPPORT
const DBI_CAP_CHARSET_SUPPORT
Indicates that the DBI driver supports proper character encoding conversions.
Definition: QC_Datasource.dox.h:1110
Qore::SQL::Datasource
This class provides the Qore interface to databases.
Definition: QC_Datasource.dox.h:106
Qore::SQL::DBI_CAP_EVENTS
const DBI_CAP_EVENTS
Indicates that the DBI driver supports the event API.
Definition: QC_Datasource.dox.h:1112
Qore::SQL::Datasource::copy
copy()
Creates a new Datasource object with the same driver as the original and copies of all the connection...
Qore::SQL::DSOracle
const DSOracle
for the "oracle" driver
Definition: QC_Datasource.dox.h:1090
Qore::SQL::Datasource::getDriverName
string getDriverName()
Returns the name of the driver used for the object.
Qore::SQL::Datasource::getOption
auto getOption(string opt)
Returns the current value for the given option.