Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Which c++ flags are used in the binaries? #8

Open
jammerxd opened this issue Apr 9, 2024 · 3 comments
Open

Which c++ flags are used in the binaries? #8

jammerxd opened this issue Apr 9, 2024 · 3 comments

Comments

@jammerxd
Copy link

jammerxd commented Apr 9, 2024

Hey was just wondering which flags were used at compile time for the actual sqlite3mc.dll/dylib/so files distributed in the nuget packages.

@utelle
Copy link
Owner

utelle commented Apr 10, 2024

Hey was just wondering which flags were used at compile time for the actual sqlite3mc.dll/dylib/so files distributed in the nuget packages.

The binaries of the official nuget packages are created via Eric Sink's cb project. The following compile options are used for all packages:

#define SQLITE_ENABLE_COLUMN_METADATA
#define SQLITE_ENABLE_FTS3_PARENTHESIS
#define SQLITE_ENABLE_FTS4
#define SQLITE_ENABLE_FTS5
#define SQLITE_ENABLE_JSON1
#define SQLITE_ENABLE_MATH_FUNCTIONS
#define SQLITE_ENABLE_RTREE
#define SQLITE_ENABLE_SNAPSHOT
#define SQLITE_DEFAULT_FOREIGN_KEYS 1

The following additional compile options are used for the sqlite3mc related packages:

#define CODEC_TYPE CODEC_TYPE_CHACHA20
#define SQLITE_TEMP_STORE 2
#define SQLITE_USE_URI 1
#define SQLITE_DQS 0
#define SQLITE_SECURE_DELETE 1
#define SQLITE_ENABLE_EXTFUNC 1

@jammerxd
Copy link
Author

jammerxd commented Apr 10, 2024

How is threading handled in these packages?

Would it then be the serialized mode as stated here: https://www.sqlite.org/threadsafe.html

@utelle
Copy link
Owner

utelle commented Apr 10, 2024

How is threading handled in these packages?

The threading mode is not set explicitly. Therefore the default threading mode will be used.

Would it then be the serialized mode as stated here: https://www.sqlite.org/threadsafe.html

Yes.

Not defining the symbol SQLITE_THREADSAFE is equivalent to

#define SQLITE_THREADSAFE 1

and that corresponds to serialized threading mode.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants