Skip to content

Modernization and major bug fixes for header-only implementation

Latest

Choose a tag to compare

@iwongu iwongu released this 08 Feb 19:40

This release focuses on improving the stability and features of the header-only implementation:

  • Major Fixes:

    • Resolved SIGSEGV in execute_all() with trailing whitespace (#78).
    • Fixed memory corruption in string extension results by using SQLITE_TRANSIENT (#81).
    • Fixed execute_all() to handle mixed parameterized and non-parameterized statements (#62).
    • Fixed potential connection leak and hook corruption during database move operations.
    • Fixed potential crash when retrieving NULL values as std::string.
  • New Features:

    • Added support for void return types in SQL extension functions and aggregates.
    • Added full char16_t (UTF-16) support for named parameters and stream binding.
  • Robustness:

    • Added a self-contained, comprehensive test suite in headeronly_src/test_all.cpp.
    • Modernized the codebase using C++11 features (nullptr, move semantics).
    • Replaced sqlite3_close with sqlite3_close_v2 for safer teardown.
  • Project Status:

    • Updated README.md with modern examples and formally designated headeronly_src as the primary maintained implementation.