All Projects → crawshaw → Sqlite

crawshaw / Sqlite

Licence: isc
Go SQLite3 driver

Programming Languages

c
50402 projects - #5 most used programming language
golang
3204 projects

Labels

Projects that are alternatives of or similar to Sqlite

django-db-benchmark
Comparing Database performance with Django ORM
Stars: ✭ 17 (-94.46%)
Mutual labels:  sqlite
Wetland
A Node.js ORM, mapping-based. Works with MySQL, PostgreSQL, SQLite and more.
Stars: ✭ 261 (-14.98%)
Mutual labels:  sqlite
Requery
requery - modern SQL based query & persistence for Java / Kotlin / Android
Stars: ✭ 3,071 (+900.33%)
Mutual labels:  sqlite
python-lsm-db
Python bindings for the SQLite4 LSM database.
Stars: ✭ 115 (-62.54%)
Mutual labels:  sqlite
dotfiles
Configs for apps I care about
Stars: ✭ 19 (-93.81%)
Mutual labels:  sqlite
Waline
A Simple, Safe Comment System inspired by Valine | 一款基于 Valine 衍生的简洁、安全的评论系统
Stars: ✭ 260 (-15.31%)
Mutual labels:  sqlite
CRUDReactNativeSQLite
CRUD de app em React Native utilizando armazenamento local com SQLite
Stars: ✭ 16 (-94.79%)
Mutual labels:  sqlite
Squeal
A Swift wrapper for SQLite databases
Stars: ✭ 303 (-1.3%)
Mutual labels:  sqlite
Imodeljs
Monorepo for iModel.js Library
Stars: ✭ 256 (-16.61%)
Mutual labels:  sqlite
Quaint
SQL Query AST and Visitor for Rust
Stars: ✭ 272 (-11.4%)
Mutual labels:  sqlite
deno-keyv
A simple, easy to use key-value database wrapper for Deno
Stars: ✭ 16 (-94.79%)
Mutual labels:  sqlite
sqlite-okapi-bm25
📑 SQLite extension to add the Okapi BM25 ranking algorithm
Stars: ✭ 30 (-90.23%)
Mutual labels:  sqlite
Picturama
Digital image organizer powered by the web
Stars: ✭ 264 (-14.01%)
Mutual labels:  sqlite
VVSequelize
数据库模型映射,自动建表, 自动更新表,数据增删改查, FTS全文搜索, 支持自定义fts3,4,5分词器,可拼音分词. sql,fmdb,wcdb,sqlite3,orm,fts,fts3,fts4,fts5
Stars: ✭ 16 (-94.79%)
Mutual labels:  sqlite
Node Orm2
Object Relational Mapping
Stars: ✭ 3,063 (+897.72%)
Mutual labels:  sqlite
sqlite-generate
Tool for generating demo SQLite databases
Stars: ✭ 20 (-93.49%)
Mutual labels:  sqlite
Inquiry Deprecated
[DEPRECATED]: Prefer Room by Google, or SQLDelight by Square.
Stars: ✭ 264 (-14.01%)
Mutual labels:  sqlite
Folder Locker
It a tiny tool to lock your folder without compression.
Stars: ✭ 308 (+0.33%)
Mutual labels:  sqlite
Catena
Catena is a distributed database based on a blockchain, accessible using SQL.
Stars: ✭ 302 (-1.63%)
Mutual labels:  sqlite
Entityframework.exceptions
Handle database errors easily when working with Entity Framework Core. Supports SQLServer, PostgreSQL, SQLite, Oracle and MySql
Stars: ✭ 266 (-13.36%)
Mutual labels:  sqlite

Go interface to SQLite.

GoDoc Build Status (linux and macOS) Build status (windows)

This package provides a low-level Go interface to SQLite 3. Connections are pooled and if the SQLite shared cache mode is enabled the package takes advantage of the unlock-notify API to minimize the amount of handling user code needs for dealing with database lock contention.

It has interfaces for some of SQLite's more interesting extensions, such as incremental BLOB I/O and the session extension.

A utility package, sqlitex, provides some higher-level tools for making it easier to perform common tasks with SQLite. In particular it provides support to make nested transactions easy to use via sqlitex.Save.

This is not a database/sql driver.

go get -u crawshaw.io/sqlite

Example

A HTTP handler that uses a multi-threaded pool of SQLite connections via a shared cache.

var dbpool *sqlitex.Pool

func main() {
	var err error
	dbpool, err = sqlitex.Open("file:memory:?mode=memory", 0, 10)
	if err != nil {
		log.Fatal(err)
	}
	http.HandleFunc("/", handler)
	log.Fatal(http.ListenAndServe(":8080", nil))
}

func handler(w http.ResponseWriter, r *http.Request) {
	conn := dbpool.Get(r.Context())
	if conn == nil {
		return
	}
	defer dbpool.Put(conn)
	stmt := conn.Prep("SELECT foo FROM footable WHERE id = $id;")
	stmt.SetText("$id", "_user_id_")
	for {
		if hasRow, err := stmt.Step(); err != nil {
			// ... handle error
		} else if !hasRow {
			break
		}
		foo := stmt.GetText("foo")
		// ... use foo
	}
}

https://godoc.org/crawshaw.io/sqlite

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].