Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

PostgreSQL driver refactoring #1008

Draft
wants to merge 16 commits into
base: master
Choose a base branch
from
Draft

Conversation

Version-specific code has been merged into parent postgres64 class.
Version-specific code has been merged into parent postgres64 class.

Notes:
- Obsolete _bindInputArray property was removed
- commented-out prepare() method was not carried over
- ADORecordSet_assoc_postgres7 -> ADORecordSet_assoc_postgres64
This only contained a PHPDoc block, no code.
Following squashing of the postgresN drivers (with N being 64, 7, 8, 9)
into the generic postgres one performed in previous commits, we now get
rid of all references to the removed classes.
Simplify code by removing unnecessary assignments and duplicated code.
The information_schema's tables view already contains the views, so
there is no need for an UNION query. The object's type (table/view) is
stored in the table_type column.

The metaTablesSQL query was modified accordingly.

Fixes ADOdb#972
@dregad dregad self-assigned this Nov 5, 2023
@Mike-Benoit
Copy link
Contributor

We noticed that ADORecordSet_postgres7->MoveNext() is setting: $this->fields = false; on the last row. This is causing us headaches because we are wanting to cache a recordset by serializing it (iterating over all rows), and iterate over it immediately after. But with $this->fields = false, that blocks us.

Any ideas why this might be happening in this driver? I couldn't find it occurring in other MoveNext() calls.

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