question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

[package] sqlite3/all: Discussion of default options

See original GitHub issue

Having a look at the options of the sqlite3 recipe you see most of them defaulted to false. However, there are some recipes like qt from bincrafters that already require this package with specific option enabled:

https://github.com/bincrafters/conan-qt/blob/594e40f036adcbf22d23dc2da228f389d45a76dc/conanfile.py#L256

Moreover, the sqlite3 is provided with a custom CMakeLists.txt with the CMake options, so we could say there are no defaults for these options recommended by the library authors/maintainers.

Additionally, these options are enabled by default in vcpkg repo:

-DSQLITE_ENABLE_RTREE
-DSQLITE_ENABLE_UNLOCK_NOTIFY
-DSQLITE_ENABLE_COLUMN_METADATA

This issue is open for discussion regarding the options of this package and its default values.

cc/ @ericLemanissier @SSE4 @uilianries

Issue Analytics

  • State:closed
  • Created 4 years ago
  • Comments:7 (7 by maintainers)

github_iconTop GitHub Comments

2reactions
SSE4commented, Dec 3, 2019

my 2 cents, looking at sqlite3 options:

  • column_metadata - enables additional APIs, making library more feature complete. almost harmless (the only side-effect is a bit larger library, but cost is very low IMO)
  • threadsafe - very contradictory. enabling it makes library more safe and stable, but has a significant performance penalty. this is something that depends on consumer’s usage (does he call sqlite3 APIs from different threads?). so it appears option should be enabled only if it’s really needed (default = false)
  • rtree - another API extension, should be safe to enable by default
  • unlock_notify - one more API extension therefore, we may safely enable all API extensions by default (column metadata, rtree, unlock notify). for threadsafe - I vote for false by default. if possible, build both threadsafe=false and threadsafe=true.
0reactions
danimtbcommented, Dec 4, 2019

So let’s add the same api extensions options as in vcpkg and keep the threadsafe one as is

Read more comments on GitHub >

github_iconTop Results From Across the Web

The SQLite Amalgamation
Applications using the split amalgamation simply compile against "sqlite3-all.c" instead of "sqlite3.c". The two files work exactly the same.
Read more >
SQLCipher on CocoaPods.org
The new default algorithms, increased KDF iterations, and larger page size ... The available options are described in SQLCipher's upgrade documentation.
Read more >
GENtle, a free multi-purpose molecular biology tool - CORE
Consequently, several software packages exist. ... I chose sqlite as the default database engine, as it relieves the user of.
Read more >
subject:"Re\: attempt to write a readonly database" - The Mail Archive
To view this discussion on the web visit ... i checked the properties in db.sqlite3, all the >>> permissions are checked...write permission also...
Read more >
(PDF) GENtle, a free multi-purpose molecular biology tool
WWW, especially a precompiled wxWidgets package. ... Sequence displays scroll vertically by default, simulating a page-like layout, but most.
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found