SQLite3, PDO/SQLite and driver specific methods
| From: | Peter Bowyer | Date: | Tue, 16 Jun 2020 10:32:01 +0000 |
| Subject: | SQLite3, PDO/SQLite and driver specific methods | ||
| Groups: | php.internals | ||
| Request: | Send a blank email to internals+get-110578@lists.php.net to get a copy of this message | ||
Hi list,
4 months ago there was a discussion about the future of SQLite3 and
PDO/SQLite extensions (https://externals.io/message/108256), highlighting
the effort required to maintain two codebases.
Recently I encountered https://bugs.php.net/bug.php?id=64810 and thence
https://github.com/php/php-src/pull/3368. In
the pull request Christoph M.
Becker wrote on 8 May:
This PR is still unresolved. The problem is that adding driver specific
> methods to PDO via the currently existing mechanism (basicall
>
__call
> like), has faced some strong oposition, so this should be discussed on
> internals. It probably would make sense to start some general discussion
> about this issue, and to hopefully come to a solution, so driver specific
> functionality could be added to PDO in the future.
>
[Link: https://github.com/php/php-src/pull/3368#issuecomment-625731098]
In light of this comment, I'm emailing the list to start a general
discussion about this issue.
As alluded to earlier, there is a maintenance burden, and for users the
lack of parity between the two extensions can be an issue.
PDO is well established as providing a standardised access layer across
databases. SQLite requires extensions to be loaded to gain feature parity
with other databases (e.g. to load geospatial functions) and since it is
not a database server these have to be loaded at runtime. PDO has three
sqlite-prefixed functions (https://www.php.net/manual/en/ref.pdo-sqlite.php)
but not one to load extensions.
Is it a problem to add one?
If it is, how can we change and improve the current situation?
Peter