QC_Datasource.dox.h
namespace Qore {
namespace SQL {
class Datasource : public AbstractDatasource, public Serializable {
public:
nothing beginTransaction();
public:
nothing clearEventQueue();
public:
nothing close();
public:
nothing commit();
public:
constructor(string driver, *string user, *string pass, *string db, *string encoding, *string host, *softint port, *hash<auto> options, *Qore::Thread::Queue queue, auto arg);
public:
constructor(string desc, *Qore::Thread::Queue queue, auto arg);
public:
constructor(hash<auto> opts, *Qore::Thread::Queue queue, auto arg);
public:
copy();
public:
bool currentThreadInTransaction();
public:
*hash<auto> describe(string sql, ...);
public:
destructor();
public:
auto exec(string sql, ...);
public:
auto execRaw(string sql);
public:
bool getAutoCommit();
public:
int getCapabilities();
public:
list<auto> getCapabilityList();
public:
auto getClientVersion();
public:
hash<auto> getConfigHash();
public:
string getConfigString();
public:
*string getDBCharset();
public:
*string getDBEncoding();
public:
*string getDBName();
public:
string getDriverName();
public:
*string getHostName();
public:
string getOSCharset();
public:
*string getOSEncoding();
public:
auto getOption(string opt);
public:
hash<auto> getOptionHash();
public:
*string getPassword();
public:
*int getPort();
public:
AbstractSQLStatement getSQLStatement();
public:
auto getServerVersion();
public:
int getTransactionLockTimeout();
public:
*string getUserName();
public:
bool inTransaction();
public:
nothing open();
public:
nothing reset();
public:
nothing rollback();
public:
auto select(string sql, ...);
public:
*hash<auto> selectRow(string sql, ...);
public:
auto selectRows(string sql, ...);
public:
nothing setAutoCommit(bool ac = True);
public:
nothing setDBCharset(string encoding);
public:
nothing setDBEncoding(string encoding);
public:
nothing setDBName(string db);
public:
nothing setEventQueue(Qore::Thread::Queue queue, auto arg);
public:
nothing setHostName(string host);
public:
setOption(string opt, auto val);
public:
nothing setPassword(string pass);
public:
nothing setPort(softint port = 0);
public:
nothing setTransactionLockTimeout(timeout timeout_ms = 0);
public:
nothing setUserName(string user);
public:
int transactionTid();
public:
auto vexec(string sql, *softlist<auto> vargs);
public:
auto vselect(string sql, *softlist<auto> vargs);
public:
*hash<auto> vselectRow(string sql, *softlist<auto> vargs);
public:
auto vselectRows(string sql, *softlist<auto> vargs);
};
const DSDB2 = "db2";
const DSFreeTDS = "freetds";
const DSMSSQL = "freetds";
const DSMySQL = "mysql";
const DSOracle = "oracle";
const DSPGSQL = "pgsql";
const DSSQLite3 = "sqlite3";
const DSSybase = "sybase";
const DBI_CAP_AUTORECONNECT = DBI_CAP_AUTORECONNECT;
const DBI_CAP_BIND_BY_PLACEHOLDER = DBI_CAP_BIND_BY_PLACEHOLDER;
const DBI_CAP_BIND_BY_VALUE = DBI_CAP_BIND_BY_VALUE;
const DBI_CAP_CHARSET_SUPPORT = DBI_CAP_CHARSET_SUPPORT;
const DBI_CAP_EVENTS = DBI_CAP_EVENTS;
const DBI_CAP_HAS_ARRAY_BIND = DBI_CAP_HAS_ARRAY_BIND;
const DBI_CAP_HAS_DESCRIBE = DBI_CAP_HAS_DESCRIBE;
const DBI_CAP_HAS_EXECRAW = DBI_CAP_HAS_EXECRAW;
const DBI_CAP_HAS_NUMBER_SUPPORT = DBI_CAP_HAS_NUMBER_SUPPORT;
const DBI_CAP_HAS_OPTION_SUPPORT = DBI_CAP_HAS_OPTION_SUPPORT;
const DBI_CAP_HAS_RESULTSET_OUTPUT = DBI_CAP_HAS_RESULTSET_OUTPUT;
const DBI_CAP_HAS_SELECT_ROW = DBI_CAP_HAS_SELECT_ROW;
const DBI_CAP_HAS_STATEMENT = DBI_CAP_HAS_STATEMENT;
const DBI_CAP_LOB_SUPPORT = DBI_CAP_LOB_SUPPORT;
const DBI_CAP_SERVER_TIME_ZONE = DBI_CAP_SERVER_TIME_ZONE;
const DBI_CAP_STORED_PROCEDURES = DBI_CAP_STORED_PROCEDURES;
const DBI_CAP_TIME_ZONE_SUPPORT = DBI_CAP_TIME_ZONE_SUPPORT;
const DBI_CAP_TRANSACTION_MANAGEMENT = DBI_CAP_TRANSACTION_MANAGEMENT;
}
}
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.