namespace InvercargillSql { /** * Flags for controlling database connection behavior. * * These flags are database-agnostic and map to appropriate backend-specific * values internally. * * Example usage: * ```vala * var conn = ConnectionFactory.create_and_open("sqlite:///mydb.db"); * * // For read-only access, use connection string options: * var conn = ConnectionFactory.create_and_open("sqlite:///mydb.db?mode=ro"); * ``` */ [Flags] public enum ConnectionFlags { /** * Open the database for reading only. */ READ_ONLY = 1 << 0, /** * Open the database for reading and writing. */ READ_WRITE = 1 << 1, /** * Create the database if it does not exist. */ CREATE = 1 << 2, /** * Open an in-memory database. */ MEMORY = 1 << 3, /** * Default flags: read-write with create. */ DEFAULT = READ_WRITE | CREATE } }