The SQLite Class - TGRCdev/gdsqlite-native GitHub Wiki

SQLite

extends Reference

A wrapper class that lets you perform SQL statements on an SQLite database file. For queries that involve arbitrary user input, you should use methods that end in *_with_args, as these protect against SQL injection.

Methods

void close()

Closes the database handle.

Array fetch_array(statement: String)

Returns the result of statement as an Array of rows. Each row is a Dictionary, and each column can be accessed with either its name or its column position.

Array fetch_array_with_args(statement: String, args: Array)

Returns the result of statement as an Array of rows, substituting each ? using args. Each row is a Dictionary, and each column can be accessed with either its name or its column position.

Array fetch_assoc(statement: String)

Returns the result of statement as an Array of rows. Each row is a Dictionary, and the keys are the names of the columns.

Array fetch_assoc_with_args(statement: String, args: Array)

Returns the result of statement as an Array of rows, substituting each ? with args. Each row is a Dictionary, and the keys are the names of the columns.

bool open(path: String)

Opens the database file at the given path. Returns true if the database was successfully opened, false otherwise. If the path starts with "res://" and the script is ran outside of the editor, open_buffered will be used implicitly.

bool open_buffered(name: String, buffers: PoolByteArray, size: int)

Opens a temporary database with the data in buffer. Used for opening databases stored in res:// or compressed databases. Returns true if the database was opened successfully. Can be written to, but the changes are NOT saved!

bool open_buffered_with_flags(name: String, buffers: PoolByteArray, size: int)

Opens a temporary database with the data in buffer with the given flags. Used for opening databases stored in res:// or compressed databases. Returns true if the database was opened successfully. Can be written to, but the changes are NOT saved!

The accepted flags are available as constants in res://lib/gdsqlite/flags.gd.

bool open_encrypted(path: String, password: String)

Opens the database file at the given path with the given password. Returns true if the database was successfully opened and decrypted, false otherwise. If the path starts with "res://" and the script is ran outside of the editor, open_buffered will be used implicitly before decrypting.

bool open_encrypted_with_flags(path: String, password: String, flags: int)

Opens the database file at the given path with the given password using the given SQLITE_OPEN flags. Returns true if the database was successfully opened and decrypted, false otherwise. If the path starts with "res://" and the script is ran outside of the editor, open_buffered_with_flags will be used implicitly before decrypting.

The accepted flags are available as constants in res://lib/gdsqlite/flags.gd.

bool open_with_flags(path: String, password: String, flags: int)

Opens the database file at the given path with the given flags. Returns true if the database was successfully opened, false otherwise. If the path starts with "res://" and the script is ran outside of the editor, open_buffered_with_flags will be used implicitly.

The accepted flags are available as constants in res://lib/gdsqlite/flags.gd.

bool query(statement: String)

Queries the database with the given SQL statement. Returns true if no errors occurred.

bool query_all(statement: String)

Queries the database with a list of SQL statements, separated by semicolons. Returns true if no errors occurred.

bool query_with_args(statement: String, args: Array)

Queries the database with the given SQL statement, replacing any ? with arguments supplied by args. Returns true if no errors occurred.