sqlite

package
v0.0.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 29, 2023 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Overview

Package sqlite provides bindings for sqlite 3.

Index

Constants

View Source
const (
	DefaultSchema = "main"
	DefaultMemory = ":memory:"
	DefaultFlags  = SQLITE_OPEN_CREATE | SQLITE_OPEN_READWRITE
)

Variables

This section is empty.

Functions

func KeywordCheck

func KeywordCheck(v string) bool

Lookup keyword

func KeywordCount

func KeywordCount() int

Return number of keywords

func KeywordName

func KeywordName(index int) string

Return keyword

func Version

func Version() (string, int, string)

Return version

Types

type Conn

type Conn C.sqlite3

func OpenPath

func OpenPath(path string, flags OpenFlags, vfs string) (*Conn, error)

Open Path

func OpenUrl

func OpenUrl(url string, flags OpenFlags, vfs string) (*Conn, error)

Open URL

func (*Conn) Autocommit

func (c *Conn) Autocommit() bool

Return autocommit state

func (*Conn) CacheFlush

func (c *Conn) CacheFlush() error

Cache Flush

func (*Conn) Changes

func (c *Conn) Changes() int

Get number of changes (rows affected)

func (*Conn) Close

func (c *Conn) Close() error

Close Connection

func (*Conn) Filename

func (c *Conn) Filename(schema string) string

Get Filename

func (*Conn) Interrupt

func (c *Conn) Interrupt()

Interrupt all queries for connection

func (*Conn) LastInsertId

func (c *Conn) LastInsertId() int64

Get last insert id

func (*Conn) Readonly

func (c *Conn) Readonly(schema string) bool

Get Read-only state. Also returns false if database not found

func (*Conn) ReleaseMemory

func (c *Conn) ReleaseMemory() error

Release Memory

func (*Conn) SetExtendedResultCodes

func (c *Conn) SetExtendedResultCodes(v bool) error

Set extended result codes

func (*Conn) SetLastInsertId

func (c *Conn) SetLastInsertId(v int64)

Set last insert id

func (*Conn) String

func (c *Conn) String() string

type OpenFlags

type OpenFlags C.int
const (
	SQLITE_OPEN_NONE         OpenFlags = 0
	SQLITE_OPEN_READONLY     OpenFlags = C.SQLITE_OPEN_READONLY     // The database is opened in read-only mode. If the database does not already exist, an error is returned.
	SQLITE_OPEN_READWRITE    OpenFlags = C.SQLITE_OPEN_READWRITE    // The database is opened for reading and writing if possible, or reading only if the file is write protected by the operating system. In either case the database must already exist, otherwise an error is returned.
	SQLITE_OPEN_CREATE       OpenFlags = C.SQLITE_OPEN_CREATE       // The database is created if it does not already exist
	SQLITE_OPEN_URI          OpenFlags = C.SQLITE_OPEN_URI          // The filename can be interpreted as a URI if this flag is set.
	SQLITE_OPEN_MEMORY       OpenFlags = C.SQLITE_OPEN_MEMORY       // The database will be opened as an in-memory database. The database is named by the "filename" argument for the purposes of cache-sharing, if shared cache mode is enabled, but the "filename" is otherwise ignored.
	SQLITE_OPEN_NOMUTEX      OpenFlags = C.SQLITE_OPEN_NOMUTEX      // The new database connection will use the "multi-thread" threading mode. This means that separate threads are allowed to use SQLite at the same time, as long as each thread is using a different database connection.
	SQLITE_OPEN_FULLMUTEX    OpenFlags = C.SQLITE_OPEN_FULLMUTEX    // The new database connection will use the "serialized" threading mode. This means the multiple threads can safely attempt to use the same database connection at the same time. (Mutexes will block any actual concurrency, but in this mode there is no harm in trying.)
	SQLITE_OPEN_SHAREDCACHE  OpenFlags = C.SQLITE_OPEN_SHAREDCACHE  // The database is opened shared cache enabled, overriding the default shared cache setting provided by sqlite3_enable_shared_cache().
	SQLITE_OPEN_PRIVATECACHE OpenFlags = C.SQLITE_OPEN_PRIVATECACHE // The database is opened shared cache disabled, overriding the default shared cache setting provided by sqlite3_enable_shared_cache().
	//	SQLITE_OPEN_NOFOLLOW     OpenFlags = C.SQLITE_OPEN_NOFOLLOW                         // The database filename is not allowed to be a symbolic link
	SQLITE_OPEN_MIN = SQLITE_OPEN_READONLY
	SQLITE_OPEN_MAX = SQLITE_OPEN_PRIVATECACHE
)

func (OpenFlags) String

func (v OpenFlags) String() string

func (OpenFlags) StringFlag

func (v OpenFlags) StringFlag() string

type SQAction

type SQAction C.int
const (
	SQLITE_CREATE_INDEX        SQAction = C.SQLITE_CREATE_INDEX
	SQLITE_CREATE_TABLE        SQAction = C.SQLITE_CREATE_TABLE
	SQLITE_CREATE_TEMP_INDEX   SQAction = C.SQLITE_CREATE_TEMP_INDEX
	SQLITE_CREATE_TEMP_TABLE   SQAction = C.SQLITE_CREATE_TEMP_TABLE
	SQLITE_CREATE_TEMP_TRIGGER SQAction = C.SQLITE_CREATE_TEMP_TRIGGER
	SQLITE_CREATE_TEMP_VIEW    SQAction = C.SQLITE_CREATE_TEMP_VIEW
	SQLITE_CREATE_TRIGGER      SQAction = C.SQLITE_CREATE_TRIGGER
	SQLITE_CREATE_VIEW         SQAction = C.SQLITE_CREATE_VIEW
	SQLITE_DELETE              SQAction = C.SQLITE_DELETE
	SQLITE_DROP_INDEX          SQAction = C.SQLITE_DROP_INDEX
	SQLITE_DROP_TABLE          SQAction = C.SQLITE_DROP_TABLE
	SQLITE_DROP_TEMP_INDEX     SQAction = C.SQLITE_DROP_TEMP_INDEX
	SQLITE_DROP_TEMP_TABLE     SQAction = C.SQLITE_DROP_TEMP_TABLE
	SQLITE_DROP_TEMP_TRIGGER   SQAction = C.SQLITE_DROP_TEMP_TRIGGER
	SQLITE_DROP_TEMP_VIEW      SQAction = C.SQLITE_DROP_TEMP_VIEW
	SQLITE_DROP_TRIGGER        SQAction = C.SQLITE_DROP_TRIGGER
	SQLITE_DROP_VIEW           SQAction = C.SQLITE_DROP_VIEW
	SQLITE_INSERT              SQAction = C.SQLITE_INSERT
	SQLITE_PRAGMA              SQAction = C.SQLITE_PRAGMA
	SQLITE_READ                SQAction = C.SQLITE_READ
	SQLITE_SELECT              SQAction = C.SQLITE_SELECT
	SQLITE_TRANSACTION         SQAction = C.SQLITE_TRANSACTION
	SQLITE_UPDATE              SQAction = C.SQLITE_UPDATE
	SQLITE_ATTACH              SQAction = C.SQLITE_ATTACH
	SQLITE_DETACH              SQAction = C.SQLITE_DETACH
	SQLITE_ALTER_TABLE         SQAction = C.SQLITE_ALTER_TABLE
	SQLITE_REINDEX             SQAction = C.SQLITE_REINDEX
	SQLITE_ANALYZE             SQAction = C.SQLITE_ANALYZE
	SQLITE_CREATE_VTABLE       SQAction = C.SQLITE_CREATE_VTABLE
	SQLITE_DROP_VTABLE         SQAction = C.SQLITE_DROP_VTABLE
	SQLITE_FUNCTION            SQAction = C.SQLITE_FUNCTION
	SQLITE_SAVEPOINT           SQAction = C.SQLITE_SAVEPOINT
	SQLITE_COPY                SQAction = C.SQLITE_COPY
	SQLITE_RECURSIVE           SQAction = C.SQLITE_RECURSIVE
	SQLITE_ACTION_MIN                   = SQLITE_CREATE_INDEX
	SQLITE_ACTION_MAX                   = SQLITE_RECURSIVE
)

Ref: http://www.sqlite.org/c3ref/c_limit_attached.html

func (SQAction) String

func (v SQAction) String() string

type SQAuth

type SQAuth C.int
const (
	SQLITE_ALLOW  SQAuth = SQAuth(SQLITE_OK) /* Operation requested is ok */
	SQLITE_DENY   SQAuth = C.SQLITE_DENY     /* Abort the SQL statement with an error */
	SQLITE_IGNORE SQAuth = C.SQLITE_IGNORE   /* Don't allow access, but don't generate an error */
)

func (SQAuth) String

func (v SQAuth) String() string

type SQError

type SQError C.int
const (
	SQLITE_OK         SQError = C.SQLITE_OK         /* Successful result */
	SQLITE_ERROR      SQError = C.SQLITE_ERROR      /* Generic error */
	SQLITE_INTERNAL   SQError = C.SQLITE_INTERNAL   /* Internal logic error in SQLite */
	SQLITE_PERM       SQError = C.SQLITE_PERM       /* Access permission denied */
	SQLITE_ABORT      SQError = C.SQLITE_ABORT      /* Callback routine requested an abort */
	SQLITE_BUSY       SQError = C.SQLITE_BUSY       /* The database file is locked */
	SQLITE_LOCKED     SQError = C.SQLITE_LOCKED     /* A table in the database is locked */
	SQLITE_NOMEM      SQError = C.SQLITE_NOMEM      /* A malloc() failed */
	SQLITE_READONLY   SQError = C.SQLITE_READONLY   /* Attempt to write a readonly database */
	SQLITE_INTERRUPT  SQError = C.SQLITE_INTERRUPT  /* Operation terminated by sqlite3_interrupt()*/
	SQLITE_IOERR      SQError = C.SQLITE_IOERR      /* Some kind of disk I/O error occurred */
	SQLITE_CORRUPT    SQError = C.SQLITE_CORRUPT    /* The database disk image is malformed */
	SQLITE_NOTFOUND   SQError = C.SQLITE_NOTFOUND   /* Unknown opcode in sqlite3_file_control() */
	SQLITE_FULL       SQError = C.SQLITE_FULL       /* Insertion failed because database is full */
	SQLITE_CANTOPEN   SQError = C.SQLITE_CANTOPEN   /* Unable to open the database file */
	SQLITE_PROTOCOL   SQError = C.SQLITE_PROTOCOL   /* Database lock protocol error */
	SQLITE_EMPTY      SQError = C.SQLITE_EMPTY      /* Internal use only */
	SQLITE_SCHEMA     SQError = C.SQLITE_SCHEMA     /* The database schema changed */
	SQLITE_TOOBIG     SQError = C.SQLITE_TOOBIG     /* String or BLOB exceeds size limit */
	SQLITE_CONSTRAINT SQError = C.SQLITE_CONSTRAINT /* Abort due to constraint violation */
	SQLITE_MISMATCH   SQError = C.SQLITE_MISMATCH   /* Data type mismatch */
	SQLITE_MISUSE     SQError = C.SQLITE_MISUSE     /* Library used incorrectly */
	SQLITE_NOLFS      SQError = C.SQLITE_NOLFS      /* Uses OS features not supported on host */
	SQLITE_AUTH       SQError = C.SQLITE_AUTH       /* Authorization denied */
	SQLITE_FORMAT     SQError = C.SQLITE_FORMAT     /* Not used */
	SQLITE_RANGE      SQError = C.SQLITE_RANGE      /* 2nd parameter to sqlite3_bind out of range */
	SQLITE_NOTADB     SQError = C.SQLITE_NOTADB     /* File opened that is not a database file */
	SQLITE_NOTICE     SQError = C.SQLITE_NOTICE     /* Notifications from sqlite3_log() */
	SQLITE_WARNING    SQError = C.SQLITE_WARNING    /* Warnings from sqlite3_log() */
	SQLITE_ROW        SQError = C.SQLITE_ROW        /* sqlite3_step() has another row ready */
	SQLITE_DONE       SQError = C.SQLITE_DONE       /* sqlite3_step() has finished executing */
)

func (SQError) Error

func (e SQError) Error() string

func (SQError) With

func (e SQError) With(suffix string) error

type TraceType

type TraceType uint
const (
	SQLITE_TRACE_STMT    TraceType = C.SQLITE_TRACE_STMT
	SQLITE_TRACE_PROFILE TraceType = C.SQLITE_TRACE_PROFILE
	SQLITE_TRACE_ROW     TraceType = C.SQLITE_TRACE_ROW
	SQLITE_TRACE_CLOSE   TraceType = C.SQLITE_TRACE_CLOSE
	SQLITE_TRACE_MIN               = SQLITE_TRACE_STMT
	SQLITE_TRACE_MAX               = SQLITE_TRACE_CLOSE
	SQLITE_TRACE_NONE    TraceType = 0
)

func (TraceType) String

func (v TraceType) String() string

func (TraceType) StringFlag

func (v TraceType) StringFlag() string

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL