Skip to content

Conversation

@mlazdans
Copy link
Collaborator

@mlazdans mlazdans commented Oct 30, 2025

Sorry for large (again) pull request, it just happened 😬 Please test it thoroughly first.

Address issues:

Some other changes:

  • Removed structs: ibase_result, ibase_statement and associated PHP resource types
  • Precompute HashTable structures for ibase_fetch_() instead on each call
  • Remove in_sqlda, out_sqlda double allocations
  • Allocate NULL indication buffer per query instead per field
  • Some code deduplication
  • Introduce versioning and expose IBASE_VER constant, starting from 6.1.1

Backwards incomptible (kinda) changes:

  • Broke the "test execute procedure" part of tests/006.phpt when ibase_execute($query) is used after ibase_free_query($query). This is improper use anyway and only worked by accident due to how single returns from a procedure are handled. To illustrate this I added tests/use_after_free-001.phpt and tests/use_after_free-002.phpt.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant