1
0
mirror of https://github.com/vlang/v.git synced 2023-08-10 21:13:21 +03:00
v/vlib/sqlite
2022-07-06 21:01:27 +03:00
..
orm.v orm: mysql fixes (#14772) 2022-06-16 20:19:49 +03:00
README.md sqlite: add sync and journal funcs, docs (#14970) 2022-07-06 21:01:27 +03:00
result_code.v sqlite: add enum result code (#12505) 2021-11-18 13:56:15 +02:00
sqlite_orm_test.v all: introduce isize and usize (#11437) 2021-09-08 05:53:39 +03:00
sqlite_test.v sqlite: make constants public (#12485) 2021-11-17 05:45:50 +03:00
sqlite.v sqlite: add sync and journal funcs, docs (#14970) 2022-07-06 21:01:27 +03:00
stmt.v orm: redesign orm (re-write it in V) (#10353) 2021-07-23 12:33:55 +03:00

Description

sqlite is a thin wrapper for the SQLite library, which in turn is "a C-language library that implements a small, fast, self-contained, high-reliability, full-featured, SQL database engine."

Install SQLite Dependency

Before you can use this module, you must first have the SQLite development library installed on your system.

Fedora 31:

sudo dnf -y install sqlite-devel

Ubuntu 20.04:

sudo apt install -y libsqlite3-dev

Windows:

  • Download the source zip from SQLite Downloads
  • Create a new sqlite subfolder inside v/thirdparty
  • Extract the zip into that folder

Performance Tips

When performing a large amount of database calls (i.e. INSERTS), significant performance increase can be obtained by controlling the synchronization and journal modes.

For instance,

db := sqlite.connect('foo.db') or {panic(err)}
db.synchronization_mode(sqlite.SyncMode.off)
db.journal_mode(sqlite.JournalMode.memory)