Skip to content

Fix Makefile to generate static library and instructions for building extension wrapper for asg017/sqlite-http and asg017/sqlite-html #23

@avinashkurup

Description

@avinashkurup

Description

Running make vet on the project surfaces warnings about potential misuse of reflect.SliceHeader in multiple files. These instances may lead to unsafe behavior and need to be addressed to ensure memory safety.

Additionally, there is a lack of clear instructions for building static libraries for Linux, Windows, and macOS. These are necessary for creating an executable that integrates sqlite-http, sqlite-html, and other SQLite extensions into the SQLite amalgamation.

Issues to Address

  1. Misuse of reflect.SliceHeader: The reflect.SliceHeader is used unsafely in the following files, which may lead to memory misalignment, data corruption, and garbage collection issues:

    • func.go:143:39
    • stmt.go:409:40
    • virtual_table.go:496:44
    • virtual_table.go:533:70
    • virtual_table.go:546:67
    • virtual_table.go:574:75
    • virtual_table.go:868:38

    These instances should be refactored using safe conversion functions provided by the reflect package.

  2. Static Library Build Instructions: The project needs detailed instructions for building static libraries compatible with Linux, Windows, and macOS. This is crucial for users attempting to compile a customized build of sqlite3 that includes the sqlite-http, sqlite-html, and other extensions.

Expected Outcome

  • Refactored code that removes unsafe usage of reflect.SliceHeader and adheres to Go's safety guidelines.
  • Comprehensive build instructions for generating static libraries across different operating systems.

Your assistance in resolving these issues would be highly appreciated as they are critical for the development of a stable and secure customized SQLite build.

Thank you.
Avinash.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions