No version for distro humble showing github. Known supported distros are highlighted in the buttons above.
Package symbol

SQLiteCpp package from sqlitecpp repo

SQLiteCpp

ROS Distro
github

Package Summary

Version 4.0.0
License MIT
Build type CMAKE
Use RECOMMENDED

Repository Summary

Description
Checkout URI https://github.com/srombauts/sqlitecpp.git
VCS Type git
VCS Version master
Last Updated 2026-10-24
Dev Status UNKNOWN
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

A smart and easy to use C++ SQLite3 wrapper.

Maintainers

  • Sébastien Rombauts

Authors

  • Sébastien Rombauts

SQLiteC++

release license CMake Meson Quality CodeQL Coveralls Coverity Join the chat at https://gitter.im/SRombauts/SQLiteCpp

SQLiteC++ (SQLiteCpp) is a lean and easy to use C++ SQLite3 wrapper.

Supported release lines

  • SQLiteCpp 4.x (master) is the actively developed line. It requires C++17 and SQLite 3.38.0 or newer, and may introduce API/ABI-breaking changes.
  • SQLiteCpp 3.x (sqlitecpp-3.x) is the C++11-compatible maintenance line, starting from release 3.4.0. It keeps the SQLite 3.8.7 minimum and focuses on compatible bug fixes and backports without adopting the breaking changes of 4.x. The core library supports C++11; some optional headers use C++14.

The older sqlitecpp-3.4.x branch remains available for the 3.4.x series; ongoing C++11 maintenance targets sqlitecpp-3.x.

About SQLiteC++:

SQLiteC++ offers an encapsulation around the native C APIs of SQLite, with a few intuitive and well documented C++ classes.

License:

Copyright (c) 2012-2026 Sébastien Rombauts (sebastien.rombauts@gmail.com)

Distributed under the MIT License (MIT) (See accompanying file LICENSE.txt or copy at http://opensource.org/licenses/MIT)

Note on redistribution of SQLite source files

As stated by the MIT License, you are welcome to reuse, modify, and redistribute the SQLiteCpp source code the way you want it to, be it a git submodule, a subdirectory, or a selection of some source files.

I would love a mention in your README, a web link to the SQLite repository, and a mention of the author, but none of those are mandatory.

About SQLite underlying library:

SQLite is a library that implements a serverless transactional SQL database engine. It is the most widely deployed SQL database engine in the world. All of the code and documentation in SQLite has been dedicated to the public domain by the authors. http://www.sqlite.org/about.html

The goals of SQLiteC++ are:

  • to offer the best of the existing simple C++ SQLite wrappers
  • to be elegantly written with modern C++17 design, STL, exceptions and RAII idiom
  • to keep dependencies to a minimum (C++17 STL and SQLite3)
  • to be portable
  • to be light and fast

  • to be thread-safe only as much as SQLite “Multi-thread” mode (see below)
  • to have a good unit test coverage
  • to use API names sticking with those of the SQLite library
  • to be well documented with Doxygen tags, and with some good examples
  • to be well maintained
  • to use a permissive MIT license, similar to BSD or Boost, for proprietary/commercial usage

It is designed using the Resource Acquisition Is Initialization (RAII) idiom (see http://en.wikipedia.org/wiki/Resource_Acquisition_Is_Initialization), and throwing exceptions in case of SQLite errors (except in destructors, where assert() are used instead). Each SQLiteC++ object must be constructed with a valid SQLite database connection, and then is always valid until destroyed.

Supported platforms:

The platform and compiler requirements below describe master (SQLiteCpp 4.x).

The continuous integration builds and tests on:

  • Ubuntu 22.04 and 24.04, plus the current Ubuntu GitHub Actions runner
  • the current Windows GitHub Actions runner, plus Visual Studio 2022 Release builds for Win32/x86 with shared and static libraries
  • the minimum MSVC toolset, VS2017 15.9 / v141, installed on the Windows 2022 runner
  • the current macOS GitHub Actions runner

The build matrices cover GCC, Clang, AppleClang, MinGW, and MSVC. The library requires C++17, and the CMake compatibility workflow also exercises C++20.

Dependencies

  • CMake 3.16 or newer when using the CMake build
  • a C++17-capable compiler and standard library
  • Visual Studio 2017 15.9 (MSVC 19.16 / v141 toolset 14.16) or newer when using MSVC
  • exception support (the class Exception inherits from std::runtime_error)

File truncated at 100 lines see the full file

CHANGELOG

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

[Unreleased]

Changed

  • Update bundled SQLite from 3.53.4 to 3.54.1 (2026-10-16) (#597)
  • Require SQLite 3.38.0 or newer (#596)
  • Require C++17 and CMake 3.16 or newer (#580)
  • Adopt CMake 4.4 policies and test them (#581)
  • Bump the shared-library ABI version from 0 to 1 for SQLiteCpp 4.0
  • Use fixed-width integer types in SQLite::Header, making field widths consistent across platforms (ABI change) (#582)
  • Update googletest to v1.18.0 (#583)
  • Improve tests for Savepoint::rollbackTo() and scope-exit rollback semantics (#584)
  • Fix link errors in supplied assertion handlers and add handler-enabled CI coverage (#587)
  • Make column type constants usable in constant expressions (ABI change) (#609)
  • Restrict CMake package compatibility to the same major version (#610)
  • Preserve SQL NULL as nullptr in implicit const char* conversions; use getText() for the old fallback (#612)
  • Clarify nullable text examples and borrowed result lifetimes (#613)

Removed

  • Remove the deprecated Savepoint::rollback() alias; use rollbackTo() instead (#585)
  • Remove redundant C++11/C++14/C++17 compatibility guards (#589)

Fixed

  • Fix Meson builds with a custom assertion handler (#590)
  • Instrument unit tests and examples in UBSan builds (#593)
  • Fix column metadata API visibility for Meson consumers (#595)
  • Fix keyless database readability detection and add hasSQLiteHeader() (#608)
  • Refresh cached result-column metadata after SQLite reprepares a statement (#598)

Added

  • Add source table-name accessors to Statement and Column (#594)
  • Add std::string_view binding and column access, with tests and documentation (#518) (#607)

[3.4.0] - 2026-09-21

Added

  • Add a SQLITECPP_install CMake option to make the install targets optional (#512)
  • Add AI coding guidelines for GitHub Copilot and Cursor (#529)
  • Add agent skills for releases, SQLite updates, CHANGELOG maintenance, and authoring (#546)
  • Add a GitHub Actions workflow computing unit test & example code coverage (GCov) and publishing it to Coveralls (#549)
  • Add unit tests covering error and edge-case paths to raise code coverage (#551)
  • Add Statement::RowIterator to support range-based for loops over query results (#545, fixes #181)
  • Add 64-bit BLOB binding methods (#564)
  • Add ASan, UBSan, and cppcheck quality gates (#568)
  • Add CodeQL security and quality analysis (#569)
  • Allow Database encryption keys to be supplied as binary buffers (#571)
  • Add C++11 & C++17 standard tests (#574)

Changed

  • Update SQLite from 3.49.2 to 3.53.4 (2026-07-24) (#526) (#538) (#548) (#561) (#566)
  • Generalize the CMake SQLite and key API to ease use of SQLite3 Multiple Ciphers (#532)
  • Set cmake_minimum_required policy max to support CMake 4.0 (#519)
  • Update example2 to cmake_minimum_required(VERSION 3.5...4.0) (committed directly to master)
  • Replace the monolithic Copilot instructions with granular agent skills and an AGENTS.md router (#531)
  • Enforce LF line endings with .gitattributes and normalize tracked files (#550)
  • Restore the Coverity Scan static analysis as a GitHub Actions workflow, replacing the old Travis CI job (#557)
  • Limit AppVeyor to Visual Studio 2022 and 2019 Release builds on master and pull requests (#565)
  • Refresh the README CI badges (#570)
  • Update copyright years to 2026 across project files (#578)

Removed

  • Remove obsolete Travis CI configuration and active references (#572)
  • Remove AppVeyor and retain Visual Studio 2022 Release Win32/x86 coverage in GitHub Actions (#573)

Fixed

  • Fix a faulty #undef of the experimental filesystem feature macro (#509)
  • Fix compilation with newer GoogleTest (#514)
  • Fix the MinGW build by conditionally linking libssp (#527)
  • Fix Windows MSVC CI by switching the windows-latest generator to Visual Studio 18 2026 (#547)
  • Guard against null C pointers in Exception, Database, and Statement to avoid undefined behavior (#552)
  • Fix Database::isUnencrypted() to compare the full 16-byte header in binary mode (#553)
  • Fix execute_many() to clear stale bindings between parameter sets (#554)
  • Fix Column::operator« to stream the exact column bytes via getString() (#556)
  • Fix Database::getHeaderInfo() signed-shift UB and use fixed-width types for the Header struct (#558)
  • Restore SQLite::Header 3.x ABI compatibility while keeping fixed-width header parsing (#575)
  • Fix Savepoint destructor to catch all exceptions to avoid std::terminate (#559)
  • Restore SQLite::Savepoint 3.x ABI compatibility while retaining destructor exception safety (#576)
  • Fix Transaction destructor to catch all exceptions to avoid std::terminate (#559)
  • Fix the Meson build when the SQLITECPP_DISABLE_STD_FILESYSTEM option is enabled (#560)
  • Add unit tests for Statement::RowIterator to fix coverage regression (#562)
  • Fix large std::string binding sizes (#563)
  • Fix GCov linking in shared-library builds (#567)

[3.3.3] - 2025-05-20

Added

File truncated at 100 lines see the full file

Package Dependencies

No dependencies on ROS packages.

System Dependencies

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged SQLiteCpp at Robotics Stack Exchange

No version for distro jazzy showing github. Known supported distros are highlighted in the buttons above.
Package symbol

SQLiteCpp package from sqlitecpp repo

SQLiteCpp

ROS Distro
github

Package Summary

Version 4.0.0
License MIT
Build type CMAKE
Use RECOMMENDED

Repository Summary

Description
Checkout URI https://github.com/srombauts/sqlitecpp.git
VCS Type git
VCS Version master
Last Updated 2026-10-24
Dev Status UNKNOWN
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

A smart and easy to use C++ SQLite3 wrapper.

Maintainers

  • Sébastien Rombauts

Authors

  • Sébastien Rombauts

SQLiteC++

release license CMake Meson Quality CodeQL Coveralls Coverity Join the chat at https://gitter.im/SRombauts/SQLiteCpp

SQLiteC++ (SQLiteCpp) is a lean and easy to use C++ SQLite3 wrapper.

Supported release lines

  • SQLiteCpp 4.x (master) is the actively developed line. It requires C++17 and SQLite 3.38.0 or newer, and may introduce API/ABI-breaking changes.
  • SQLiteCpp 3.x (sqlitecpp-3.x) is the C++11-compatible maintenance line, starting from release 3.4.0. It keeps the SQLite 3.8.7 minimum and focuses on compatible bug fixes and backports without adopting the breaking changes of 4.x. The core library supports C++11; some optional headers use C++14.

The older sqlitecpp-3.4.x branch remains available for the 3.4.x series; ongoing C++11 maintenance targets sqlitecpp-3.x.

About SQLiteC++:

SQLiteC++ offers an encapsulation around the native C APIs of SQLite, with a few intuitive and well documented C++ classes.

License:

Copyright (c) 2012-2026 Sébastien Rombauts (sebastien.rombauts@gmail.com)

Distributed under the MIT License (MIT) (See accompanying file LICENSE.txt or copy at http://opensource.org/licenses/MIT)

Note on redistribution of SQLite source files

As stated by the MIT License, you are welcome to reuse, modify, and redistribute the SQLiteCpp source code the way you want it to, be it a git submodule, a subdirectory, or a selection of some source files.

I would love a mention in your README, a web link to the SQLite repository, and a mention of the author, but none of those are mandatory.

About SQLite underlying library:

SQLite is a library that implements a serverless transactional SQL database engine. It is the most widely deployed SQL database engine in the world. All of the code and documentation in SQLite has been dedicated to the public domain by the authors. http://www.sqlite.org/about.html

The goals of SQLiteC++ are:

  • to offer the best of the existing simple C++ SQLite wrappers
  • to be elegantly written with modern C++17 design, STL, exceptions and RAII idiom
  • to keep dependencies to a minimum (C++17 STL and SQLite3)
  • to be portable
  • to be light and fast

  • to be thread-safe only as much as SQLite “Multi-thread” mode (see below)
  • to have a good unit test coverage
  • to use API names sticking with those of the SQLite library
  • to be well documented with Doxygen tags, and with some good examples
  • to be well maintained
  • to use a permissive MIT license, similar to BSD or Boost, for proprietary/commercial usage

It is designed using the Resource Acquisition Is Initialization (RAII) idiom (see http://en.wikipedia.org/wiki/Resource_Acquisition_Is_Initialization), and throwing exceptions in case of SQLite errors (except in destructors, where assert() are used instead). Each SQLiteC++ object must be constructed with a valid SQLite database connection, and then is always valid until destroyed.

Supported platforms:

The platform and compiler requirements below describe master (SQLiteCpp 4.x).

The continuous integration builds and tests on:

  • Ubuntu 22.04 and 24.04, plus the current Ubuntu GitHub Actions runner
  • the current Windows GitHub Actions runner, plus Visual Studio 2022 Release builds for Win32/x86 with shared and static libraries
  • the minimum MSVC toolset, VS2017 15.9 / v141, installed on the Windows 2022 runner
  • the current macOS GitHub Actions runner

The build matrices cover GCC, Clang, AppleClang, MinGW, and MSVC. The library requires C++17, and the CMake compatibility workflow also exercises C++20.

Dependencies

  • CMake 3.16 or newer when using the CMake build
  • a C++17-capable compiler and standard library
  • Visual Studio 2017 15.9 (MSVC 19.16 / v141 toolset 14.16) or newer when using MSVC
  • exception support (the class Exception inherits from std::runtime_error)

File truncated at 100 lines see the full file

CHANGELOG

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

[Unreleased]

Changed

  • Update bundled SQLite from 3.53.4 to 3.54.1 (2026-10-16) (#597)
  • Require SQLite 3.38.0 or newer (#596)
  • Require C++17 and CMake 3.16 or newer (#580)
  • Adopt CMake 4.4 policies and test them (#581)
  • Bump the shared-library ABI version from 0 to 1 for SQLiteCpp 4.0
  • Use fixed-width integer types in SQLite::Header, making field widths consistent across platforms (ABI change) (#582)
  • Update googletest to v1.18.0 (#583)
  • Improve tests for Savepoint::rollbackTo() and scope-exit rollback semantics (#584)
  • Fix link errors in supplied assertion handlers and add handler-enabled CI coverage (#587)
  • Make column type constants usable in constant expressions (ABI change) (#609)
  • Restrict CMake package compatibility to the same major version (#610)
  • Preserve SQL NULL as nullptr in implicit const char* conversions; use getText() for the old fallback (#612)
  • Clarify nullable text examples and borrowed result lifetimes (#613)

Removed

  • Remove the deprecated Savepoint::rollback() alias; use rollbackTo() instead (#585)
  • Remove redundant C++11/C++14/C++17 compatibility guards (#589)

Fixed

  • Fix Meson builds with a custom assertion handler (#590)
  • Instrument unit tests and examples in UBSan builds (#593)
  • Fix column metadata API visibility for Meson consumers (#595)
  • Fix keyless database readability detection and add hasSQLiteHeader() (#608)
  • Refresh cached result-column metadata after SQLite reprepares a statement (#598)

Added

  • Add source table-name accessors to Statement and Column (#594)
  • Add std::string_view binding and column access, with tests and documentation (#518) (#607)

[3.4.0] - 2026-09-21

Added

  • Add a SQLITECPP_install CMake option to make the install targets optional (#512)
  • Add AI coding guidelines for GitHub Copilot and Cursor (#529)
  • Add agent skills for releases, SQLite updates, CHANGELOG maintenance, and authoring (#546)
  • Add a GitHub Actions workflow computing unit test & example code coverage (GCov) and publishing it to Coveralls (#549)
  • Add unit tests covering error and edge-case paths to raise code coverage (#551)
  • Add Statement::RowIterator to support range-based for loops over query results (#545, fixes #181)
  • Add 64-bit BLOB binding methods (#564)
  • Add ASan, UBSan, and cppcheck quality gates (#568)
  • Add CodeQL security and quality analysis (#569)
  • Allow Database encryption keys to be supplied as binary buffers (#571)
  • Add C++11 & C++17 standard tests (#574)

Changed

  • Update SQLite from 3.49.2 to 3.53.4 (2026-07-24) (#526) (#538) (#548) (#561) (#566)
  • Generalize the CMake SQLite and key API to ease use of SQLite3 Multiple Ciphers (#532)
  • Set cmake_minimum_required policy max to support CMake 4.0 (#519)
  • Update example2 to cmake_minimum_required(VERSION 3.5...4.0) (committed directly to master)
  • Replace the monolithic Copilot instructions with granular agent skills and an AGENTS.md router (#531)
  • Enforce LF line endings with .gitattributes and normalize tracked files (#550)
  • Restore the Coverity Scan static analysis as a GitHub Actions workflow, replacing the old Travis CI job (#557)
  • Limit AppVeyor to Visual Studio 2022 and 2019 Release builds on master and pull requests (#565)
  • Refresh the README CI badges (#570)
  • Update copyright years to 2026 across project files (#578)

Removed

  • Remove obsolete Travis CI configuration and active references (#572)
  • Remove AppVeyor and retain Visual Studio 2022 Release Win32/x86 coverage in GitHub Actions (#573)

Fixed

  • Fix a faulty #undef of the experimental filesystem feature macro (#509)
  • Fix compilation with newer GoogleTest (#514)
  • Fix the MinGW build by conditionally linking libssp (#527)
  • Fix Windows MSVC CI by switching the windows-latest generator to Visual Studio 18 2026 (#547)
  • Guard against null C pointers in Exception, Database, and Statement to avoid undefined behavior (#552)
  • Fix Database::isUnencrypted() to compare the full 16-byte header in binary mode (#553)
  • Fix execute_many() to clear stale bindings between parameter sets (#554)
  • Fix Column::operator« to stream the exact column bytes via getString() (#556)
  • Fix Database::getHeaderInfo() signed-shift UB and use fixed-width types for the Header struct (#558)
  • Restore SQLite::Header 3.x ABI compatibility while keeping fixed-width header parsing (#575)
  • Fix Savepoint destructor to catch all exceptions to avoid std::terminate (#559)
  • Restore SQLite::Savepoint 3.x ABI compatibility while retaining destructor exception safety (#576)
  • Fix Transaction destructor to catch all exceptions to avoid std::terminate (#559)
  • Fix the Meson build when the SQLITECPP_DISABLE_STD_FILESYSTEM option is enabled (#560)
  • Add unit tests for Statement::RowIterator to fix coverage regression (#562)
  • Fix large std::string binding sizes (#563)
  • Fix GCov linking in shared-library builds (#567)

[3.3.3] - 2025-05-20

Added

File truncated at 100 lines see the full file

Package Dependencies

No dependencies on ROS packages.

System Dependencies

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged SQLiteCpp at Robotics Stack Exchange

No version for distro kilted showing github. Known supported distros are highlighted in the buttons above.
Package symbol

SQLiteCpp package from sqlitecpp repo

SQLiteCpp

ROS Distro
github

Package Summary

Version 4.0.0
License MIT
Build type CMAKE
Use RECOMMENDED

Repository Summary

Description
Checkout URI https://github.com/srombauts/sqlitecpp.git
VCS Type git
VCS Version master
Last Updated 2026-10-24
Dev Status UNKNOWN
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

A smart and easy to use C++ SQLite3 wrapper.

Maintainers

  • Sébastien Rombauts

Authors

  • Sébastien Rombauts

SQLiteC++

release license CMake Meson Quality CodeQL Coveralls Coverity Join the chat at https://gitter.im/SRombauts/SQLiteCpp

SQLiteC++ (SQLiteCpp) is a lean and easy to use C++ SQLite3 wrapper.

Supported release lines

  • SQLiteCpp 4.x (master) is the actively developed line. It requires C++17 and SQLite 3.38.0 or newer, and may introduce API/ABI-breaking changes.
  • SQLiteCpp 3.x (sqlitecpp-3.x) is the C++11-compatible maintenance line, starting from release 3.4.0. It keeps the SQLite 3.8.7 minimum and focuses on compatible bug fixes and backports without adopting the breaking changes of 4.x. The core library supports C++11; some optional headers use C++14.

The older sqlitecpp-3.4.x branch remains available for the 3.4.x series; ongoing C++11 maintenance targets sqlitecpp-3.x.

About SQLiteC++:

SQLiteC++ offers an encapsulation around the native C APIs of SQLite, with a few intuitive and well documented C++ classes.

License:

Copyright (c) 2012-2026 Sébastien Rombauts (sebastien.rombauts@gmail.com)

Distributed under the MIT License (MIT) (See accompanying file LICENSE.txt or copy at http://opensource.org/licenses/MIT)

Note on redistribution of SQLite source files

As stated by the MIT License, you are welcome to reuse, modify, and redistribute the SQLiteCpp source code the way you want it to, be it a git submodule, a subdirectory, or a selection of some source files.

I would love a mention in your README, a web link to the SQLite repository, and a mention of the author, but none of those are mandatory.

About SQLite underlying library:

SQLite is a library that implements a serverless transactional SQL database engine. It is the most widely deployed SQL database engine in the world. All of the code and documentation in SQLite has been dedicated to the public domain by the authors. http://www.sqlite.org/about.html

The goals of SQLiteC++ are:

  • to offer the best of the existing simple C++ SQLite wrappers
  • to be elegantly written with modern C++17 design, STL, exceptions and RAII idiom
  • to keep dependencies to a minimum (C++17 STL and SQLite3)
  • to be portable
  • to be light and fast

  • to be thread-safe only as much as SQLite “Multi-thread” mode (see below)
  • to have a good unit test coverage
  • to use API names sticking with those of the SQLite library
  • to be well documented with Doxygen tags, and with some good examples
  • to be well maintained
  • to use a permissive MIT license, similar to BSD or Boost, for proprietary/commercial usage

It is designed using the Resource Acquisition Is Initialization (RAII) idiom (see http://en.wikipedia.org/wiki/Resource_Acquisition_Is_Initialization), and throwing exceptions in case of SQLite errors (except in destructors, where assert() are used instead). Each SQLiteC++ object must be constructed with a valid SQLite database connection, and then is always valid until destroyed.

Supported platforms:

The platform and compiler requirements below describe master (SQLiteCpp 4.x).

The continuous integration builds and tests on:

  • Ubuntu 22.04 and 24.04, plus the current Ubuntu GitHub Actions runner
  • the current Windows GitHub Actions runner, plus Visual Studio 2022 Release builds for Win32/x86 with shared and static libraries
  • the minimum MSVC toolset, VS2017 15.9 / v141, installed on the Windows 2022 runner
  • the current macOS GitHub Actions runner

The build matrices cover GCC, Clang, AppleClang, MinGW, and MSVC. The library requires C++17, and the CMake compatibility workflow also exercises C++20.

Dependencies

  • CMake 3.16 or newer when using the CMake build
  • a C++17-capable compiler and standard library
  • Visual Studio 2017 15.9 (MSVC 19.16 / v141 toolset 14.16) or newer when using MSVC
  • exception support (the class Exception inherits from std::runtime_error)

File truncated at 100 lines see the full file

CHANGELOG

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

[Unreleased]

Changed

  • Update bundled SQLite from 3.53.4 to 3.54.1 (2026-10-16) (#597)
  • Require SQLite 3.38.0 or newer (#596)
  • Require C++17 and CMake 3.16 or newer (#580)
  • Adopt CMake 4.4 policies and test them (#581)
  • Bump the shared-library ABI version from 0 to 1 for SQLiteCpp 4.0
  • Use fixed-width integer types in SQLite::Header, making field widths consistent across platforms (ABI change) (#582)
  • Update googletest to v1.18.0 (#583)
  • Improve tests for Savepoint::rollbackTo() and scope-exit rollback semantics (#584)
  • Fix link errors in supplied assertion handlers and add handler-enabled CI coverage (#587)
  • Make column type constants usable in constant expressions (ABI change) (#609)
  • Restrict CMake package compatibility to the same major version (#610)
  • Preserve SQL NULL as nullptr in implicit const char* conversions; use getText() for the old fallback (#612)
  • Clarify nullable text examples and borrowed result lifetimes (#613)

Removed

  • Remove the deprecated Savepoint::rollback() alias; use rollbackTo() instead (#585)
  • Remove redundant C++11/C++14/C++17 compatibility guards (#589)

Fixed

  • Fix Meson builds with a custom assertion handler (#590)
  • Instrument unit tests and examples in UBSan builds (#593)
  • Fix column metadata API visibility for Meson consumers (#595)
  • Fix keyless database readability detection and add hasSQLiteHeader() (#608)
  • Refresh cached result-column metadata after SQLite reprepares a statement (#598)

Added

  • Add source table-name accessors to Statement and Column (#594)
  • Add std::string_view binding and column access, with tests and documentation (#518) (#607)

[3.4.0] - 2026-09-21

Added

  • Add a SQLITECPP_install CMake option to make the install targets optional (#512)
  • Add AI coding guidelines for GitHub Copilot and Cursor (#529)
  • Add agent skills for releases, SQLite updates, CHANGELOG maintenance, and authoring (#546)
  • Add a GitHub Actions workflow computing unit test & example code coverage (GCov) and publishing it to Coveralls (#549)
  • Add unit tests covering error and edge-case paths to raise code coverage (#551)
  • Add Statement::RowIterator to support range-based for loops over query results (#545, fixes #181)
  • Add 64-bit BLOB binding methods (#564)
  • Add ASan, UBSan, and cppcheck quality gates (#568)
  • Add CodeQL security and quality analysis (#569)
  • Allow Database encryption keys to be supplied as binary buffers (#571)
  • Add C++11 & C++17 standard tests (#574)

Changed

  • Update SQLite from 3.49.2 to 3.53.4 (2026-07-24) (#526) (#538) (#548) (#561) (#566)
  • Generalize the CMake SQLite and key API to ease use of SQLite3 Multiple Ciphers (#532)
  • Set cmake_minimum_required policy max to support CMake 4.0 (#519)
  • Update example2 to cmake_minimum_required(VERSION 3.5...4.0) (committed directly to master)
  • Replace the monolithic Copilot instructions with granular agent skills and an AGENTS.md router (#531)
  • Enforce LF line endings with .gitattributes and normalize tracked files (#550)
  • Restore the Coverity Scan static analysis as a GitHub Actions workflow, replacing the old Travis CI job (#557)
  • Limit AppVeyor to Visual Studio 2022 and 2019 Release builds on master and pull requests (#565)
  • Refresh the README CI badges (#570)
  • Update copyright years to 2026 across project files (#578)

Removed

  • Remove obsolete Travis CI configuration and active references (#572)
  • Remove AppVeyor and retain Visual Studio 2022 Release Win32/x86 coverage in GitHub Actions (#573)

Fixed

  • Fix a faulty #undef of the experimental filesystem feature macro (#509)
  • Fix compilation with newer GoogleTest (#514)
  • Fix the MinGW build by conditionally linking libssp (#527)
  • Fix Windows MSVC CI by switching the windows-latest generator to Visual Studio 18 2026 (#547)
  • Guard against null C pointers in Exception, Database, and Statement to avoid undefined behavior (#552)
  • Fix Database::isUnencrypted() to compare the full 16-byte header in binary mode (#553)
  • Fix execute_many() to clear stale bindings between parameter sets (#554)
  • Fix Column::operator« to stream the exact column bytes via getString() (#556)
  • Fix Database::getHeaderInfo() signed-shift UB and use fixed-width types for the Header struct (#558)
  • Restore SQLite::Header 3.x ABI compatibility while keeping fixed-width header parsing (#575)
  • Fix Savepoint destructor to catch all exceptions to avoid std::terminate (#559)
  • Restore SQLite::Savepoint 3.x ABI compatibility while retaining destructor exception safety (#576)
  • Fix Transaction destructor to catch all exceptions to avoid std::terminate (#559)
  • Fix the Meson build when the SQLITECPP_DISABLE_STD_FILESYSTEM option is enabled (#560)
  • Add unit tests for Statement::RowIterator to fix coverage regression (#562)
  • Fix large std::string binding sizes (#563)
  • Fix GCov linking in shared-library builds (#567)

[3.3.3] - 2025-05-20

Added

File truncated at 100 lines see the full file

Package Dependencies

No dependencies on ROS packages.

System Dependencies

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged SQLiteCpp at Robotics Stack Exchange

No version for distro lyrical showing github. Known supported distros are highlighted in the buttons above.
Package symbol

SQLiteCpp package from sqlitecpp repo

SQLiteCpp

ROS Distro
github

Package Summary

Version 4.0.0
License MIT
Build type CMAKE
Use RECOMMENDED

Repository Summary

Description
Checkout URI https://github.com/srombauts/sqlitecpp.git
VCS Type git
VCS Version master
Last Updated 2026-10-24
Dev Status UNKNOWN
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

A smart and easy to use C++ SQLite3 wrapper.

Maintainers

  • Sébastien Rombauts

Authors

  • Sébastien Rombauts

SQLiteC++

release license CMake Meson Quality CodeQL Coveralls Coverity Join the chat at https://gitter.im/SRombauts/SQLiteCpp

SQLiteC++ (SQLiteCpp) is a lean and easy to use C++ SQLite3 wrapper.

Supported release lines

  • SQLiteCpp 4.x (master) is the actively developed line. It requires C++17 and SQLite 3.38.0 or newer, and may introduce API/ABI-breaking changes.
  • SQLiteCpp 3.x (sqlitecpp-3.x) is the C++11-compatible maintenance line, starting from release 3.4.0. It keeps the SQLite 3.8.7 minimum and focuses on compatible bug fixes and backports without adopting the breaking changes of 4.x. The core library supports C++11; some optional headers use C++14.

The older sqlitecpp-3.4.x branch remains available for the 3.4.x series; ongoing C++11 maintenance targets sqlitecpp-3.x.

About SQLiteC++:

SQLiteC++ offers an encapsulation around the native C APIs of SQLite, with a few intuitive and well documented C++ classes.

License:

Copyright (c) 2012-2026 Sébastien Rombauts (sebastien.rombauts@gmail.com)

Distributed under the MIT License (MIT) (See accompanying file LICENSE.txt or copy at http://opensource.org/licenses/MIT)

Note on redistribution of SQLite source files

As stated by the MIT License, you are welcome to reuse, modify, and redistribute the SQLiteCpp source code the way you want it to, be it a git submodule, a subdirectory, or a selection of some source files.

I would love a mention in your README, a web link to the SQLite repository, and a mention of the author, but none of those are mandatory.

About SQLite underlying library:

SQLite is a library that implements a serverless transactional SQL database engine. It is the most widely deployed SQL database engine in the world. All of the code and documentation in SQLite has been dedicated to the public domain by the authors. http://www.sqlite.org/about.html

The goals of SQLiteC++ are:

  • to offer the best of the existing simple C++ SQLite wrappers
  • to be elegantly written with modern C++17 design, STL, exceptions and RAII idiom
  • to keep dependencies to a minimum (C++17 STL and SQLite3)
  • to be portable
  • to be light and fast

  • to be thread-safe only as much as SQLite “Multi-thread” mode (see below)
  • to have a good unit test coverage
  • to use API names sticking with those of the SQLite library
  • to be well documented with Doxygen tags, and with some good examples
  • to be well maintained
  • to use a permissive MIT license, similar to BSD or Boost, for proprietary/commercial usage

It is designed using the Resource Acquisition Is Initialization (RAII) idiom (see http://en.wikipedia.org/wiki/Resource_Acquisition_Is_Initialization), and throwing exceptions in case of SQLite errors (except in destructors, where assert() are used instead). Each SQLiteC++ object must be constructed with a valid SQLite database connection, and then is always valid until destroyed.

Supported platforms:

The platform and compiler requirements below describe master (SQLiteCpp 4.x).

The continuous integration builds and tests on:

  • Ubuntu 22.04 and 24.04, plus the current Ubuntu GitHub Actions runner
  • the current Windows GitHub Actions runner, plus Visual Studio 2022 Release builds for Win32/x86 with shared and static libraries
  • the minimum MSVC toolset, VS2017 15.9 / v141, installed on the Windows 2022 runner
  • the current macOS GitHub Actions runner

The build matrices cover GCC, Clang, AppleClang, MinGW, and MSVC. The library requires C++17, and the CMake compatibility workflow also exercises C++20.

Dependencies

  • CMake 3.16 or newer when using the CMake build
  • a C++17-capable compiler and standard library
  • Visual Studio 2017 15.9 (MSVC 19.16 / v141 toolset 14.16) or newer when using MSVC
  • exception support (the class Exception inherits from std::runtime_error)

File truncated at 100 lines see the full file

CHANGELOG

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

[Unreleased]

Changed

  • Update bundled SQLite from 3.53.4 to 3.54.1 (2026-10-16) (#597)
  • Require SQLite 3.38.0 or newer (#596)
  • Require C++17 and CMake 3.16 or newer (#580)
  • Adopt CMake 4.4 policies and test them (#581)
  • Bump the shared-library ABI version from 0 to 1 for SQLiteCpp 4.0
  • Use fixed-width integer types in SQLite::Header, making field widths consistent across platforms (ABI change) (#582)
  • Update googletest to v1.18.0 (#583)
  • Improve tests for Savepoint::rollbackTo() and scope-exit rollback semantics (#584)
  • Fix link errors in supplied assertion handlers and add handler-enabled CI coverage (#587)
  • Make column type constants usable in constant expressions (ABI change) (#609)
  • Restrict CMake package compatibility to the same major version (#610)
  • Preserve SQL NULL as nullptr in implicit const char* conversions; use getText() for the old fallback (#612)
  • Clarify nullable text examples and borrowed result lifetimes (#613)

Removed

  • Remove the deprecated Savepoint::rollback() alias; use rollbackTo() instead (#585)
  • Remove redundant C++11/C++14/C++17 compatibility guards (#589)

Fixed

  • Fix Meson builds with a custom assertion handler (#590)
  • Instrument unit tests and examples in UBSan builds (#593)
  • Fix column metadata API visibility for Meson consumers (#595)
  • Fix keyless database readability detection and add hasSQLiteHeader() (#608)
  • Refresh cached result-column metadata after SQLite reprepares a statement (#598)

Added

  • Add source table-name accessors to Statement and Column (#594)
  • Add std::string_view binding and column access, with tests and documentation (#518) (#607)

[3.4.0] - 2026-09-21

Added

  • Add a SQLITECPP_install CMake option to make the install targets optional (#512)
  • Add AI coding guidelines for GitHub Copilot and Cursor (#529)
  • Add agent skills for releases, SQLite updates, CHANGELOG maintenance, and authoring (#546)
  • Add a GitHub Actions workflow computing unit test & example code coverage (GCov) and publishing it to Coveralls (#549)
  • Add unit tests covering error and edge-case paths to raise code coverage (#551)
  • Add Statement::RowIterator to support range-based for loops over query results (#545, fixes #181)
  • Add 64-bit BLOB binding methods (#564)
  • Add ASan, UBSan, and cppcheck quality gates (#568)
  • Add CodeQL security and quality analysis (#569)
  • Allow Database encryption keys to be supplied as binary buffers (#571)
  • Add C++11 & C++17 standard tests (#574)

Changed

  • Update SQLite from 3.49.2 to 3.53.4 (2026-07-24) (#526) (#538) (#548) (#561) (#566)
  • Generalize the CMake SQLite and key API to ease use of SQLite3 Multiple Ciphers (#532)
  • Set cmake_minimum_required policy max to support CMake 4.0 (#519)
  • Update example2 to cmake_minimum_required(VERSION 3.5...4.0) (committed directly to master)
  • Replace the monolithic Copilot instructions with granular agent skills and an AGENTS.md router (#531)
  • Enforce LF line endings with .gitattributes and normalize tracked files (#550)
  • Restore the Coverity Scan static analysis as a GitHub Actions workflow, replacing the old Travis CI job (#557)
  • Limit AppVeyor to Visual Studio 2022 and 2019 Release builds on master and pull requests (#565)
  • Refresh the README CI badges (#570)
  • Update copyright years to 2026 across project files (#578)

Removed

  • Remove obsolete Travis CI configuration and active references (#572)
  • Remove AppVeyor and retain Visual Studio 2022 Release Win32/x86 coverage in GitHub Actions (#573)

Fixed

  • Fix a faulty #undef of the experimental filesystem feature macro (#509)
  • Fix compilation with newer GoogleTest (#514)
  • Fix the MinGW build by conditionally linking libssp (#527)
  • Fix Windows MSVC CI by switching the windows-latest generator to Visual Studio 18 2026 (#547)
  • Guard against null C pointers in Exception, Database, and Statement to avoid undefined behavior (#552)
  • Fix Database::isUnencrypted() to compare the full 16-byte header in binary mode (#553)
  • Fix execute_many() to clear stale bindings between parameter sets (#554)
  • Fix Column::operator« to stream the exact column bytes via getString() (#556)
  • Fix Database::getHeaderInfo() signed-shift UB and use fixed-width types for the Header struct (#558)
  • Restore SQLite::Header 3.x ABI compatibility while keeping fixed-width header parsing (#575)
  • Fix Savepoint destructor to catch all exceptions to avoid std::terminate (#559)
  • Restore SQLite::Savepoint 3.x ABI compatibility while retaining destructor exception safety (#576)
  • Fix Transaction destructor to catch all exceptions to avoid std::terminate (#559)
  • Fix the Meson build when the SQLITECPP_DISABLE_STD_FILESYSTEM option is enabled (#560)
  • Add unit tests for Statement::RowIterator to fix coverage regression (#562)
  • Fix large std::string binding sizes (#563)
  • Fix GCov linking in shared-library builds (#567)

[3.3.3] - 2025-05-20

Added

File truncated at 100 lines see the full file

Package Dependencies

No dependencies on ROS packages.

System Dependencies

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged SQLiteCpp at Robotics Stack Exchange

No version for distro rolling showing github. Known supported distros are highlighted in the buttons above.
Package symbol

SQLiteCpp package from sqlitecpp repo

SQLiteCpp

ROS Distro
github

Package Summary

Version 4.0.0
License MIT
Build type CMAKE
Use RECOMMENDED

Repository Summary

Description
Checkout URI https://github.com/srombauts/sqlitecpp.git
VCS Type git
VCS Version master
Last Updated 2026-10-24
Dev Status UNKNOWN
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

A smart and easy to use C++ SQLite3 wrapper.

Maintainers

  • Sébastien Rombauts

Authors

  • Sébastien Rombauts

SQLiteC++

release license CMake Meson Quality CodeQL Coveralls Coverity Join the chat at https://gitter.im/SRombauts/SQLiteCpp

SQLiteC++ (SQLiteCpp) is a lean and easy to use C++ SQLite3 wrapper.

Supported release lines

  • SQLiteCpp 4.x (master) is the actively developed line. It requires C++17 and SQLite 3.38.0 or newer, and may introduce API/ABI-breaking changes.
  • SQLiteCpp 3.x (sqlitecpp-3.x) is the C++11-compatible maintenance line, starting from release 3.4.0. It keeps the SQLite 3.8.7 minimum and focuses on compatible bug fixes and backports without adopting the breaking changes of 4.x. The core library supports C++11; some optional headers use C++14.

The older sqlitecpp-3.4.x branch remains available for the 3.4.x series; ongoing C++11 maintenance targets sqlitecpp-3.x.

About SQLiteC++:

SQLiteC++ offers an encapsulation around the native C APIs of SQLite, with a few intuitive and well documented C++ classes.

License:

Copyright (c) 2012-2026 Sébastien Rombauts (sebastien.rombauts@gmail.com)

Distributed under the MIT License (MIT) (See accompanying file LICENSE.txt or copy at http://opensource.org/licenses/MIT)

Note on redistribution of SQLite source files

As stated by the MIT License, you are welcome to reuse, modify, and redistribute the SQLiteCpp source code the way you want it to, be it a git submodule, a subdirectory, or a selection of some source files.

I would love a mention in your README, a web link to the SQLite repository, and a mention of the author, but none of those are mandatory.

About SQLite underlying library:

SQLite is a library that implements a serverless transactional SQL database engine. It is the most widely deployed SQL database engine in the world. All of the code and documentation in SQLite has been dedicated to the public domain by the authors. http://www.sqlite.org/about.html

The goals of SQLiteC++ are:

  • to offer the best of the existing simple C++ SQLite wrappers
  • to be elegantly written with modern C++17 design, STL, exceptions and RAII idiom
  • to keep dependencies to a minimum (C++17 STL and SQLite3)
  • to be portable
  • to be light and fast

  • to be thread-safe only as much as SQLite “Multi-thread” mode (see below)
  • to have a good unit test coverage
  • to use API names sticking with those of the SQLite library
  • to be well documented with Doxygen tags, and with some good examples
  • to be well maintained
  • to use a permissive MIT license, similar to BSD or Boost, for proprietary/commercial usage

It is designed using the Resource Acquisition Is Initialization (RAII) idiom (see http://en.wikipedia.org/wiki/Resource_Acquisition_Is_Initialization), and throwing exceptions in case of SQLite errors (except in destructors, where assert() are used instead). Each SQLiteC++ object must be constructed with a valid SQLite database connection, and then is always valid until destroyed.

Supported platforms:

The platform and compiler requirements below describe master (SQLiteCpp 4.x).

The continuous integration builds and tests on:

  • Ubuntu 22.04 and 24.04, plus the current Ubuntu GitHub Actions runner
  • the current Windows GitHub Actions runner, plus Visual Studio 2022 Release builds for Win32/x86 with shared and static libraries
  • the minimum MSVC toolset, VS2017 15.9 / v141, installed on the Windows 2022 runner
  • the current macOS GitHub Actions runner

The build matrices cover GCC, Clang, AppleClang, MinGW, and MSVC. The library requires C++17, and the CMake compatibility workflow also exercises C++20.

Dependencies

  • CMake 3.16 or newer when using the CMake build
  • a C++17-capable compiler and standard library
  • Visual Studio 2017 15.9 (MSVC 19.16 / v141 toolset 14.16) or newer when using MSVC
  • exception support (the class Exception inherits from std::runtime_error)

File truncated at 100 lines see the full file

CHANGELOG

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

[Unreleased]

Changed

  • Update bundled SQLite from 3.53.4 to 3.54.1 (2026-10-16) (#597)
  • Require SQLite 3.38.0 or newer (#596)
  • Require C++17 and CMake 3.16 or newer (#580)
  • Adopt CMake 4.4 policies and test them (#581)
  • Bump the shared-library ABI version from 0 to 1 for SQLiteCpp 4.0
  • Use fixed-width integer types in SQLite::Header, making field widths consistent across platforms (ABI change) (#582)
  • Update googletest to v1.18.0 (#583)
  • Improve tests for Savepoint::rollbackTo() and scope-exit rollback semantics (#584)
  • Fix link errors in supplied assertion handlers and add handler-enabled CI coverage (#587)
  • Make column type constants usable in constant expressions (ABI change) (#609)
  • Restrict CMake package compatibility to the same major version (#610)
  • Preserve SQL NULL as nullptr in implicit const char* conversions; use getText() for the old fallback (#612)
  • Clarify nullable text examples and borrowed result lifetimes (#613)

Removed

  • Remove the deprecated Savepoint::rollback() alias; use rollbackTo() instead (#585)
  • Remove redundant C++11/C++14/C++17 compatibility guards (#589)

Fixed

  • Fix Meson builds with a custom assertion handler (#590)
  • Instrument unit tests and examples in UBSan builds (#593)
  • Fix column metadata API visibility for Meson consumers (#595)
  • Fix keyless database readability detection and add hasSQLiteHeader() (#608)
  • Refresh cached result-column metadata after SQLite reprepares a statement (#598)

Added

  • Add source table-name accessors to Statement and Column (#594)
  • Add std::string_view binding and column access, with tests and documentation (#518) (#607)

[3.4.0] - 2026-09-21

Added

  • Add a SQLITECPP_install CMake option to make the install targets optional (#512)
  • Add AI coding guidelines for GitHub Copilot and Cursor (#529)
  • Add agent skills for releases, SQLite updates, CHANGELOG maintenance, and authoring (#546)
  • Add a GitHub Actions workflow computing unit test & example code coverage (GCov) and publishing it to Coveralls (#549)
  • Add unit tests covering error and edge-case paths to raise code coverage (#551)
  • Add Statement::RowIterator to support range-based for loops over query results (#545, fixes #181)
  • Add 64-bit BLOB binding methods (#564)
  • Add ASan, UBSan, and cppcheck quality gates (#568)
  • Add CodeQL security and quality analysis (#569)
  • Allow Database encryption keys to be supplied as binary buffers (#571)
  • Add C++11 & C++17 standard tests (#574)

Changed

  • Update SQLite from 3.49.2 to 3.53.4 (2026-07-24) (#526) (#538) (#548) (#561) (#566)
  • Generalize the CMake SQLite and key API to ease use of SQLite3 Multiple Ciphers (#532)
  • Set cmake_minimum_required policy max to support CMake 4.0 (#519)
  • Update example2 to cmake_minimum_required(VERSION 3.5...4.0) (committed directly to master)
  • Replace the monolithic Copilot instructions with granular agent skills and an AGENTS.md router (#531)
  • Enforce LF line endings with .gitattributes and normalize tracked files (#550)
  • Restore the Coverity Scan static analysis as a GitHub Actions workflow, replacing the old Travis CI job (#557)
  • Limit AppVeyor to Visual Studio 2022 and 2019 Release builds on master and pull requests (#565)
  • Refresh the README CI badges (#570)
  • Update copyright years to 2026 across project files (#578)

Removed

  • Remove obsolete Travis CI configuration and active references (#572)
  • Remove AppVeyor and retain Visual Studio 2022 Release Win32/x86 coverage in GitHub Actions (#573)

Fixed

  • Fix a faulty #undef of the experimental filesystem feature macro (#509)
  • Fix compilation with newer GoogleTest (#514)
  • Fix the MinGW build by conditionally linking libssp (#527)
  • Fix Windows MSVC CI by switching the windows-latest generator to Visual Studio 18 2026 (#547)
  • Guard against null C pointers in Exception, Database, and Statement to avoid undefined behavior (#552)
  • Fix Database::isUnencrypted() to compare the full 16-byte header in binary mode (#553)
  • Fix execute_many() to clear stale bindings between parameter sets (#554)
  • Fix Column::operator« to stream the exact column bytes via getString() (#556)
  • Fix Database::getHeaderInfo() signed-shift UB and use fixed-width types for the Header struct (#558)
  • Restore SQLite::Header 3.x ABI compatibility while keeping fixed-width header parsing (#575)
  • Fix Savepoint destructor to catch all exceptions to avoid std::terminate (#559)
  • Restore SQLite::Savepoint 3.x ABI compatibility while retaining destructor exception safety (#576)
  • Fix Transaction destructor to catch all exceptions to avoid std::terminate (#559)
  • Fix the Meson build when the SQLITECPP_DISABLE_STD_FILESYSTEM option is enabled (#560)
  • Add unit tests for Statement::RowIterator to fix coverage regression (#562)
  • Fix large std::string binding sizes (#563)
  • Fix GCov linking in shared-library builds (#567)

[3.3.3] - 2025-05-20

Added

File truncated at 100 lines see the full file

Package Dependencies

No dependencies on ROS packages.

System Dependencies

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged SQLiteCpp at Robotics Stack Exchange

Package symbol

SQLiteCpp package from sqlitecpp repo

SQLiteCpp

ROS Distro
github

Package Summary

Version 4.0.0
License MIT
Build type CMAKE
Use RECOMMENDED

Repository Summary

Description
Checkout URI https://github.com/srombauts/sqlitecpp.git
VCS Type git
VCS Version master
Last Updated 2026-10-24
Dev Status UNKNOWN
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

A smart and easy to use C++ SQLite3 wrapper.

Maintainers

  • Sébastien Rombauts

Authors

  • Sébastien Rombauts

SQLiteC++

release license CMake Meson Quality CodeQL Coveralls Coverity Join the chat at https://gitter.im/SRombauts/SQLiteCpp

SQLiteC++ (SQLiteCpp) is a lean and easy to use C++ SQLite3 wrapper.

Supported release lines

  • SQLiteCpp 4.x (master) is the actively developed line. It requires C++17 and SQLite 3.38.0 or newer, and may introduce API/ABI-breaking changes.
  • SQLiteCpp 3.x (sqlitecpp-3.x) is the C++11-compatible maintenance line, starting from release 3.4.0. It keeps the SQLite 3.8.7 minimum and focuses on compatible bug fixes and backports without adopting the breaking changes of 4.x. The core library supports C++11; some optional headers use C++14.

The older sqlitecpp-3.4.x branch remains available for the 3.4.x series; ongoing C++11 maintenance targets sqlitecpp-3.x.

About SQLiteC++:

SQLiteC++ offers an encapsulation around the native C APIs of SQLite, with a few intuitive and well documented C++ classes.

License:

Copyright (c) 2012-2026 Sébastien Rombauts (sebastien.rombauts@gmail.com)

Distributed under the MIT License (MIT) (See accompanying file LICENSE.txt or copy at http://opensource.org/licenses/MIT)

Note on redistribution of SQLite source files

As stated by the MIT License, you are welcome to reuse, modify, and redistribute the SQLiteCpp source code the way you want it to, be it a git submodule, a subdirectory, or a selection of some source files.

I would love a mention in your README, a web link to the SQLite repository, and a mention of the author, but none of those are mandatory.

About SQLite underlying library:

SQLite is a library that implements a serverless transactional SQL database engine. It is the most widely deployed SQL database engine in the world. All of the code and documentation in SQLite has been dedicated to the public domain by the authors. http://www.sqlite.org/about.html

The goals of SQLiteC++ are:

  • to offer the best of the existing simple C++ SQLite wrappers
  • to be elegantly written with modern C++17 design, STL, exceptions and RAII idiom
  • to keep dependencies to a minimum (C++17 STL and SQLite3)
  • to be portable
  • to be light and fast

  • to be thread-safe only as much as SQLite “Multi-thread” mode (see below)
  • to have a good unit test coverage
  • to use API names sticking with those of the SQLite library
  • to be well documented with Doxygen tags, and with some good examples
  • to be well maintained
  • to use a permissive MIT license, similar to BSD or Boost, for proprietary/commercial usage

It is designed using the Resource Acquisition Is Initialization (RAII) idiom (see http://en.wikipedia.org/wiki/Resource_Acquisition_Is_Initialization), and throwing exceptions in case of SQLite errors (except in destructors, where assert() are used instead). Each SQLiteC++ object must be constructed with a valid SQLite database connection, and then is always valid until destroyed.

Supported platforms:

The platform and compiler requirements below describe master (SQLiteCpp 4.x).

The continuous integration builds and tests on:

  • Ubuntu 22.04 and 24.04, plus the current Ubuntu GitHub Actions runner
  • the current Windows GitHub Actions runner, plus Visual Studio 2022 Release builds for Win32/x86 with shared and static libraries
  • the minimum MSVC toolset, VS2017 15.9 / v141, installed on the Windows 2022 runner
  • the current macOS GitHub Actions runner

The build matrices cover GCC, Clang, AppleClang, MinGW, and MSVC. The library requires C++17, and the CMake compatibility workflow also exercises C++20.

Dependencies

  • CMake 3.16 or newer when using the CMake build
  • a C++17-capable compiler and standard library
  • Visual Studio 2017 15.9 (MSVC 19.16 / v141 toolset 14.16) or newer when using MSVC
  • exception support (the class Exception inherits from std::runtime_error)

File truncated at 100 lines see the full file

CHANGELOG

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

[Unreleased]

Changed

  • Update bundled SQLite from 3.53.4 to 3.54.1 (2026-10-16) (#597)
  • Require SQLite 3.38.0 or newer (#596)
  • Require C++17 and CMake 3.16 or newer (#580)
  • Adopt CMake 4.4 policies and test them (#581)
  • Bump the shared-library ABI version from 0 to 1 for SQLiteCpp 4.0
  • Use fixed-width integer types in SQLite::Header, making field widths consistent across platforms (ABI change) (#582)
  • Update googletest to v1.18.0 (#583)
  • Improve tests for Savepoint::rollbackTo() and scope-exit rollback semantics (#584)
  • Fix link errors in supplied assertion handlers and add handler-enabled CI coverage (#587)
  • Make column type constants usable in constant expressions (ABI change) (#609)
  • Restrict CMake package compatibility to the same major version (#610)
  • Preserve SQL NULL as nullptr in implicit const char* conversions; use getText() for the old fallback (#612)
  • Clarify nullable text examples and borrowed result lifetimes (#613)

Removed

  • Remove the deprecated Savepoint::rollback() alias; use rollbackTo() instead (#585)
  • Remove redundant C++11/C++14/C++17 compatibility guards (#589)

Fixed

  • Fix Meson builds with a custom assertion handler (#590)
  • Instrument unit tests and examples in UBSan builds (#593)
  • Fix column metadata API visibility for Meson consumers (#595)
  • Fix keyless database readability detection and add hasSQLiteHeader() (#608)
  • Refresh cached result-column metadata after SQLite reprepares a statement (#598)

Added

  • Add source table-name accessors to Statement and Column (#594)
  • Add std::string_view binding and column access, with tests and documentation (#518) (#607)

[3.4.0] - 2026-09-21

Added

  • Add a SQLITECPP_install CMake option to make the install targets optional (#512)
  • Add AI coding guidelines for GitHub Copilot and Cursor (#529)
  • Add agent skills for releases, SQLite updates, CHANGELOG maintenance, and authoring (#546)
  • Add a GitHub Actions workflow computing unit test & example code coverage (GCov) and publishing it to Coveralls (#549)
  • Add unit tests covering error and edge-case paths to raise code coverage (#551)
  • Add Statement::RowIterator to support range-based for loops over query results (#545, fixes #181)
  • Add 64-bit BLOB binding methods (#564)
  • Add ASan, UBSan, and cppcheck quality gates (#568)
  • Add CodeQL security and quality analysis (#569)
  • Allow Database encryption keys to be supplied as binary buffers (#571)
  • Add C++11 & C++17 standard tests (#574)

Changed

  • Update SQLite from 3.49.2 to 3.53.4 (2026-07-24) (#526) (#538) (#548) (#561) (#566)
  • Generalize the CMake SQLite and key API to ease use of SQLite3 Multiple Ciphers (#532)
  • Set cmake_minimum_required policy max to support CMake 4.0 (#519)
  • Update example2 to cmake_minimum_required(VERSION 3.5...4.0) (committed directly to master)
  • Replace the monolithic Copilot instructions with granular agent skills and an AGENTS.md router (#531)
  • Enforce LF line endings with .gitattributes and normalize tracked files (#550)
  • Restore the Coverity Scan static analysis as a GitHub Actions workflow, replacing the old Travis CI job (#557)
  • Limit AppVeyor to Visual Studio 2022 and 2019 Release builds on master and pull requests (#565)
  • Refresh the README CI badges (#570)
  • Update copyright years to 2026 across project files (#578)

Removed

  • Remove obsolete Travis CI configuration and active references (#572)
  • Remove AppVeyor and retain Visual Studio 2022 Release Win32/x86 coverage in GitHub Actions (#573)

Fixed

  • Fix a faulty #undef of the experimental filesystem feature macro (#509)
  • Fix compilation with newer GoogleTest (#514)
  • Fix the MinGW build by conditionally linking libssp (#527)
  • Fix Windows MSVC CI by switching the windows-latest generator to Visual Studio 18 2026 (#547)
  • Guard against null C pointers in Exception, Database, and Statement to avoid undefined behavior (#552)
  • Fix Database::isUnencrypted() to compare the full 16-byte header in binary mode (#553)
  • Fix execute_many() to clear stale bindings between parameter sets (#554)
  • Fix Column::operator« to stream the exact column bytes via getString() (#556)
  • Fix Database::getHeaderInfo() signed-shift UB and use fixed-width types for the Header struct (#558)
  • Restore SQLite::Header 3.x ABI compatibility while keeping fixed-width header parsing (#575)
  • Fix Savepoint destructor to catch all exceptions to avoid std::terminate (#559)
  • Restore SQLite::Savepoint 3.x ABI compatibility while retaining destructor exception safety (#576)
  • Fix Transaction destructor to catch all exceptions to avoid std::terminate (#559)
  • Fix the Meson build when the SQLITECPP_DISABLE_STD_FILESYSTEM option is enabled (#560)
  • Add unit tests for Statement::RowIterator to fix coverage regression (#562)
  • Fix large std::string binding sizes (#563)
  • Fix GCov linking in shared-library builds (#567)

[3.3.3] - 2025-05-20

Added

File truncated at 100 lines see the full file

Package Dependencies

No dependencies on ROS packages.

System Dependencies

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged SQLiteCpp at Robotics Stack Exchange

No version for distro galactic showing github. Known supported distros are highlighted in the buttons above.
Package symbol

SQLiteCpp package from sqlitecpp repo

SQLiteCpp

ROS Distro
github

Package Summary

Version 4.0.0
License MIT
Build type CMAKE
Use RECOMMENDED

Repository Summary

Description
Checkout URI https://github.com/srombauts/sqlitecpp.git
VCS Type git
VCS Version master
Last Updated 2026-10-24
Dev Status UNKNOWN
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

A smart and easy to use C++ SQLite3 wrapper.

Maintainers

  • Sébastien Rombauts

Authors

  • Sébastien Rombauts

SQLiteC++

release license CMake Meson Quality CodeQL Coveralls Coverity Join the chat at https://gitter.im/SRombauts/SQLiteCpp

SQLiteC++ (SQLiteCpp) is a lean and easy to use C++ SQLite3 wrapper.

Supported release lines

  • SQLiteCpp 4.x (master) is the actively developed line. It requires C++17 and SQLite 3.38.0 or newer, and may introduce API/ABI-breaking changes.
  • SQLiteCpp 3.x (sqlitecpp-3.x) is the C++11-compatible maintenance line, starting from release 3.4.0. It keeps the SQLite 3.8.7 minimum and focuses on compatible bug fixes and backports without adopting the breaking changes of 4.x. The core library supports C++11; some optional headers use C++14.

The older sqlitecpp-3.4.x branch remains available for the 3.4.x series; ongoing C++11 maintenance targets sqlitecpp-3.x.

About SQLiteC++:

SQLiteC++ offers an encapsulation around the native C APIs of SQLite, with a few intuitive and well documented C++ classes.

License:

Copyright (c) 2012-2026 Sébastien Rombauts (sebastien.rombauts@gmail.com)

Distributed under the MIT License (MIT) (See accompanying file LICENSE.txt or copy at http://opensource.org/licenses/MIT)

Note on redistribution of SQLite source files

As stated by the MIT License, you are welcome to reuse, modify, and redistribute the SQLiteCpp source code the way you want it to, be it a git submodule, a subdirectory, or a selection of some source files.

I would love a mention in your README, a web link to the SQLite repository, and a mention of the author, but none of those are mandatory.

About SQLite underlying library:

SQLite is a library that implements a serverless transactional SQL database engine. It is the most widely deployed SQL database engine in the world. All of the code and documentation in SQLite has been dedicated to the public domain by the authors. http://www.sqlite.org/about.html

The goals of SQLiteC++ are:

  • to offer the best of the existing simple C++ SQLite wrappers
  • to be elegantly written with modern C++17 design, STL, exceptions and RAII idiom
  • to keep dependencies to a minimum (C++17 STL and SQLite3)
  • to be portable
  • to be light and fast

  • to be thread-safe only as much as SQLite “Multi-thread” mode (see below)
  • to have a good unit test coverage
  • to use API names sticking with those of the SQLite library
  • to be well documented with Doxygen tags, and with some good examples
  • to be well maintained
  • to use a permissive MIT license, similar to BSD or Boost, for proprietary/commercial usage

It is designed using the Resource Acquisition Is Initialization (RAII) idiom (see http://en.wikipedia.org/wiki/Resource_Acquisition_Is_Initialization), and throwing exceptions in case of SQLite errors (except in destructors, where assert() are used instead). Each SQLiteC++ object must be constructed with a valid SQLite database connection, and then is always valid until destroyed.

Supported platforms:

The platform and compiler requirements below describe master (SQLiteCpp 4.x).

The continuous integration builds and tests on:

  • Ubuntu 22.04 and 24.04, plus the current Ubuntu GitHub Actions runner
  • the current Windows GitHub Actions runner, plus Visual Studio 2022 Release builds for Win32/x86 with shared and static libraries
  • the minimum MSVC toolset, VS2017 15.9 / v141, installed on the Windows 2022 runner
  • the current macOS GitHub Actions runner

The build matrices cover GCC, Clang, AppleClang, MinGW, and MSVC. The library requires C++17, and the CMake compatibility workflow also exercises C++20.

Dependencies

  • CMake 3.16 or newer when using the CMake build
  • a C++17-capable compiler and standard library
  • Visual Studio 2017 15.9 (MSVC 19.16 / v141 toolset 14.16) or newer when using MSVC
  • exception support (the class Exception inherits from std::runtime_error)

File truncated at 100 lines see the full file

CHANGELOG

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

[Unreleased]

Changed

  • Update bundled SQLite from 3.53.4 to 3.54.1 (2026-10-16) (#597)
  • Require SQLite 3.38.0 or newer (#596)
  • Require C++17 and CMake 3.16 or newer (#580)
  • Adopt CMake 4.4 policies and test them (#581)
  • Bump the shared-library ABI version from 0 to 1 for SQLiteCpp 4.0
  • Use fixed-width integer types in SQLite::Header, making field widths consistent across platforms (ABI change) (#582)
  • Update googletest to v1.18.0 (#583)
  • Improve tests for Savepoint::rollbackTo() and scope-exit rollback semantics (#584)
  • Fix link errors in supplied assertion handlers and add handler-enabled CI coverage (#587)
  • Make column type constants usable in constant expressions (ABI change) (#609)
  • Restrict CMake package compatibility to the same major version (#610)
  • Preserve SQL NULL as nullptr in implicit const char* conversions; use getText() for the old fallback (#612)
  • Clarify nullable text examples and borrowed result lifetimes (#613)

Removed

  • Remove the deprecated Savepoint::rollback() alias; use rollbackTo() instead (#585)
  • Remove redundant C++11/C++14/C++17 compatibility guards (#589)

Fixed

  • Fix Meson builds with a custom assertion handler (#590)
  • Instrument unit tests and examples in UBSan builds (#593)
  • Fix column metadata API visibility for Meson consumers (#595)
  • Fix keyless database readability detection and add hasSQLiteHeader() (#608)
  • Refresh cached result-column metadata after SQLite reprepares a statement (#598)

Added

  • Add source table-name accessors to Statement and Column (#594)
  • Add std::string_view binding and column access, with tests and documentation (#518) (#607)

[3.4.0] - 2026-09-21

Added

  • Add a SQLITECPP_install CMake option to make the install targets optional (#512)
  • Add AI coding guidelines for GitHub Copilot and Cursor (#529)
  • Add agent skills for releases, SQLite updates, CHANGELOG maintenance, and authoring (#546)
  • Add a GitHub Actions workflow computing unit test & example code coverage (GCov) and publishing it to Coveralls (#549)
  • Add unit tests covering error and edge-case paths to raise code coverage (#551)
  • Add Statement::RowIterator to support range-based for loops over query results (#545, fixes #181)
  • Add 64-bit BLOB binding methods (#564)
  • Add ASan, UBSan, and cppcheck quality gates (#568)
  • Add CodeQL security and quality analysis (#569)
  • Allow Database encryption keys to be supplied as binary buffers (#571)
  • Add C++11 & C++17 standard tests (#574)

Changed

  • Update SQLite from 3.49.2 to 3.53.4 (2026-07-24) (#526) (#538) (#548) (#561) (#566)
  • Generalize the CMake SQLite and key API to ease use of SQLite3 Multiple Ciphers (#532)
  • Set cmake_minimum_required policy max to support CMake 4.0 (#519)
  • Update example2 to cmake_minimum_required(VERSION 3.5...4.0) (committed directly to master)
  • Replace the monolithic Copilot instructions with granular agent skills and an AGENTS.md router (#531)
  • Enforce LF line endings with .gitattributes and normalize tracked files (#550)
  • Restore the Coverity Scan static analysis as a GitHub Actions workflow, replacing the old Travis CI job (#557)
  • Limit AppVeyor to Visual Studio 2022 and 2019 Release builds on master and pull requests (#565)
  • Refresh the README CI badges (#570)
  • Update copyright years to 2026 across project files (#578)

Removed

  • Remove obsolete Travis CI configuration and active references (#572)
  • Remove AppVeyor and retain Visual Studio 2022 Release Win32/x86 coverage in GitHub Actions (#573)

Fixed

  • Fix a faulty #undef of the experimental filesystem feature macro (#509)
  • Fix compilation with newer GoogleTest (#514)
  • Fix the MinGW build by conditionally linking libssp (#527)
  • Fix Windows MSVC CI by switching the windows-latest generator to Visual Studio 18 2026 (#547)
  • Guard against null C pointers in Exception, Database, and Statement to avoid undefined behavior (#552)
  • Fix Database::isUnencrypted() to compare the full 16-byte header in binary mode (#553)
  • Fix execute_many() to clear stale bindings between parameter sets (#554)
  • Fix Column::operator« to stream the exact column bytes via getString() (#556)
  • Fix Database::getHeaderInfo() signed-shift UB and use fixed-width types for the Header struct (#558)
  • Restore SQLite::Header 3.x ABI compatibility while keeping fixed-width header parsing (#575)
  • Fix Savepoint destructor to catch all exceptions to avoid std::terminate (#559)
  • Restore SQLite::Savepoint 3.x ABI compatibility while retaining destructor exception safety (#576)
  • Fix Transaction destructor to catch all exceptions to avoid std::terminate (#559)
  • Fix the Meson build when the SQLITECPP_DISABLE_STD_FILESYSTEM option is enabled (#560)
  • Add unit tests for Statement::RowIterator to fix coverage regression (#562)
  • Fix large std::string binding sizes (#563)
  • Fix GCov linking in shared-library builds (#567)

[3.3.3] - 2025-05-20

Added

File truncated at 100 lines see the full file

Package Dependencies

No dependencies on ROS packages.

System Dependencies

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged SQLiteCpp at Robotics Stack Exchange

No version for distro iron showing github. Known supported distros are highlighted in the buttons above.
Package symbol

SQLiteCpp package from sqlitecpp repo

SQLiteCpp

ROS Distro
github

Package Summary

Version 4.0.0
License MIT
Build type CMAKE
Use RECOMMENDED

Repository Summary

Description
Checkout URI https://github.com/srombauts/sqlitecpp.git
VCS Type git
VCS Version master
Last Updated 2026-10-24
Dev Status UNKNOWN
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

A smart and easy to use C++ SQLite3 wrapper.

Maintainers

  • Sébastien Rombauts

Authors

  • Sébastien Rombauts

SQLiteC++

release license CMake Meson Quality CodeQL Coveralls Coverity Join the chat at https://gitter.im/SRombauts/SQLiteCpp

SQLiteC++ (SQLiteCpp) is a lean and easy to use C++ SQLite3 wrapper.

Supported release lines

  • SQLiteCpp 4.x (master) is the actively developed line. It requires C++17 and SQLite 3.38.0 or newer, and may introduce API/ABI-breaking changes.
  • SQLiteCpp 3.x (sqlitecpp-3.x) is the C++11-compatible maintenance line, starting from release 3.4.0. It keeps the SQLite 3.8.7 minimum and focuses on compatible bug fixes and backports without adopting the breaking changes of 4.x. The core library supports C++11; some optional headers use C++14.

The older sqlitecpp-3.4.x branch remains available for the 3.4.x series; ongoing C++11 maintenance targets sqlitecpp-3.x.

About SQLiteC++:

SQLiteC++ offers an encapsulation around the native C APIs of SQLite, with a few intuitive and well documented C++ classes.

License:

Copyright (c) 2012-2026 Sébastien Rombauts (sebastien.rombauts@gmail.com)

Distributed under the MIT License (MIT) (See accompanying file LICENSE.txt or copy at http://opensource.org/licenses/MIT)

Note on redistribution of SQLite source files

As stated by the MIT License, you are welcome to reuse, modify, and redistribute the SQLiteCpp source code the way you want it to, be it a git submodule, a subdirectory, or a selection of some source files.

I would love a mention in your README, a web link to the SQLite repository, and a mention of the author, but none of those are mandatory.

About SQLite underlying library:

SQLite is a library that implements a serverless transactional SQL database engine. It is the most widely deployed SQL database engine in the world. All of the code and documentation in SQLite has been dedicated to the public domain by the authors. http://www.sqlite.org/about.html

The goals of SQLiteC++ are:

  • to offer the best of the existing simple C++ SQLite wrappers
  • to be elegantly written with modern C++17 design, STL, exceptions and RAII idiom
  • to keep dependencies to a minimum (C++17 STL and SQLite3)
  • to be portable
  • to be light and fast

  • to be thread-safe only as much as SQLite “Multi-thread” mode (see below)
  • to have a good unit test coverage
  • to use API names sticking with those of the SQLite library
  • to be well documented with Doxygen tags, and with some good examples
  • to be well maintained
  • to use a permissive MIT license, similar to BSD or Boost, for proprietary/commercial usage

It is designed using the Resource Acquisition Is Initialization (RAII) idiom (see http://en.wikipedia.org/wiki/Resource_Acquisition_Is_Initialization), and throwing exceptions in case of SQLite errors (except in destructors, where assert() are used instead). Each SQLiteC++ object must be constructed with a valid SQLite database connection, and then is always valid until destroyed.

Supported platforms:

The platform and compiler requirements below describe master (SQLiteCpp 4.x).

The continuous integration builds and tests on:

  • Ubuntu 22.04 and 24.04, plus the current Ubuntu GitHub Actions runner
  • the current Windows GitHub Actions runner, plus Visual Studio 2022 Release builds for Win32/x86 with shared and static libraries
  • the minimum MSVC toolset, VS2017 15.9 / v141, installed on the Windows 2022 runner
  • the current macOS GitHub Actions runner

The build matrices cover GCC, Clang, AppleClang, MinGW, and MSVC. The library requires C++17, and the CMake compatibility workflow also exercises C++20.

Dependencies

  • CMake 3.16 or newer when using the CMake build
  • a C++17-capable compiler and standard library
  • Visual Studio 2017 15.9 (MSVC 19.16 / v141 toolset 14.16) or newer when using MSVC
  • exception support (the class Exception inherits from std::runtime_error)

File truncated at 100 lines see the full file

CHANGELOG

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

[Unreleased]

Changed

  • Update bundled SQLite from 3.53.4 to 3.54.1 (2026-10-16) (#597)
  • Require SQLite 3.38.0 or newer (#596)
  • Require C++17 and CMake 3.16 or newer (#580)
  • Adopt CMake 4.4 policies and test them (#581)
  • Bump the shared-library ABI version from 0 to 1 for SQLiteCpp 4.0
  • Use fixed-width integer types in SQLite::Header, making field widths consistent across platforms (ABI change) (#582)
  • Update googletest to v1.18.0 (#583)
  • Improve tests for Savepoint::rollbackTo() and scope-exit rollback semantics (#584)
  • Fix link errors in supplied assertion handlers and add handler-enabled CI coverage (#587)
  • Make column type constants usable in constant expressions (ABI change) (#609)
  • Restrict CMake package compatibility to the same major version (#610)
  • Preserve SQL NULL as nullptr in implicit const char* conversions; use getText() for the old fallback (#612)
  • Clarify nullable text examples and borrowed result lifetimes (#613)

Removed

  • Remove the deprecated Savepoint::rollback() alias; use rollbackTo() instead (#585)
  • Remove redundant C++11/C++14/C++17 compatibility guards (#589)

Fixed

  • Fix Meson builds with a custom assertion handler (#590)
  • Instrument unit tests and examples in UBSan builds (#593)
  • Fix column metadata API visibility for Meson consumers (#595)
  • Fix keyless database readability detection and add hasSQLiteHeader() (#608)
  • Refresh cached result-column metadata after SQLite reprepares a statement (#598)

Added

  • Add source table-name accessors to Statement and Column (#594)
  • Add std::string_view binding and column access, with tests and documentation (#518) (#607)

[3.4.0] - 2026-09-21

Added

  • Add a SQLITECPP_install CMake option to make the install targets optional (#512)
  • Add AI coding guidelines for GitHub Copilot and Cursor (#529)
  • Add agent skills for releases, SQLite updates, CHANGELOG maintenance, and authoring (#546)
  • Add a GitHub Actions workflow computing unit test & example code coverage (GCov) and publishing it to Coveralls (#549)
  • Add unit tests covering error and edge-case paths to raise code coverage (#551)
  • Add Statement::RowIterator to support range-based for loops over query results (#545, fixes #181)
  • Add 64-bit BLOB binding methods (#564)
  • Add ASan, UBSan, and cppcheck quality gates (#568)
  • Add CodeQL security and quality analysis (#569)
  • Allow Database encryption keys to be supplied as binary buffers (#571)
  • Add C++11 & C++17 standard tests (#574)

Changed

  • Update SQLite from 3.49.2 to 3.53.4 (2026-07-24) (#526) (#538) (#548) (#561) (#566)
  • Generalize the CMake SQLite and key API to ease use of SQLite3 Multiple Ciphers (#532)
  • Set cmake_minimum_required policy max to support CMake 4.0 (#519)
  • Update example2 to cmake_minimum_required(VERSION 3.5...4.0) (committed directly to master)
  • Replace the monolithic Copilot instructions with granular agent skills and an AGENTS.md router (#531)
  • Enforce LF line endings with .gitattributes and normalize tracked files (#550)
  • Restore the Coverity Scan static analysis as a GitHub Actions workflow, replacing the old Travis CI job (#557)
  • Limit AppVeyor to Visual Studio 2022 and 2019 Release builds on master and pull requests (#565)
  • Refresh the README CI badges (#570)
  • Update copyright years to 2026 across project files (#578)

Removed

  • Remove obsolete Travis CI configuration and active references (#572)
  • Remove AppVeyor and retain Visual Studio 2022 Release Win32/x86 coverage in GitHub Actions (#573)

Fixed

  • Fix a faulty #undef of the experimental filesystem feature macro (#509)
  • Fix compilation with newer GoogleTest (#514)
  • Fix the MinGW build by conditionally linking libssp (#527)
  • Fix Windows MSVC CI by switching the windows-latest generator to Visual Studio 18 2026 (#547)
  • Guard against null C pointers in Exception, Database, and Statement to avoid undefined behavior (#552)
  • Fix Database::isUnencrypted() to compare the full 16-byte header in binary mode (#553)
  • Fix execute_many() to clear stale bindings between parameter sets (#554)
  • Fix Column::operator« to stream the exact column bytes via getString() (#556)
  • Fix Database::getHeaderInfo() signed-shift UB and use fixed-width types for the Header struct (#558)
  • Restore SQLite::Header 3.x ABI compatibility while keeping fixed-width header parsing (#575)
  • Fix Savepoint destructor to catch all exceptions to avoid std::terminate (#559)
  • Restore SQLite::Savepoint 3.x ABI compatibility while retaining destructor exception safety (#576)
  • Fix Transaction destructor to catch all exceptions to avoid std::terminate (#559)
  • Fix the Meson build when the SQLITECPP_DISABLE_STD_FILESYSTEM option is enabled (#560)
  • Add unit tests for Statement::RowIterator to fix coverage regression (#562)
  • Fix large std::string binding sizes (#563)
  • Fix GCov linking in shared-library builds (#567)

[3.3.3] - 2025-05-20

Added

File truncated at 100 lines see the full file

Package Dependencies

No dependencies on ROS packages.

System Dependencies

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged SQLiteCpp at Robotics Stack Exchange

No version for distro melodic showing github. Known supported distros are highlighted in the buttons above.
Package symbol

SQLiteCpp package from sqlitecpp repo

SQLiteCpp

ROS Distro
github

Package Summary

Version 4.0.0
License MIT
Build type CMAKE
Use RECOMMENDED

Repository Summary

Description
Checkout URI https://github.com/srombauts/sqlitecpp.git
VCS Type git
VCS Version master
Last Updated 2026-10-24
Dev Status UNKNOWN
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

A smart and easy to use C++ SQLite3 wrapper.

Maintainers

  • Sébastien Rombauts

Authors

  • Sébastien Rombauts

SQLiteC++

release license CMake Meson Quality CodeQL Coveralls Coverity Join the chat at https://gitter.im/SRombauts/SQLiteCpp

SQLiteC++ (SQLiteCpp) is a lean and easy to use C++ SQLite3 wrapper.

Supported release lines

  • SQLiteCpp 4.x (master) is the actively developed line. It requires C++17 and SQLite 3.38.0 or newer, and may introduce API/ABI-breaking changes.
  • SQLiteCpp 3.x (sqlitecpp-3.x) is the C++11-compatible maintenance line, starting from release 3.4.0. It keeps the SQLite 3.8.7 minimum and focuses on compatible bug fixes and backports without adopting the breaking changes of 4.x. The core library supports C++11; some optional headers use C++14.

The older sqlitecpp-3.4.x branch remains available for the 3.4.x series; ongoing C++11 maintenance targets sqlitecpp-3.x.

About SQLiteC++:

SQLiteC++ offers an encapsulation around the native C APIs of SQLite, with a few intuitive and well documented C++ classes.

License:

Copyright (c) 2012-2026 Sébastien Rombauts (sebastien.rombauts@gmail.com)

Distributed under the MIT License (MIT) (See accompanying file LICENSE.txt or copy at http://opensource.org/licenses/MIT)

Note on redistribution of SQLite source files

As stated by the MIT License, you are welcome to reuse, modify, and redistribute the SQLiteCpp source code the way you want it to, be it a git submodule, a subdirectory, or a selection of some source files.

I would love a mention in your README, a web link to the SQLite repository, and a mention of the author, but none of those are mandatory.

About SQLite underlying library:

SQLite is a library that implements a serverless transactional SQL database engine. It is the most widely deployed SQL database engine in the world. All of the code and documentation in SQLite has been dedicated to the public domain by the authors. http://www.sqlite.org/about.html

The goals of SQLiteC++ are:

  • to offer the best of the existing simple C++ SQLite wrappers
  • to be elegantly written with modern C++17 design, STL, exceptions and RAII idiom
  • to keep dependencies to a minimum (C++17 STL and SQLite3)
  • to be portable
  • to be light and fast

  • to be thread-safe only as much as SQLite “Multi-thread” mode (see below)
  • to have a good unit test coverage
  • to use API names sticking with those of the SQLite library
  • to be well documented with Doxygen tags, and with some good examples
  • to be well maintained
  • to use a permissive MIT license, similar to BSD or Boost, for proprietary/commercial usage

It is designed using the Resource Acquisition Is Initialization (RAII) idiom (see http://en.wikipedia.org/wiki/Resource_Acquisition_Is_Initialization), and throwing exceptions in case of SQLite errors (except in destructors, where assert() are used instead). Each SQLiteC++ object must be constructed with a valid SQLite database connection, and then is always valid until destroyed.

Supported platforms:

The platform and compiler requirements below describe master (SQLiteCpp 4.x).

The continuous integration builds and tests on:

  • Ubuntu 22.04 and 24.04, plus the current Ubuntu GitHub Actions runner
  • the current Windows GitHub Actions runner, plus Visual Studio 2022 Release builds for Win32/x86 with shared and static libraries
  • the minimum MSVC toolset, VS2017 15.9 / v141, installed on the Windows 2022 runner
  • the current macOS GitHub Actions runner

The build matrices cover GCC, Clang, AppleClang, MinGW, and MSVC. The library requires C++17, and the CMake compatibility workflow also exercises C++20.

Dependencies

  • CMake 3.16 or newer when using the CMake build
  • a C++17-capable compiler and standard library
  • Visual Studio 2017 15.9 (MSVC 19.16 / v141 toolset 14.16) or newer when using MSVC
  • exception support (the class Exception inherits from std::runtime_error)

File truncated at 100 lines see the full file

CHANGELOG

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

[Unreleased]

Changed

  • Update bundled SQLite from 3.53.4 to 3.54.1 (2026-10-16) (#597)
  • Require SQLite 3.38.0 or newer (#596)
  • Require C++17 and CMake 3.16 or newer (#580)
  • Adopt CMake 4.4 policies and test them (#581)
  • Bump the shared-library ABI version from 0 to 1 for SQLiteCpp 4.0
  • Use fixed-width integer types in SQLite::Header, making field widths consistent across platforms (ABI change) (#582)
  • Update googletest to v1.18.0 (#583)
  • Improve tests for Savepoint::rollbackTo() and scope-exit rollback semantics (#584)
  • Fix link errors in supplied assertion handlers and add handler-enabled CI coverage (#587)
  • Make column type constants usable in constant expressions (ABI change) (#609)
  • Restrict CMake package compatibility to the same major version (#610)
  • Preserve SQL NULL as nullptr in implicit const char* conversions; use getText() for the old fallback (#612)
  • Clarify nullable text examples and borrowed result lifetimes (#613)

Removed

  • Remove the deprecated Savepoint::rollback() alias; use rollbackTo() instead (#585)
  • Remove redundant C++11/C++14/C++17 compatibility guards (#589)

Fixed

  • Fix Meson builds with a custom assertion handler (#590)
  • Instrument unit tests and examples in UBSan builds (#593)
  • Fix column metadata API visibility for Meson consumers (#595)
  • Fix keyless database readability detection and add hasSQLiteHeader() (#608)
  • Refresh cached result-column metadata after SQLite reprepares a statement (#598)

Added

  • Add source table-name accessors to Statement and Column (#594)
  • Add std::string_view binding and column access, with tests and documentation (#518) (#607)

[3.4.0] - 2026-09-21

Added

  • Add a SQLITECPP_install CMake option to make the install targets optional (#512)
  • Add AI coding guidelines for GitHub Copilot and Cursor (#529)
  • Add agent skills for releases, SQLite updates, CHANGELOG maintenance, and authoring (#546)
  • Add a GitHub Actions workflow computing unit test & example code coverage (GCov) and publishing it to Coveralls (#549)
  • Add unit tests covering error and edge-case paths to raise code coverage (#551)
  • Add Statement::RowIterator to support range-based for loops over query results (#545, fixes #181)
  • Add 64-bit BLOB binding methods (#564)
  • Add ASan, UBSan, and cppcheck quality gates (#568)
  • Add CodeQL security and quality analysis (#569)
  • Allow Database encryption keys to be supplied as binary buffers (#571)
  • Add C++11 & C++17 standard tests (#574)

Changed

  • Update SQLite from 3.49.2 to 3.53.4 (2026-07-24) (#526) (#538) (#548) (#561) (#566)
  • Generalize the CMake SQLite and key API to ease use of SQLite3 Multiple Ciphers (#532)
  • Set cmake_minimum_required policy max to support CMake 4.0 (#519)
  • Update example2 to cmake_minimum_required(VERSION 3.5...4.0) (committed directly to master)
  • Replace the monolithic Copilot instructions with granular agent skills and an AGENTS.md router (#531)
  • Enforce LF line endings with .gitattributes and normalize tracked files (#550)
  • Restore the Coverity Scan static analysis as a GitHub Actions workflow, replacing the old Travis CI job (#557)
  • Limit AppVeyor to Visual Studio 2022 and 2019 Release builds on master and pull requests (#565)
  • Refresh the README CI badges (#570)
  • Update copyright years to 2026 across project files (#578)

Removed

  • Remove obsolete Travis CI configuration and active references (#572)
  • Remove AppVeyor and retain Visual Studio 2022 Release Win32/x86 coverage in GitHub Actions (#573)

Fixed

  • Fix a faulty #undef of the experimental filesystem feature macro (#509)
  • Fix compilation with newer GoogleTest (#514)
  • Fix the MinGW build by conditionally linking libssp (#527)
  • Fix Windows MSVC CI by switching the windows-latest generator to Visual Studio 18 2026 (#547)
  • Guard against null C pointers in Exception, Database, and Statement to avoid undefined behavior (#552)
  • Fix Database::isUnencrypted() to compare the full 16-byte header in binary mode (#553)
  • Fix execute_many() to clear stale bindings between parameter sets (#554)
  • Fix Column::operator« to stream the exact column bytes via getString() (#556)
  • Fix Database::getHeaderInfo() signed-shift UB and use fixed-width types for the Header struct (#558)
  • Restore SQLite::Header 3.x ABI compatibility while keeping fixed-width header parsing (#575)
  • Fix Savepoint destructor to catch all exceptions to avoid std::terminate (#559)
  • Restore SQLite::Savepoint 3.x ABI compatibility while retaining destructor exception safety (#576)
  • Fix Transaction destructor to catch all exceptions to avoid std::terminate (#559)
  • Fix the Meson build when the SQLITECPP_DISABLE_STD_FILESYSTEM option is enabled (#560)
  • Add unit tests for Statement::RowIterator to fix coverage regression (#562)
  • Fix large std::string binding sizes (#563)
  • Fix GCov linking in shared-library builds (#567)

[3.3.3] - 2025-05-20

Added

File truncated at 100 lines see the full file

Package Dependencies

No dependencies on ROS packages.

System Dependencies

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged SQLiteCpp at Robotics Stack Exchange

No version for distro noetic showing github. Known supported distros are highlighted in the buttons above.
Package symbol

SQLiteCpp package from sqlitecpp repo

SQLiteCpp

ROS Distro
github

Package Summary

Version 4.0.0
License MIT
Build type CMAKE
Use RECOMMENDED

Repository Summary

Description
Checkout URI https://github.com/srombauts/sqlitecpp.git
VCS Type git
VCS Version master
Last Updated 2026-10-24
Dev Status UNKNOWN
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

A smart and easy to use C++ SQLite3 wrapper.

Maintainers

  • Sébastien Rombauts

Authors

  • Sébastien Rombauts

SQLiteC++

release license CMake Meson Quality CodeQL Coveralls Coverity Join the chat at https://gitter.im/SRombauts/SQLiteCpp

SQLiteC++ (SQLiteCpp) is a lean and easy to use C++ SQLite3 wrapper.

Supported release lines

  • SQLiteCpp 4.x (master) is the actively developed line. It requires C++17 and SQLite 3.38.0 or newer, and may introduce API/ABI-breaking changes.
  • SQLiteCpp 3.x (sqlitecpp-3.x) is the C++11-compatible maintenance line, starting from release 3.4.0. It keeps the SQLite 3.8.7 minimum and focuses on compatible bug fixes and backports without adopting the breaking changes of 4.x. The core library supports C++11; some optional headers use C++14.

The older sqlitecpp-3.4.x branch remains available for the 3.4.x series; ongoing C++11 maintenance targets sqlitecpp-3.x.

About SQLiteC++:

SQLiteC++ offers an encapsulation around the native C APIs of SQLite, with a few intuitive and well documented C++ classes.

License:

Copyright (c) 2012-2026 Sébastien Rombauts (sebastien.rombauts@gmail.com)

Distributed under the MIT License (MIT) (See accompanying file LICENSE.txt or copy at http://opensource.org/licenses/MIT)

Note on redistribution of SQLite source files

As stated by the MIT License, you are welcome to reuse, modify, and redistribute the SQLiteCpp source code the way you want it to, be it a git submodule, a subdirectory, or a selection of some source files.

I would love a mention in your README, a web link to the SQLite repository, and a mention of the author, but none of those are mandatory.

About SQLite underlying library:

SQLite is a library that implements a serverless transactional SQL database engine. It is the most widely deployed SQL database engine in the world. All of the code and documentation in SQLite has been dedicated to the public domain by the authors. http://www.sqlite.org/about.html

The goals of SQLiteC++ are:

  • to offer the best of the existing simple C++ SQLite wrappers
  • to be elegantly written with modern C++17 design, STL, exceptions and RAII idiom
  • to keep dependencies to a minimum (C++17 STL and SQLite3)
  • to be portable
  • to be light and fast

  • to be thread-safe only as much as SQLite “Multi-thread” mode (see below)
  • to have a good unit test coverage
  • to use API names sticking with those of the SQLite library
  • to be well documented with Doxygen tags, and with some good examples
  • to be well maintained
  • to use a permissive MIT license, similar to BSD or Boost, for proprietary/commercial usage

It is designed using the Resource Acquisition Is Initialization (RAII) idiom (see http://en.wikipedia.org/wiki/Resource_Acquisition_Is_Initialization), and throwing exceptions in case of SQLite errors (except in destructors, where assert() are used instead). Each SQLiteC++ object must be constructed with a valid SQLite database connection, and then is always valid until destroyed.

Supported platforms:

The platform and compiler requirements below describe master (SQLiteCpp 4.x).

The continuous integration builds and tests on:

  • Ubuntu 22.04 and 24.04, plus the current Ubuntu GitHub Actions runner
  • the current Windows GitHub Actions runner, plus Visual Studio 2022 Release builds for Win32/x86 with shared and static libraries
  • the minimum MSVC toolset, VS2017 15.9 / v141, installed on the Windows 2022 runner
  • the current macOS GitHub Actions runner

The build matrices cover GCC, Clang, AppleClang, MinGW, and MSVC. The library requires C++17, and the CMake compatibility workflow also exercises C++20.

Dependencies

  • CMake 3.16 or newer when using the CMake build
  • a C++17-capable compiler and standard library
  • Visual Studio 2017 15.9 (MSVC 19.16 / v141 toolset 14.16) or newer when using MSVC
  • exception support (the class Exception inherits from std::runtime_error)

File truncated at 100 lines see the full file

CHANGELOG

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

[Unreleased]

Changed

  • Update bundled SQLite from 3.53.4 to 3.54.1 (2026-10-16) (#597)
  • Require SQLite 3.38.0 or newer (#596)
  • Require C++17 and CMake 3.16 or newer (#580)
  • Adopt CMake 4.4 policies and test them (#581)
  • Bump the shared-library ABI version from 0 to 1 for SQLiteCpp 4.0
  • Use fixed-width integer types in SQLite::Header, making field widths consistent across platforms (ABI change) (#582)
  • Update googletest to v1.18.0 (#583)
  • Improve tests for Savepoint::rollbackTo() and scope-exit rollback semantics (#584)
  • Fix link errors in supplied assertion handlers and add handler-enabled CI coverage (#587)
  • Make column type constants usable in constant expressions (ABI change) (#609)
  • Restrict CMake package compatibility to the same major version (#610)
  • Preserve SQL NULL as nullptr in implicit const char* conversions; use getText() for the old fallback (#612)
  • Clarify nullable text examples and borrowed result lifetimes (#613)

Removed

  • Remove the deprecated Savepoint::rollback() alias; use rollbackTo() instead (#585)
  • Remove redundant C++11/C++14/C++17 compatibility guards (#589)

Fixed

  • Fix Meson builds with a custom assertion handler (#590)
  • Instrument unit tests and examples in UBSan builds (#593)
  • Fix column metadata API visibility for Meson consumers (#595)
  • Fix keyless database readability detection and add hasSQLiteHeader() (#608)
  • Refresh cached result-column metadata after SQLite reprepares a statement (#598)

Added

  • Add source table-name accessors to Statement and Column (#594)
  • Add std::string_view binding and column access, with tests and documentation (#518) (#607)

[3.4.0] - 2026-09-21

Added

  • Add a SQLITECPP_install CMake option to make the install targets optional (#512)
  • Add AI coding guidelines for GitHub Copilot and Cursor (#529)
  • Add agent skills for releases, SQLite updates, CHANGELOG maintenance, and authoring (#546)
  • Add a GitHub Actions workflow computing unit test & example code coverage (GCov) and publishing it to Coveralls (#549)
  • Add unit tests covering error and edge-case paths to raise code coverage (#551)
  • Add Statement::RowIterator to support range-based for loops over query results (#545, fixes #181)
  • Add 64-bit BLOB binding methods (#564)
  • Add ASan, UBSan, and cppcheck quality gates (#568)
  • Add CodeQL security and quality analysis (#569)
  • Allow Database encryption keys to be supplied as binary buffers (#571)
  • Add C++11 & C++17 standard tests (#574)

Changed

  • Update SQLite from 3.49.2 to 3.53.4 (2026-07-24) (#526) (#538) (#548) (#561) (#566)
  • Generalize the CMake SQLite and key API to ease use of SQLite3 Multiple Ciphers (#532)
  • Set cmake_minimum_required policy max to support CMake 4.0 (#519)
  • Update example2 to cmake_minimum_required(VERSION 3.5...4.0) (committed directly to master)
  • Replace the monolithic Copilot instructions with granular agent skills and an AGENTS.md router (#531)
  • Enforce LF line endings with .gitattributes and normalize tracked files (#550)
  • Restore the Coverity Scan static analysis as a GitHub Actions workflow, replacing the old Travis CI job (#557)
  • Limit AppVeyor to Visual Studio 2022 and 2019 Release builds on master and pull requests (#565)
  • Refresh the README CI badges (#570)
  • Update copyright years to 2026 across project files (#578)

Removed

  • Remove obsolete Travis CI configuration and active references (#572)
  • Remove AppVeyor and retain Visual Studio 2022 Release Win32/x86 coverage in GitHub Actions (#573)

Fixed

  • Fix a faulty #undef of the experimental filesystem feature macro (#509)
  • Fix compilation with newer GoogleTest (#514)
  • Fix the MinGW build by conditionally linking libssp (#527)
  • Fix Windows MSVC CI by switching the windows-latest generator to Visual Studio 18 2026 (#547)
  • Guard against null C pointers in Exception, Database, and Statement to avoid undefined behavior (#552)
  • Fix Database::isUnencrypted() to compare the full 16-byte header in binary mode (#553)
  • Fix execute_many() to clear stale bindings between parameter sets (#554)
  • Fix Column::operator« to stream the exact column bytes via getString() (#556)
  • Fix Database::getHeaderInfo() signed-shift UB and use fixed-width types for the Header struct (#558)
  • Restore SQLite::Header 3.x ABI compatibility while keeping fixed-width header parsing (#575)
  • Fix Savepoint destructor to catch all exceptions to avoid std::terminate (#559)
  • Restore SQLite::Savepoint 3.x ABI compatibility while retaining destructor exception safety (#576)
  • Fix Transaction destructor to catch all exceptions to avoid std::terminate (#559)
  • Fix the Meson build when the SQLITECPP_DISABLE_STD_FILESYSTEM option is enabled (#560)
  • Add unit tests for Statement::RowIterator to fix coverage regression (#562)
  • Fix large std::string binding sizes (#563)
  • Fix GCov linking in shared-library builds (#567)

[3.3.3] - 2025-05-20

Added

File truncated at 100 lines see the full file

Package Dependencies

No dependencies on ROS packages.

System Dependencies

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged SQLiteCpp at Robotics Stack Exchange