sqlite

package
v0.8.7 Latest Latest
Warning

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

Go to latest
Published: Jun 12, 2024 License: Apache-2.0 Imports: 2 Imported by: 1

README

LLGo wrapper of sqlite

Build Status GitHub release GoDoc Compiler Language

How to install

git clone https://github.com/goplus/sqlite.git
cd sqlite
git submodule init
git submodule update
mkdir build.dir
cd build.dir
../sqlite/configure --enable-shared
sudo make install

Demos

The _demo directory contains our demos (it start with _ to prevent the go command from compiling it):

How to run demos

To run the demos in directory _demo:

cd <demo-directory>  # eg. cd _demo/sqlitedemo
llgo run .

Documentation

Index

Constants

View Source
const (
	LLGoPackage = "link: sqlite3"
)

Variables

This section is empty.

Functions

func Open

func Open(filename *c.Char) (db *Sqlite3, err Errno)

Opening A New Database Connection filename: Database filename (UTF-8)

func OpenV2

func OpenV2(filename *c.Char, flags OpenFlags, zVfs *c.Char) (db *Sqlite3, err Errno)

Opening A New Database Connection filename: Database filename (UTF-8) zVfs: Name of VFS module to use

Types

type Errno

type Errno c.Int
const (
	OK Errno = 0 // Successful result

	Error        Errno = 1  // Generic error
	ErrInternal  Errno = 2  // Internal logic error in SQLite
	ErrPerm      Errno = 3  // Access permission denied
	ErrAbort     Errno = 4  // Callback routine requested an abort
	ErrBusy      Errno = 5  // The database file is locked
	ErrLocked    Errno = 6  // A table in the database is locked
	ErrNomem     Errno = 7  // A malloc() failed
	ErrReadOnly  Errno = 8  // Attempt to write a readonly database
	ErrInterrupt Errno = 9  // Operation terminated by sqlite3_interrupt()
	ErrIo        Errno = 10 // Some kind of disk I/O error occurred
	ErrCorrupt   Errno = 11 // The database disk image is malformed
	ErrNotfound  Errno = 12 // Unknown opcode in sqlite3_file_control()
	ErrFull      Errno = 13 // Insertion failed because database is full
	ErrCantopen  Errno = 14 // Unable to open the database file
	ErrProtocol  Errno = 15 // Database lock protocol error

	ErrSchema     Errno = 17 // The database schema changed
	ErrToobig     Errno = 18 // String or BLOB exceeds size limit
	ErrConstraint Errno = 19 // Abort due to constraint violation
	ErrMismatch   Errno = 20 // Data type mismatch
	ErrMisuse     Errno = 21 // Library used incorrectly
	ErrNolfs      Errno = 22 // Uses OS features not supported on host
	ErrAuth       Errno = 23 // Authorization denied

	ErrRange   Errno = 25 // 2nd parameter to sqlite3_bind out of range
	ErrNotadb  Errno = 26 // File opened that is not a database file
	ErrNotice  Errno = 27 // Notifications from sqlite3_log()
	ErrWarning Errno = 28 // Warnings from sqlite3_log()

	HasRow Errno = 100 // sqlite3_step() has another row ready
	Done   Errno = 101 // sqlite3_step() has finished executing
)

func (Errno) Errstr

func (err Errno) Errstr() *c.Char

llgo:link Errno.Errstr C.sqlite3_errstr

type OpenFlags

type OpenFlags c.Int

OpenFlags represents SQLite open flags.

const (
	OpenReadOnly      OpenFlags = 0x00000001
	OpenReadWrite     OpenFlags = 0x00000002
	OpenCreate        OpenFlags = 0x00000004
	OpenDeleteOnClose OpenFlags = 0x00000008 // VFS only
	OpenExclusive     OpenFlags = 0x00000010 // VFS only
	OpenAutoProxy     OpenFlags = 0x00000020 // VFS only
	OpenUri           OpenFlags = 0x00000040
	OpenMemory        OpenFlags = 0x00000080
	OpenMainDb        OpenFlags = 0x00000100 // VFS only
	OpenTempDb        OpenFlags = 0x00000200 // VFS only
	OpenTransientDb   OpenFlags = 0x00000400 // VFS only
	OpenMainJournal   OpenFlags = 0x00000800 // VFS only
	OpenTempJournal   OpenFlags = 0x00001000 // VFS only
	OpenSubJournal    OpenFlags = 0x00002000 // VFS only
	OpenSuperJournal  OpenFlags = 0x00004000 // VFS only
	OpenNoMutex       OpenFlags = 0x00008000
	OpenFullMutex     OpenFlags = 0x00010000
	OpenSharedCache   OpenFlags = 0x00020000
	OpenPrivateCache  OpenFlags = 0x00040000
	OpenWal           OpenFlags = 0x00080000 // VFS only
	OpenNoFollow      OpenFlags = 0x01000000
	OpenExResCode     OpenFlags = 0x02000000 // Extended result codes
)

type PrepareFlags

type PrepareFlags c.Int

PrepareFlags represents SQLite prepare flags.

const (
	PreparePersistent PrepareFlags = 0x01
	PrepareNormalize  PrepareFlags = 0x02
	PrepareNoVtab     PrepareFlags = 0x04
)

type Sqlite3

type Sqlite3 struct {
	Unused [8]byte
}

llgo:type C

func (*Sqlite3) Close

func (db *Sqlite3) Close() Errno

Closing A Database Connection

llgo:link (*Sqlite3).Close C.sqlite3_close

func (*Sqlite3) CloseV2

func (db *Sqlite3) CloseV2() Errno

Closing A Database Connection

llgo:link (*Sqlite3).CloseV2 C.sqlite3_close_v2

func (*Sqlite3) Errcode

func (db *Sqlite3) Errcode() Errno

llgo:link (*Sqlite3).Errcode C.sqlite3_errcode

func (*Sqlite3) Errmsg

func (db *Sqlite3) Errmsg() *c.Char

llgo:link (*Sqlite3).Errmsg C.sqlite3_errmsg

func (*Sqlite3) Exec

func (*Sqlite3) Exec(
	sql *c.Char, callback func(arg c.Pointer, resultCols c.Int, colVals, colNames **c.Char) c.Int,
	arg c.Pointer, errmsg **c.Char) Errno

One-Step Query Execution Interface

llgo:link (*Sqlite3).Exec C.sqlite3_exec

func (*Sqlite3) ExtendedErrcode

func (db *Sqlite3) ExtendedErrcode() Errno

llgo:link (*Sqlite3).ExtendedErrcode C.sqlite3_extended_errcode

func (*Sqlite3) Prepare

func (db *Sqlite3) Prepare(sql string, tail **c.Char) (stmt *Stmt, err Errno)

Compiling An SQL Statement tail: Pointer to unused portion of sql

func (*Sqlite3) PrepareV2

func (db *Sqlite3) PrepareV2(sql string, tail **c.Char) (stmt *Stmt, err Errno)

func (*Sqlite3) PrepareV3

func (db *Sqlite3) PrepareV3(sql string, flags PrepareFlags, tail **c.Char) (stmt *Stmt, err Errno)

type Stmt

type Stmt struct {
	Unused [8]byte
}

llgo:type C

func (*Stmt) BindInt

func (*Stmt) BindInt(idx c.Int, val c.Int) Errno

llgo:link (*Stmt).BindInt C.sqlite3_bind_int

func (*Stmt) BindInt64

func (*Stmt) BindInt64(idx c.Int, val int64) Errno

llgo:link (*Stmt).BindInt64 C.sqlite3_bind_int64

func (*Stmt) BindText

func (*Stmt) BindText(idx c.Int, val *c.Char, nByte c.Int, destructor func(c.Pointer)) Errno

llgo:link (*Stmt).BindText C.sqlite3_bind_text

func (*Stmt) Close

func (stmt *Stmt) Close() Errno

Destroy A Prepared Statement Object

llgo:link (*Stmt).Close C.sqlite3_finalize

func (*Stmt) ColumnCount

func (stmt *Stmt) ColumnCount() c.Int

llgo:link (*Stmt).ColumnCount C.sqlite3_column_count

func (*Stmt) ColumnInt

func (stmt *Stmt) ColumnInt(idx c.Int) c.Int

llgo:link (*Stmt).ColumnInt C.sqlite3_column_int

func (*Stmt) ColumnInt64

func (stmt *Stmt) ColumnInt64(idx c.Int) int64

llgo:link (*Stmt).ColumnInt64 C.sqlite3_column_int64

func (*Stmt) ColumnName

func (stmt *Stmt) ColumnName(idx c.Int) *c.Char

llgo:link (*Stmt).ColumnName C.sqlite3_column_name

func (*Stmt) ColumnText

func (stmt *Stmt) ColumnText(idx c.Int) *c.Char

llgo:link (*Stmt).ColumnText C.sqlite3_column_text

func (*Stmt) Reset

func (stmt *Stmt) Reset() Errno

Reset A Prepared Statement Object

llgo:link (*Stmt).Reset C.sqlite3_reset

func (*Stmt) Step

func (*Stmt) Step() Errno

Evaluate An SQL Statement

llgo:link (*Stmt).Step C.sqlite3_step

Directories

Path Synopsis
_demo

Jump to

Keyboard shortcuts

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