{"id":8750191,"name":"github.com/prep/sqlite","ecosystem":"go","description":"Package sqlite provides a Go interface to SQLite 3.\n\nThe semantics of this package are deliberately close to the\nSQLite3 C API, so it is helpful to be familiar with\nhttp://www.sqlite.org/c3ref/intro.html.\n\nAn SQLite connection is represented by a *sqlite.Conn.\nConnections cannot be used concurrently.\nA typical Go program will create a pool of connections\n(using Open to create a *sqlitex.Pool) so goroutines can\nborrow a connection while they need to talk to the database.\n\nThis package assumes SQLite will be used concurrently by the\nprocess through several connections, so the build options for\nSQLite enable multi-threading and the shared cache:\nhttps://www.sqlite.org/sharedcache.html\n\nThe implementation automatically handles shared cache locking,\nsee the documentation on Stmt.Step for details.\n\nThe optional SQLite3 compiled in are: FTS5, RTree, JSON1, Session, GeoPoly\n\nThis is not a database/sql driver.\n\nStatements are prepared with the Prepare and PrepareTransient methods.\nWhen using Prepare, statements are keyed inside a connection by the\noriginal query string used to create them. This means long-running\nhigh-performance code paths can write:\n\nAfter all the connections in a pool have been warmed up by passing\nthrough one of these Prepare calls, subsequent calls are simply a\nmap lookup that returns an existing statement.\n\nThe sqlite package supports the SQLite incremental I/O interface for\nstreaming blob data into and out of the the database without loading\nthe entire blob into a single []byte.\n(This is important when working either with very large blobs, or\nmore commonly, a large number of moderate-sized blobs concurrently.)\n\nTo write a blob, first use an INSERT statement to set the size of the\nblob and assign a rowid:\n\nUse BindZeroBlob or SetZeroBlob to set the size of myblob.\nThen you can open the blob with:\n\nEvery connection can have a done channel associated with it using\nthe SetInterrupt method. This is typically the channel returned by\na context.Context Done method.\n\nFor example, a timeout can be associated with a connection session:\n\nAs database connections are long-lived, the SetInterrupt method can\nbe called multiple times to reset the associated lifetime.\n\nWhen using pools, the shorthand for associating a context with a\nconnection is:\n\nSQLite transactions have to be managed manually with this package\nby directly calling BEGIN / COMMIT / ROLLBACK or\nSAVEPOINT / RELEASE/ ROLLBACK. The sqlitex has a Savepoint\nfunction that helps automate this.\n\nUsing a Pool to execute SQL in a concurrent HTTP handler.\n\nFor helper functions that make some kinds of statements easier to\nwrite see the sqlitex package.","homepage":"https://github.com/prep/sqlite","licenses":"ISC","normalized_licenses":["ISC"],"repository_url":"https://github.com/prep/sqlite","keywords_array":[],"namespace":"github.com/prep","versions_count":4,"first_release_published_at":"2024-01-12T15:46:39.000Z","latest_release_published_at":"2024-01-12T16:48:38.000Z","latest_release_number":"v0.0.0-20240112164838-73eb356b0bf1","last_synced_at":"2026-03-29T16:35:15.546Z","created_at":"2024-01-13T04:57:23.088Z","updated_at":"2026-03-29T16:35:15.546Z","registry_url":"https://pkg.go.dev/github.com/prep/sqlite","install_command":"go get github.com/prep/sqlite","documentation_url":"https://pkg.go.dev/github.com/prep/sqlite#section-documentation","metadata":{},"repo_metadata":{},"repo_metadata_updated_at":"2024-01-13T04:58:16.914Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":10.470126198440106,"dependent_packages_count":9.285643101174518,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":9.877884649807312},"purl":"pkg:golang/github.com/prep/sqlite","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/go/github.com/prep/sqlite","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/go/github.com/prep/sqlite","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/go/github.com/prep/sqlite/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fprep%2Fsqlite/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fprep%2Fsqlite/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fprep%2Fsqlite/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fprep%2Fsqlite/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fprep%2Fsqlite/codemeta","maintainers":[]}