logo

const class

sql::SqlService

sys::Obj
  sys::Thread
    sql::SqlService

SqlService is the interface to a relational database. It is const and all state is stored as thread local variables.

See docLib::Sql.

Slots

autoCommit

Void autoCommit(Bool val)

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

close

Void close()

Close the database. A call to close may not actually close the database. It depends on how many times open has been called for the current thread. The database will not be closed until close has been called once for every time that open has been called.

commit

Void commit()

Commit all the changes made inside the current transaction.

connection

const Str connection

The database specific string used to connect to the database.

dialect

const Dialect dialect

The database dialect for this service.

isAutoCommit

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

isClosed

Bool isClosed()

Test the closed state of the database.

lastAutoKey

Int lastAutoKey()

Get the key that was generated by the last statement or null if no key was generated.

log

static Log log

Standard log for the sql service

make

new make(Str threadName := null, Str connection := "", Str username := "", Str password := "", Dialect dialect := null)

Make a new SqlService.

  • threadName is the unique name used to identify the thread.
  • 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.
open

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 time open is called, a counter is incremented. The database will not be closed until close has been called for each call to open.

password

const Str password

The password used to connect to this database.

rollback

Void rollback()

Undo any changes made inside the current transaction.

run

override protected Obj run()

sql

Statement sql(Str sql)

Create a statement for this database.

start

override SqlService start()

tableExists

Bool tableExists(Str tableName)

Does the specified table exist in the database?

tableRow

Obj tableRow(Str tableName)

Get a default row instance for the specified table. The result has a field for each table column.

tables

Str[] tables()

List the tables in the database. Returns a list of the table names.

username

const Str username

The username used to connect to this database.