SqlService is the interface to a relational database. It is const and all state is stored as thread local variables.
See docLib::Sql.
Slots
- autoCommitSource
-
Set the auto-commit state of this database. If true, each statement is committed as it is executed. If false, statements are grouped into transactions and committed when
commit
- closeSource
-
Void close()
Close the database. A call to
close
may not actually close the database. It depends on how many timesopen
has been called for the current thread. The database will not be closed untilclose
has been called once for every time thatopen
has been called. - commitSource
-
Void commit()
Commit all the changes made inside the current transaction.
- connectionSource
-
const Str connection
The database specific string used to connect to the database.
- dialectSource
-
const Dialect dialect
The database dialect for this service.
-
const private Str id
Unique identifier for VM used to key thread locals
- isAutoCommitSource
-
Bool isAutoCommit()
Test the auto-commit state of this database. If true, each statement is committed as it is executed. If false, statements are grouped into transactions and committed when
commit
- isClosedSource
-
Bool isClosed()
Test the closed state of the database.
- lastAutoKeySource
-
Int? lastAutoKey()
Get the key that was generated by the last statement or null if no key was generated.
- logSource
-
static Log log := Log.get("sql")
Standard log for the sql service
- makeSource
-
new make(Str connection := "", Str? username := "", Str? password := "", Dialect? dialect := null)
Make a new SqlService.
connection
is the connection string. For java this is the jdbc url. For .NET this is the connection string.username
is the username for the database login.password
is the password for the database login.dialect
is the database specific dialect implementation. If null, MySqlDialect is assumed.
- openSource
-
SqlService open()
Open the database. This opens a connection to the database for the calling thread. A database must be open before it can be accessed.
open
may be called multiple times. Each timeopen
is called, a counter is incremented. The database will not be closed untilclose
has been called for each call toopen
. - passwordSource
-
const Str? password
The password used to connect to this database.
- rollbackSource
-
Void rollback()
Undo any changes made inside the current transaction.
- sqlSource
-
Create a statement for this database.
- tableExistsSource
-
Bool tableExists(Str tableName)
Does the specified table exist in the database?
- tableRowSource
-
Get a default row instance for the specified table. The result has a field for each table column.
- tablesSource
-
Str[] tables()
List the tables in the database. Returns a list of the table names.
-
private Connection? threadConnection(Bool checked := true)
Get the connection to this database for the current thread.
- usernameSource
-
const Str? username
The username used to connect to this database.