All Projects → azadkuh → sqlite-amalgamation

azadkuh / sqlite-amalgamation

Licence: BSD-3-Clause License
The SQLite amalgamation mirror with cmake

Programming Languages

c
50402 projects - #5 most used programming language
CMake
9771 projects

Projects that are alternatives of or similar to sqlite-amalgamation

GitHubKotlinMPPSample
No description or website provided.
Stars: ✭ 15 (-79.17%)
Mutual labels:  sqlite
database
Simple and easy go database micro framework
Stars: ✭ 12 (-83.33%)
Mutual labels:  sqlite
HighLite
An SQLite ORM for Android with automatic database migrations built with annotation processing
Stars: ✭ 77 (+6.94%)
Mutual labels:  sqlite
SpeedTest-php
a speedtest php site
Stars: ✭ 28 (-61.11%)
Mutual labels:  sqlite
database
Database Abstraction Layer, Schema Introspection, Schema Generation, Query Builders
Stars: ✭ 25 (-65.28%)
Mutual labels:  sqlite
closql
Store EIEIO objects using EmacSQL
Stars: ✭ 23 (-68.06%)
Mutual labels:  sqlite
sack.vfs
Node addon which adds a virtual file system interface; websockets; json(6) parsing; sql support(sqlite,odbc); javascript sched_yield; ssl certificate generation; more...
Stars: ✭ 29 (-59.72%)
Mutual labels:  sqlite
astro
Astro allows rapid and clean development of {Extract, Load, Transform} workflows using Python and SQL, powered by Apache Airflow.
Stars: ✭ 79 (+9.72%)
Mutual labels:  sqlite
sync-client
SyncProxy javascript client with support for all major embedded databases (IndexedDB, SQLite, WebSQL, LokiJS...)
Stars: ✭ 30 (-58.33%)
Mutual labels:  sqlite
bookshelf-json-columns
Parse JSON columns with Bookshelf.js
Stars: ✭ 64 (-11.11%)
Mutual labels:  sqlite
recognition-text
A recognition-text application which recognize any text from an image with 98% to 100% accuracy. Gave support for 92 languages and translate your recognized text to 6 supported languages.
Stars: ✭ 22 (-69.44%)
Mutual labels:  sqlite
microlight
A fully IndieWeb-compatible PHP blogging engine
Stars: ✭ 35 (-51.39%)
Mutual labels:  sqlite
reactnative-typescript
Playground and evolution of learnings done in react native with typescript
Stars: ✭ 28 (-61.11%)
Mutual labels:  sqlite
SQLitePractice
数据库案例:1.使用时间和日期函数,增,查时间字段。2.利用ContentProvider,CursorLoader,SQLite实现数据库的观察者模式。3.RxJava,SQLBrite实现数据库的观察者模式。4.拷贝外部db文件到数据库中
Stars: ✭ 21 (-70.83%)
Mutual labels:  sqlite
winmerge2011
Fork of WinMerge which has a different set of features
Stars: ✭ 36 (-50%)
Mutual labels:  sqlite
InvestmentDataSampleApp
This app utilizes a SQLite databse, MVVM, along with these Xamarin.Forms controls: Search Bar, Picker, Grid, StackLayout, Navigation Page, ListView, ViewCell. It also shows how to tweak the UI to best appear on larger tablet screens.
Stars: ✭ 56 (-22.22%)
Mutual labels:  sqlite
ccxx
This is a cross-platform library software library about c, c ++, unix4, posix. Include gtest, benchmark, cmake, process lock, daemon, libuv, lua, cpython, re2, json, yaml, mysql, redis, opencv, qt, lz4, oci ... https://hub.docker.com/u/oudream
Stars: ✭ 31 (-56.94%)
Mutual labels:  sqlite
couchwarehouse
Data warehouse for CouchDB
Stars: ✭ 41 (-43.06%)
Mutual labels:  sqlite
Zipcodes
A simple library for querying U.S. zipcodes.
Stars: ✭ 63 (-12.5%)
Mutual labels:  sqlite
acid-store
A library for secure, deduplicated, transactional, and verifiable data storage
Stars: ✭ 48 (-33.33%)
Mutual labels:  sqlite

sqlite-amalgamation

This repository mirrors the SQLite amalgamation, which is the recommended method of building SQLite into larger projects. It also supports cmake for building, installing and exporting.

SQLite includes more than 100 files in *.c / *.h, but

The amalgamation contains everything you need to integrate SQLite into a larger project. Just copy the amalgamation into your source directory and compile it along with the other C code files in your project. (A more detailed discussion of the compilation process is available.) You may also want to make use of the "sqlite3.h" header file that defines the programming API for SQLite. The sqlite3.h header file is available separately. The sqlite3.h file is also contained within the amalgamation, in the first few thousand lines. So if you have a copy of sqlite3.c but cannot seem to locate sqlite3.h, you can always regenerate the sqlite3.h by copying and pasting from the amalgamation.

SQLite3

build / install

A static lib (libsqlite3) and the sqlite3 shell will be generated by the build system.

$> mkdir .build
$> cd .build
$> cmake /path/to/this/repo  # or cmake .. -G Ninja
$> ccmake .                  # for build options or cmake-gui .
$> make -j 2                 # or ninja

$> make install

usage

to integrate this library into your project simply add these lines to your project cmake:

find_package(SQLite3 REQUIRED CONFIG)
target_link_libraries(${PROJECT_NAME} SQLite::SQLite3)

the include directory and link library will be automatically added to your target. If you need to switch your project to use "standard" SQLite remove CONFIG option in find_package function call.

SQLite3 build options

SQLite3 comes with plenty of compile options

following cmake build options control some of those compile options:

options default
SQLITE_ENABLE_COLUMN_METADATA off
SQLITE_ENABLE_DBSTAT_VTAB off
SQLITE_ENABLE_FTS3 off
SQLITE_ENABLE_FTS4 off
SQLITE_ENABLE_FTS5 off
SQLITE_ENABLE_GEOPOLY off
SQLITE_ENABLE_ICU off
SQLITE_ENABLE_MATH_FUNCTIONS on
SQLITE_ENABLE_RBU off
SQLITE_ENABLE_RTREE off
SQLITE_ENABLE_STAT4 off
SQLITE_OMIT_DECLTYPE on
SQLITE_OMIT_JSON off
SQLITE_USE_URI off

these recommended compile options are also passed to the compiler by SQLITE_RECOMMENDED_OPTIONS (on by default):

options
SQLITE_DEFAULT_MEMSTATUS = 0
SQLITE_DEFAULT_WAL_SYNCHRONOUS = 1
SQLITE_DQS = 0
SQLITE_LIKE_DOESNT_MATCH_BLOBS
SQLITE_MAX_EXPR_DEPTH = 0
SQLITE_OMIT_DECLTYPE
SQLITE_OMIT_DEPRECATED
SQLITE_OMIT_PROGRESS_CALLBACK
SQLITE_OMIT_SHARED_CACHE
SQLITE_USE_ALLOCA

all compile-time options will go into sqlite3_config.h, you may use this file to check these options when building your application.

the SQLite3 shell (executable) is disabled by default, to build it just activate the BUILD_SHELL option.

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].