github.com/jdgcs/sqlite3@v1.12.1-0.20210908114423-bc5f96e4dd51/doc.go (about)

     1  // Copyright 2017 The Sqlite Authors. All rights reserved.
     2  // Use of this source code is governed by a BSD-style
     3  // license that can be found in the LICENSE file.
     4  
     5  // Package sqlite is a CGo-free port of SQLite.
     6  //
     7  // SQLite is an in-process implementation of a self-contained, serverless,
     8  // zero-configuration, transactional SQL database engine.
     9  //
    10  // Builders
    11  //
    12  // Builder results available at
    13  //
    14  //	https://modern-c.appspot.com/-/builder/?importpath=modernc.org%2fsqlite
    15  //
    16  // Changelog
    17  //
    18  // 2021-06-23 v1.11.0:
    19  //
    20  // Upgrade to use sqlite 3.36.0, release notes at https://www.sqlite.org/releaselog/3_36_0.html.
    21  //
    22  // 2021-05-06 v1.10.6:
    23  //
    24  // Fixes a memory corruption issue
    25  // (https://gitlab.com/cznic/sqlite/-/issues/53).  Versions since v1.8.6 were
    26  // affected and should be updated to v1.10.6.
    27  //
    28  // 2021-03-14 v1.10.0:
    29  //
    30  // Update to use sqlite 3.35.0, release notes at https://www.sqlite.org/releaselog/3_35_0.html.
    31  //
    32  // 2021-03-11 v1.9.0:
    33  //
    34  // Support darwin/arm64.
    35  //
    36  // 2021-01-08 v1.8.0:
    37  //
    38  // Support darwin/amd64.
    39  //
    40  // 2020-09-13 v1.7.0:
    41  //
    42  // Support linux/arm and linux/arm64.
    43  //
    44  // 2020-09-08 v1.6.0:
    45  //
    46  // Support linux/386.
    47  //
    48  // 2020-09-03 v1.5.0:
    49  //
    50  // This project is now completely CGo-free, including the Tcl tests.
    51  //
    52  // 2020-08-26 v1.4.0:
    53  //
    54  // First stable release for linux/amd64.  The database/sql driver and its tests
    55  // are CGo free.  Tests of the translated sqlite3.c library still require CGo.
    56  //
    57  //	$ make full
    58  //
    59  //	...
    60  //
    61  //	SQLite 2020-08-14 13:23:32 fca8dc8b578f215a969cd899336378966156154710873e68b3d9ac5881b0ff3f
    62  //	0 errors out of 928271 tests on 3900x Linux 64-bit little-endian
    63  //	WARNING: Multi-threaded tests skipped: Linked against a non-threadsafe Tcl build
    64  //	All memory allocations freed - no leaks
    65  //	Maximum memory usage: 9156360 bytes
    66  //	Current memory usage: 0 bytes
    67  //	Number of malloc()  : -1 calls
    68  //	--- PASS: TestTclTest (1785.04s)
    69  //	PASS
    70  //	ok  	modernc.org/sqlite	1785.041s
    71  //	$
    72  //
    73  // 2020-07-26 v1.4.0-beta1:
    74  //
    75  // The project has reached beta status while supporting linux/amd64 only at the
    76  // moment. The 'extraquick' Tcl testsuite reports
    77  //
    78  //	630 errors out of 200177 tests on  Linux 64-bit little-endian
    79  //
    80  // and some memory leaks
    81  //
    82  //	Unfreed memory: 698816 bytes in 322 allocations
    83  //
    84  // 2019-12-28 v1.2.0-alpha.3: Third alpha fixes issue #19.
    85  //
    86  // It also bumps the minor version as the repository was wrongly already tagged
    87  // with v1.1.0 before.  Even though the tag was deleted there are proxies that
    88  // cached that tag. Thanks /u/garaktailor for detecting the problem and
    89  // suggesting this solution.
    90  //
    91  // 2019-12-26 v1.1.0-alpha.2: Second alpha release adds support for accessing a
    92  // database concurrently by multiple goroutines and/or processes. v1.1.0 is now
    93  // considered feature-complete. Next planed release should be a beta with a
    94  // proper test suite.
    95  //
    96  // 2019-12-18 v1.1.0-alpha.1: First alpha release using the new cc/v3, gocc,
    97  // qbe toolchain. Some primitive tests pass on linux_{amd64,386}. Not yet safe
    98  // for concurrent access by multiple goroutines. Next alpha release is planed
    99  // to arrive before the end of this year.
   100  //
   101  // 2017-06-10 Windows/Intel no more uses the VM (thanks Steffen Butzer).
   102  //
   103  // 2017-06-05 Linux/Intel no more uses the VM (cznic/virtual).
   104  //
   105  // Connecting to a database
   106  //
   107  // To access a Sqlite database do something like
   108  //
   109  //	import (
   110  //		"database/sql"
   111  //
   112  //		_ "modernc.org/sqlite"
   113  //	)
   114  //
   115  //	...
   116  //
   117  //
   118  //	db, err := sql.Open("sqlite", dsnURI)
   119  //
   120  //	...
   121  //
   122  // Supported platforms and architectures
   123  //
   124  // These combinations of GOOS and GOARCH are currently supported
   125  //
   126  // 	darwin	amd64
   127  // 	darwin	arm64
   128  // 	linux	386
   129  // 	linux	amd64
   130  // 	linux	arm
   131  // 	linux	arm64
   132  // 	windows	amd64
   133  //
   134  // The windows/amd64 has currently experimental/preview status. Tcl tests
   135  // report an unresolved yet memory leak, see
   136  // https://gitlab.com/cznic/sqlite/-/issues/23 for more details.
   137  //
   138  // Planned platforms and architectures
   139  //
   140  // 	windows	386
   141  //
   142  // Debug and development versions
   143  //
   144  // A comma separated list of options can be passed to `go generate` via the
   145  // environment variable GO_GENERATE. Some useful options include for example:
   146  //
   147  //	-DSQLITE_DEBUG
   148  //	-DSQLITE_MEM_DEBUG
   149  //	-ccgo-verify-structs
   150  //
   151  // To create a debug/development version, issue for example:
   152  //
   153  //	$ GO_GENERATE=-DSQLITE_DEBUG,-DSQLITE_MEM_DEBUG go generate
   154  //
   155  // Note: To run `go generate` you need to have modernc.org/ccgo/v3 installed.
   156  //
   157  // Sqlite documentation
   158  //
   159  // See https://sqlite.org/docs.html
   160  package sqlite // import "modernc.org/sqlite"