Hello internals,
I would like to ask what on your thoughts on removing the Oracle drive for
PDO from the documentation (http://us1.php.net/manual/en/ref.pdo-oci.php)
at least since it's been experimental for a long time now, and it has long
standing open bugs, such as:
https://bugs.php.net/bug.php?id=37706
https://bugs.php.net/bug.php?id=46728
https://bugs.php.net/bug.php?id=60994
I know that the extension is marked as experimental already but based on
the current status, it's not even that and a significant amount of basic
functionality is broken.
Regards,
Stelian
Absolutely +1 - most developers are dragged into using the PDO Oracle
driver by "hope" (since they find the docs), and then they get to know the
sad truth about it...
Marco Pivetta
On 22 April 2015 at 10:40, Stelian Mocanita stelian.mocanita@gmail.com
wrote:
Hello internals,
I would like to ask what on your thoughts on removing the Oracle drive for
PDO from the documentation (http://us1.php.net/manual/en/ref.pdo-oci.php)
at least since it's been experimental for a long time now, and it has long
standing open bugs, such as:https://bugs.php.net/bug.php?id=37706
https://bugs.php.net/bug.php?id=46728
https://bugs.php.net/bug.php?id=60994I know that the extension is marked as experimental already but based on
the current status, it's not even that and a significant amount of basic
functionality is broken.Regards,
Stelian
+1 from me. If nobody is maintaining it then it's a big risk. It should be
brought back in when there's people to maintain it.
Absolutely +1 - most developers are dragged into using the PDO Oracle
driver by "hope" (since they find the docs), and then they get to know the
sad truth about it...Marco Pivetta
On 22 April 2015 at 10:40, Stelian Mocanita stelian.mocanita@gmail.com
wrote:Hello internals,
I would like to ask what on your thoughts on removing the Oracle drive
for
PDO from the documentation (http://us1.php.net/manual/en/ref.pdo-oci.php
)
at least since it's been experimental for a long time now, and it has
long
standing open bugs, such as:https://bugs.php.net/bug.php?id=37706
https://bugs.php.net/bug.php?id=46728
https://bugs.php.net/bug.php?id=60994I know that the extension is marked as experimental already but based on
the current status, it's not even that and a significant amount of basic
functionality is broken.Regards,
Stelian
On 22 April 2015 at 10:40, Stelian Mocanita stelian.mocanita@gmail.com
wrote:
Hello internals,
I would like to ask what on your thoughts on removing the Oracle drive for
PDO from the documentation (http://us1.php.net/manual/en/ref.pdo-oci.php)
at least since it's been experimental for a long time now, and it has long
standing open bugs, such as:https://bugs.php.net/bug.php?id=37706
https://bugs.php.net/bug.php?id=46728
https://bugs.php.net/bug.php?id=60994I know that the extension is marked as experimental already but based on
the current status, it's not even that and a significant amount of basic
functionality is broken.Regards,
Stelian
It shouldn't just be undocumented and the src left in core, it should
probably be moved to PECL .
Also, it would be good to know what those who have worked on this in the
past consider the state of this extension to be. The last commit I can see
that was directly related to it (as opposed to project-wide fixes like
find/replace for new macros, big blobs of typo fixes etc) was in 2011, but
it looks like a few people have put a fair amount of work in prior to
that... are there any technical blockers on progress, or is it simply that
there's not enough demand for it/people haven't had the time to work on it?
cc-ing doc list
On 22 April 2015 at 10:40, Stelian Mocanita stelian.mocanita@gmail.com
wrote:
Hello internals,
I would like to ask what on your thoughts on removing the Oracle drive for
PDO from the documentation (http://us1.php.net/manual/en/ref.pdo-oci.php)
at least since it's been experimental for a long time now, and it has long
standing open bugs, such as:https://bugs.php.net/bug.php?id=37706
https://bugs.php.net/bug.php?id=46728
https://bugs.php.net/bug.php?id=60994I know that the extension is marked as experimental already but based on
the current status, it's not even that and a significant amount of basic
functionality is broken.Regards,
Stelian
On Wed, Apr 22, 2015 at 12:24 PM, Peter Cowburn petercowburn@gmail.com
wrote:
cc-ing doc list
On 22 April 2015 at 10:40, Stelian Mocanita stelian.mocanita@gmail.com
wrote:Hello internals,
I would like to ask what on your thoughts on removing the Oracle drive
for
PDO from the documentation (http://us1.php.net/manual/en/ref.pdo-oci.php
)
at least since it's been experimental for a long time now, and it has
long
standing open bugs, such as:https://bugs.php.net/bug.php?id=37706
https://bugs.php.net/bug.php?id=46728
https://bugs.php.net/bug.php?id=60994I know that the extension is marked as experimental already but based on
the current status, it's not even that and a significant amount of basic
functionality is broken.
When working on Doctrine support for Oracle we quickly realized that a lot
of bugfixes are done in oci8, but PDO_OCI doesnt get them.
A big +1 from me for removing this extension from core, given its critical
bugs/segfaults with simple features like CLOBs i cannot recommend it to
anyone.
Regards,
Stelian
When working on Doctrine support for Oracle we quickly realized that a lot
of bugfixes are done in oci8, but PDO_OCI doesnt get them.A big +1 from me for removing this extension from core, given its critical
bugs/segfaults with simple features like CLOBs i cannot recommend it to
anyone.
It's not just PDO_OCI that is not getting as much love as other parts of
the database driver interface. The generic drivers are still preferred
over PDO which only provide a subset of engines. and PHP7 is going to
affect other areas of the database infrastructure so perhaps we just
need a review of all aspects?
--
Lester Caine - G8HFL
Contact - http://lsces.co.uk/wiki/?page=contact
L.S.Caine Electronic Services - http://lsces.co.uk
EnquirySolve - http://enquirysolve.com/
Model Engineers Digital Workshop - http://medw.co.uk
Rainbow Digital Media - http://rainbowdigitalmedia.co.uk
cc-ing doc list
On 22 April 2015 at 10:40, Stelian Mocanita stelian.mocanita@gmail.com
wrote:Hello internals,
I would like to ask what on your thoughts on removing the Oracle drive for
PDO from the documentation (http://us1.php.net/manual/en/ref.pdo-oci.php)
at least since it's been experimental for a long time now, and it has long
standing open bugs, such as:
From the documentation point of view:
Just because an extension is considered experimental, or indeed
unmaintained, is no reason to remove the extension from the manual. We
have a bunch of extensions marked as experimental [1] or dead [2] and I
don't see why pdo_oci should be any different.
https://bugs.php.net/bug.php?id=37706
https://bugs.php.net/bug.php?id=46728
https://bugs.php.net/bug.php?id=60994I know that the extension is marked as experimental already but based on
the current status, it's not even that and a significant amount of basic
functionality is broken.
Let's mark the extension as "dead" in the manual, as we do with other dead
extensions.
Regards,
Stelian
[1] bcompiler, blenc, dbplus, haru, memtrack, ming, paradox, pdo_4d,
pdo_oci, sca, sdodasrel, spl_types, svn, swish, vpopmail, xmlrpc
[2] classkit, fam, fdf, iisfunc, msession, nis, session_pgsql
Peter,
I did not know about the documentation part, thanks for clearing that out.
I would like to ask though, what is the benefit of having the dead
extensions there?
From my point of view, it does more harm than good having them in the
manual
(I am only referring here to extensions that never got to a production
grade).
On marking the extension as dead, how would we proceed in this case?
Thank you,
Stelian
On Wed, Apr 22, 2015 at 12:34 PM, Peter Cowburn petercowburn@gmail.com
wrote:
cc-ing doc list
On 22 April 2015 at 10:40, Stelian Mocanita stelian.mocanita@gmail.com
wrote:Hello internals,
I would like to ask what on your thoughts on removing the Oracle drive
for
PDO from the documentation (http://us1.php.net/manual/en/ref.pdo-oci.php
)
at least since it's been experimental for a long time now, and it has
long
standing open bugs, such as:From the documentation point of view:
Just because an extension is considered experimental, or indeed
unmaintained, is no reason to remove the extension from the manual. We
have a bunch of extensions marked as experimental [1] or dead [2] and I
don't see why pdo_oci should be any different.https://bugs.php.net/bug.php?id=37706
https://bugs.php.net/bug.php?id=46728
https://bugs.php.net/bug.php?id=60994I know that the extension is marked as experimental already but based on
the current status, it's not even that and a significant amount of basic
functionality is broken.Let's mark the extension as "dead" in the manual, as we do with other dead
extensions.Regards,
Stelian[1] bcompiler, blenc, dbplus, haru, memtrack, ming, paradox, pdo_4d,
pdo_oci, sca, sdodasrel, spl_types, svn, swish, vpopmail, xmlrpc
[2] classkit, fam, fdf, iisfunc, msession, nis, session_pgsql
Peter,
I did not know about the documentation part, thanks for clearing that out.
I would like to ask though, what is the benefit of having the dead
extensions there?
From my point of view, it does more harm than good having them in the
manual
(I am only referring here to extensions that never got to a production
grade).On marking the extension as dead, how would we proceed in this case?
We have boilerplate text for marking PECL extensions as dead, and we would
use that again here.
However, I'd hold off on that until a decision (if any) has been made on
what to do with the extension itself, like moving it (back) to PECL. We
shouldn't be distributing a "dead" extension in the main php-src tree, nor
proclaiming an extension "dead" in the manual when that hasn't been
"officially" decided yet.
Thank you,
StelianOn Wed, Apr 22, 2015 at 12:34 PM, Peter Cowburn petercowburn@gmail.com
wrote:cc-ing doc list
On 22 April 2015 at 10:40, Stelian Mocanita stelian.mocanita@gmail.com
wrote:Hello internals,
I would like to ask what on your thoughts on removing the Oracle drive
for
PDO from the documentation (
http://us1.php.net/manual/en/ref.pdo-oci.php)
at least since it's been experimental for a long time now, and it has
long
standing open bugs, such as:From the documentation point of view:
Just because an extension is considered experimental, or indeed
unmaintained, is no reason to remove the extension from the manual. We
have a bunch of extensions marked as experimental [1] or dead [2] and I
don't see why pdo_oci should be any different.https://bugs.php.net/bug.php?id=37706
https://bugs.php.net/bug.php?id=46728
https://bugs.php.net/bug.php?id=60994I know that the extension is marked as experimental already but based on
the current status, it's not even that and a significant amount of basic
functionality is broken.Let's mark the extension as "dead" in the manual, as we do with other
dead extensions.Regards,
Stelian[1] bcompiler, blenc, dbplus, haru, memtrack, ming, paradox, pdo_4d,
pdo_oci, sca, sdodasrel, spl_types, svn, swish, vpopmail, xmlrpc
[2] classkit, fam, fdf, iisfunc, msession, nis, session_pgsql
/cc cjones
Hello internals,
I would like to ask what on your thoughts on removing the Oracle drive for
PDO from the documentation (http://us1.php.net/manual/en/ref.pdo-oci.php)
at least since it's been experimental for a long time now, and it has long
standing open bugs, such as:https://bugs.php.net/bug.php?id=37706
https://bugs.php.net/bug.php?id=46728
https://bugs.php.net/bug.php?id=60994I know that the extension is marked as experimental already but based on
the current status, it's not even that and a significant amount of basic
functionality is broken.Regards,
Stelian
--
Matteo Beccati
Development & Consulting - http://www.beccati.com/
Stelian Mocanita wrote:
I would like to ask what on your thoughts on removing the Oracle drive for
PDO from the documentation (http://us1.php.net/manual/en/ref.pdo-oci.php)
at least since it's been experimental for a long time now, and it has long
standing open bugs, such as:https://bugs.php.net/bug.php?id=37706
https://bugs.php.net/bug.php?id=46728
https://bugs.php.net/bug.php?id=60994I know that the extension is marked as experimental already but based on
the current status, it's not even that and a significant amount of basic
functionality is broken.
The removal of pdo_oci had been suggested as part of the "Removal of
dead or not yet PHP7 ported SAPIs and extensions" RFC, but there has
been feedback from Christopher Jones, that the extension will be
supported by Oracle.[1]
[1]
https://wiki.php.net/rfc/removal_of_dead_sapis_and_exts#extpdo_oci_and_extoci8
--
Christoph M. Becker
The removal of pdo_oci had been suggested as part of the "Removal of
dead or not yet PHP7 ported SAPIs and extensions" RFC, but there has
been feedback from Christopher Jones, that the extension will be
supported by Oracle.[1]
[1]
<
https://wiki.php.net/rfc/removal_of_dead_sapis_and_exts#extpdo_oci_and_extoci8
Thanks for the info. Having Oracle supporting the extensions would be
great,
but I still feel like they should be re-released or something when they are
done.
While the OCI8 ext works with current versions, pdo_oci has been
experimental
for a long time and never reached maturity.
Maybe Christopher Jones can jump in here and shed some light on the matter.
Regards,
Stelian
Stelian Mocanita wrote:
I would like to ask what on your thoughts on removing the Oracle drive
for
PDO from the documentation (http://us1.php.net/manual/en/ref.pdo-oci.php
)
at least since it's been experimental for a long time now, and it has
long
standing open bugs, such as:https://bugs.php.net/bug.php?id=37706
https://bugs.php.net/bug.php?id=46728
https://bugs.php.net/bug.php?id=60994I know that the extension is marked as experimental already but based on
the current status, it's not even that and a significant amount of basic
functionality is broken.The removal of pdo_oci had been suggested as part of the "Removal of
dead or not yet PHP7 ported SAPIs and extensions" RFC, but there has
been feedback from Christopher Jones, that the extension will be
supported by Oracle.[1][1]
<
https://wiki.php.net/rfc/removal_of_dead_sapis_and_exts#extpdo_oci_and_extoci8--
Christoph M. Becker
On Wed, Apr 22, 2015 at 9:39 AM, Stelian Mocanita <
stelian.mocanita@gmail.com> wrote:
The removal of pdo_oci had been suggested as part of the "Removal of
dead or not yet PHP7 ported SAPIs and extensions" RFC, but there has
been feedback from Christopher Jones, that the extension will be
supported by Oracle.[1]
[1]
<https://wiki.php.net/rfc/removal_of_dead_sapis_and_exts#extpdo_oci_and_extoci8
Thanks for the info. Having Oracle supporting the extensions would be
great,
but I still feel like they should be re-released or something when they are
done.
While the OCI8 ext works with current versions, pdo_oci has been
experimental
for a long time and never reached maturity.Maybe Christopher Jones can jump in here and shed some light on the matter.
I'd prefer to keep it in the tree. Let me talk to the people I know at
Oracle and see. If they won't maintain it, my company will.
--
Jonah H. Harris
Blog: http://www.oracle-internals.com/
> > The removal of pdo_oci had been suggested as part of the "Removal of > dead or not yet PHP7 ported SAPIs and extensions" RFC, but there has > been feedback from Christopher Jones, that the extension will be > supported by Oracle.[1] > [1] > < >https://wiki.php.net/rfc/removal_of_dead_sapis_and_exts#extpdo_oci_and_extoci8 > > Thanks for the info. Having Oracle supporting the extensions would be great, but I still feel like they should be re-released or something when they are done. While the OCI8 ext works with current versions, pdo_oci has been experimental for a long time and never reached maturity. Maybe Christopher Jones can jump in here and shed some light on the matter.
I'd prefer to keep it in the tree. Let me talk to the people I know at Oracle and see. If they won't maintain it, my company will.
--
Jonah H. Harris
Blog: http://www.oracle-internals.com/
Hi Jonah,
Patches are most welcome.
Chris
The removal of pdo_oci had been suggested as part of the "Removal of dead or not yet PHP7 ported SAPIs and extensions" RFC, but there has been
feedback from Christopher Jones, that the extension will be supported by Oracle.[1] [1] <
https://wiki.php.net/rfc/removal_of_dead_sapis_and_exts#extpdo_oci_and_extoci8Thanks for the info. Having Oracle supporting the extensions would be great, but I still feel like they should be re-released or something when
they are done. While the OCI8 ext works with current versions, pdo_oci has been experimental for a long time and never reached maturity.Maybe Christopher Jones can jump in here and shed some light on the matter.
Regards, Stelian
Stelian Mocanita wrote:
I would like to ask what on your thoughts on removing the Oracle drive
for
PDO from the documentation (http://us1.php.net/manual/en/ref.pdo-oci.php
)
at least since it's been experimental for a long time now, and it has
long
standing open bugs, such as:https://bugs.php.net/bug.php?id=37706 https://bugs.php.net/bug.php?id=46728 https://bugs.php.net/bug.php?id=60994
I know that the extension is marked as experimental already but based on the current status, it's not even that and a significant amount of
basic functionality is broken.The removal of pdo_oci had been suggested as part of the "Removal of dead or not yet PHP7 ported SAPIs and extensions" RFC, but there has been
feedback from Christopher Jones, that the extension will be supported by Oracle.[1][1] < https://wiki.php.net/rfc/removal_of_dead_sapis_and_exts#extpdo_oci_and_extoci8
-- Christoph M. Becker
The current state is that we will be looking at PDO_OCI and OCI8 for
PHP 7 in a short while. Our good intentions got delayed as we have
been working on drivers for other languages
(https://github.com/oracle/node-oracledb and
https://bitbucket.org/anthony_tuininga/cx_oracle/).
I think the 'experimental' tag is unwarranted. It has some bugs -
probably fewer than the rest of PHP, but is usable.
Yes, we do recommend using OCI8 over PDO_OCI. This is partly due to
some inherent design and performance weaknesses of the overall PDO
architecture.
So, lets not mark PDO_OCI as dead just yet.
Chris
Yes, we do recommend using OCI8 over PDO_OCI. This is partly due to
some inherent design and performance weaknesses of the overall PDO
architecture.So, lets not mark PDO_OCI as dead just yet.
It's nice to hear that it's not only the pdo_firebird driver that is
restricted by PDO. Which why I was asking for a general review on the
situation on database access.
--
Lester Caine - G8HFL
Contact - http://lsces.co.uk/wiki/?page=contact
L.S.Caine Electronic Services - http://lsces.co.uk
EnquirySolve - http://enquirysolve.com/
Model Engineers Digital Workshop - http://medw.co.uk
Rainbow Digital Media - http://rainbowdigitalmedia.co.uk
чт, 23 Апр 2015, 13:00, Lester Caine lester@lsces.co.uk:
Yes, we do recommend using OCI8 over PDO_OCI. This is partly due to
some inherent design and performance weaknesses of the overall PDO
architecture.So, lets not mark PDO_OCI as dead just yet.
It's nice to hear that it's not only the pdo_firebird driver that is
restricted by PDO. Which why I was asking for a general review on the
situation on database access.
--
Lester Caine - G8HFL
Contact - http://lsces.co.uk/wiki/?page=contact
L.S.Caine Electronic Services - http://lsces.co.uk
EnquirySolve - http://enquirysolve.com/
Model Engineers Digital Workshop - http://medw.co.uk
Rainbow Digital Media - http://rainbowdigitalmedia.co.uk
--
Hello,
I can definetly make a case that PDO restricts MySQL too. It lacks a lot of
functionality comparing to mysqli. I also found out recently that you can't
have a named param appear in a query more than once (an OR case, where 2
fields are compared against sma e value). The more you work, the more you
understand that PDO was a hype, that never got finished and got almost
abandoned.
чт, 23 Апр 2015, 13:00, Lester Caine lester@lsces.co.uk:
Yes, we do recommend using OCI8 over PDO_OCI. This is partly due to
some inherent design and performance weaknesses of the overall PDO
architecture.So, lets not mark PDO_OCI as dead just yet.
It's nice to hear that it's not only the pdo_firebird driver that is
restricted by PDO. Which why I was asking for a general review on the
situation on database access.I can definetly make a case that PDO restricts MySQL too. It lacks a lot of
functionality comparing to mysqli. I also found out recently that you can't
have a named param appear in a query more than once (an OR case, where 2
fields are compared against sma e value). The more you work, the more you
understand that PDO was a hype, that never got finished and got almost
abandoned.
Now that is that sort of feedback I was not expecting ... I don't use
MySQL so to see that it has some inherent problems with PDO as most of
the other databases is news. I think PDO is probably now too embedded in
some projects to roll back but certainly it's limitations need to be
better documented? Some of it's restrictions can not be solved by
changes to the code, they are incompatible with the base format, but
there is nothing explaining that.
--
Lester Caine - G8HFL
Contact - http://lsces.co.uk/wiki/?page=contact
L.S.Caine Electronic Services - http://lsces.co.uk
EnquirySolve - http://enquirysolve.com/
Model Engineers Digital Workshop - http://medw.co.uk
Rainbow Digital Media - http://rainbowdigitalmedia.co.uk
Lester Caine wrote:
I can definetly make a case that PDO restricts MySQL too. It lacks a lot of
functionality comparing to mysqli. I also found out recently that you can't
have a named param appear in a query more than once (an OR case, where 2
fields are compared against sma e value). The more you work, the more you
understand that PDO was a hype, that never got finished and got almost
abandoned.Now that is that sort of feedback I was not expecting ... I don't use
MySQL so to see that it has some inherent problems with PDO as most of
the other databases is news. I think PDO is probably now too embedded in
some projects to roll back but certainly it's limitations need to be
better documented? Some of it's restrictions can not be solved by
changes to the code, they are incompatible with the base format, but
there is nothing explaining that.
The introduction man page on PDO[1] states:
| PDO does not provide a database abstraction; it doesn't rewrite SQL
| or emulate missing features. You should use a full-blown abstraction
| layer if you need that facility.
[1] http://php.net/manual/en/intro.pdo.php
--
Christoph M. Becker
Hello,
чт, 23 Апр 2015, 13:00, Lester Caine lester@lsces.co.uk:
It's nice to hear that it's not only the pdo_firebird driver that is
restricted by PDO. Which why I was asking for a general review on the
situation on database access.I can definetly make a case that PDO restricts MySQL too. It lacks a lot of
functionality comparing to mysqli. I also found out recently that you can't
have a named param appear in a query more than once (an OR case, where 2
fields are compared against sma e value). The more you work, the more you
understand that PDO was a hype, that never got finished and got almost
abandoned.
It is always nice to hear people complaining and bashing things just for
the sake of it.
Unhappy about something? Well, fix it. Or hire someone to fix it.
Connect with others and collectively hire someone to fix it. Create
proper bug reports and try to find someone capable and willing to help.
Whatever, but please do something useful.
Guess what? Tirelessly whining about things being inherently broken
won't magically fix them.
Cheers
Matteo Beccati
Development & Consulting - http://www.beccati.com/
Guess what? Tirelessly whining about things being inherently broken
won't magically fix them.
Neither will throwing money at PDO. It is restricted to a single active
transaction so can't handle cross database activity. One has to switch
back to the generic drivers. So one ends up with having to run both anyway.
Christoph SQL abstraction is a separate matter. While it IS one reason
PDO is not a solution to cross database working, there are other
problems at the data layer.
PDO is not a complete solution even to the data layer abstraction, so
does it actually provide any value to PHP? Would it not be better to
re-address the 'problem' and come up with a better solution?
--
Lester Caine - G8HFL
Contact - http://lsces.co.uk/wiki/?page=contact
L.S.Caine Electronic Services - http://lsces.co.uk
EnquirySolve - http://enquirysolve.com/
Model Engineers Digital Workshop - http://medw.co.uk
Rainbow Digital Media - http://rainbowdigitalmedia.co.uk
My view is that this really needs a good discussion and regardless of the
desicions made - resource allocation to move it forward.
Whatever the intent was originally for the PDO and and regardless of what
the docs say about it, as Christoph has linked and quoted, the reality is
PDO is everywhere. Doctrine? Based on PDO. Yii 1/2 ActiveRecord? PDO.
Laravel's Eloquent ? PDO again. You get the picture.
It's all ponies and rainbows untill you start doing something besides the
basic typical website (wich I tend to get more and more nowdays, as my
experience growed to a certain level and projects started to get big and
serious). At that point you just start to hit those annoyances with the
PDO. Thank god I didn't hit a really big snag yet, but it caused me a few
headaces and ugly workarounds. I just can't write a standalone script with
a different driver (mysqli) in a big application - chances are I need that
applications AR models, it's bussiness logic and so on.
I even once had to do a major server upgrade just because of the bug in PDO
- well, I have to confess it was due anyway in a year's time frame, but
works great as illustration to it's problems and how much attention it gets.
A lack of basic ping function: I had to emulate it by sending a "SELECT
NOW()" request every 30 seconds and make sure my MySQL server has a
connection timeout of atleast 60 seconds, so a long running CLI script can
do it's job. I do not remember why, but I was unable to reconnect after
loosing the connection - it was a while ago and may have changed since
then. Still, left a certain impression.
Anyway, not to dwell on my ramblings, the situation needs a long overdue
discussion. A dealogue with the respective database developers would be
helpfull, if not instrumental, in changing things around.
Answering to Matteo Beccati's email:
Not everyone has C knowlage (nor leared it at any point in their career).
On top of that it's databases we are talking about - how many people are
able to develop proper drivers for DB's?
And not everyone has the funding to sponsor things like these. I certanly
nor have the money, nor I know of anyone who I could give the task to do
it. I'm from small Baltic country - I do not think we have any brains here
that are up to the challenge, atleast I have no idea of anyone even remotly
in this country despite my over 10 years in webdev.
My thinking is that things like these have to be spearheaded by the
respective database developers with the help of the PHP core team and the
community.
I am still reliant on ADOdb and have on a number of occasions back
ported to that where projects have 'upgraded' to PDO. I still see no
reason for everybody to be reinventing the wheel when we HAD a perfectly
practical solution 10+ years ago. It would be nice to restore it's
speed-up extension once again and certainly I will be ensuring
everything works with PHP7. There are a number of other layers, but all
PDO seems to have done is fragment the code base with everybody doing
their own thing SQL abstraction wise, rather than our producing a
standard such as ADOdb provides?
The good thing is that replacing PDO with something else at the base
level is not a major exercise as most frameworks don't call it direct
anyway :)
--
Lester Caine - G8HFL
Contact - http://lsces.co.uk/wiki/?page=contact
L.S.Caine Electronic Services - http://lsces.co.uk
EnquirySolve - http://enquirysolve.com/
Model Engineers Digital Workshop - http://medw.co.uk
Rainbow Digital Media - http://rainbowdigitalmedia.co.uk
My view is that this really needs a good discussion and regardless of the
desicions made - resource allocation to move it forward.
Whatever the intent was originally for the PDO and and regardless of what
the docs say about it, as Christoph has linked and quoted, the reality is
PDO is everywhere. Doctrine? Based on PDO. Yii 1/2 ActiveRecord? PDO.
Laravel's Eloquent ? PDO again. You get the picture.
Not being in core is an issue with PDO. Sqlsrv is in pecl, maintained, and
support both "native" and PDO.
2015-04-23 17:02 GMT+03:00 Pierre Joye pierre.php@gmail.com:
On Apr 23, 2015 8:45 PM, "Arvids Godjuks" arvids.godjuks@gmail.com
wrote:My view is that this really needs a good discussion and regardless of the
desicions made - resource allocation to move it forward.
Whatever the intent was originally for the PDO and and regardless of what
the docs say about it, as Christoph has linked and quoted, the reality is
PDO is everywhere. Doctrine? Based on PDO. Yii 1/2 ActiveRecord? PDO.
Laravel's Eloquent ? PDO again. You get the picture.Not being in core is an issue with PDO. Sqlsrv is in pecl, maintained, and
support both "native" and PDO.
I do not think it's a "in core" vs "in pecl" issue at all. It's the fact
that that it is data objects and it was new back in the day - the adoption
of it was lightning fast. It was easy to make an abstraction over it, it
fit to major patterns, like AR, like a glove.
Besides, installing DB modules for PHP under ubuntu is done by hand - it's
not built into the "php5" package.
2015-04-23 17:02 GMT+03:00 Pierre Joye pierre.php@gmail.com:
On Apr 23, 2015 8:45 PM, "Arvids Godjuks" arvids.godjuks@gmail.com
wrote:My view is that this really needs a good discussion and regardless of
the
desicions made - resource allocation to move it forward.
Whatever the intent was originally for the PDO and and regardless of
what
the docs say about it, as Christoph has linked and quoted, the reality
is
PDO is everywhere. Doctrine? Based on PDO. Yii 1/2 ActiveRecord? PDO.
Laravel's Eloquent ? PDO again. You get the picture.Not being in core is an issue with PDO. Sqlsrv is in pecl, maintained,
and support both "native" and PDO.I do not think it's a "in core" vs "in pecl" issue at all. It's the fact
that that it is data objects and it was new back in the day - the adoption
of it was lightning fast. It was easy to make an abstraction over it, it
fit to major patterns, like AR, like a glove.
Besides, installing DB modules for PHP under ubuntu is done by hand -
it's not built into the "php5" package.
Just like many other. Not being in core brings actually more flexibility to
the devs
Just like many other. Not being in core brings actually more flexibility to
the devs
Pierre are you coming around to the idea that a more modular approach to
PHP packages may actually be better? Just being able to select what we
use rather than all of the other 'core' packages would be nice ;)
--
Lester Caine - G8HFL
Contact - http://lsces.co.uk/wiki/?page=contact
L.S.Caine Electronic Services - http://lsces.co.uk
EnquirySolve - http://enquirysolve.com/
Model Engineers Digital Workshop - http://medw.co.uk
Rainbow Digital Media - http://rainbowdigitalmedia.co.uk
On Thu, Apr 23, 2015 at 3:45 PM, Arvids Godjuks arvids.godjuks@gmail.com
wrote:
PDO is everywhere. Doctrine? Based on PDO.
You can use mysqli, oci8 or sqlsrv for example without problems in Doctrine.
Exposing some of the internal api of PDO as php functions (SQL Parser) I
would bet it is possible to reimplement PDO in PHP code using mysqli etc..
as "drivers".
I think we could discuss going that road as well and we could save
ourselves maintaining some thousands of lines of C code.
2015-04-24 4:42 GMT+03:00 Benjamin Eberlei kontakt@beberlei.de:
On Thu, Apr 23, 2015 at 3:45 PM, Arvids Godjuks arvids.godjuks@gmail.com
wrote:PDO is everywhere. Doctrine? Based on PDO.
You can use mysqli, oci8 or sqlsrv for example without problems in
Doctrine.Exposing some of the internal api of PDO as php functions (SQL Parser) I
would bet it is possible to reimplement PDO in PHP code using mysqli etc..
as "drivers".I think we could discuss going that road as well and we could save
ourselves maintaining some thousands of lines of C code.
May I question the sanity of the words written in this email? :D (it's a
joke).
The whole point of mysqlnd drivers and other improvements was to cut down
on data copying, improving performance and doing a lot of other stuff.
Moving PDO to a PHP implementation will kill it all: preformance will
suffer, memory usage will skyrocket, dealing with charsets - I don't even
wana pretend I understand how to deal with that part in a proper fasion.
Doesn't it require access to internal PHP api's to do a lot of what PDO and
other native drivers do?
Well, the Zephyr could pitch in here, MAYBE, depending on how good it
actually is and what it can do, but still, it feels more like a cruch to me.
On Fri, Apr 24, 2015 at 1:16 PM, Arvids Godjuks
arvids.godjuks@gmail.com wrote:
2015-04-24 4:42 GMT+03:00 Benjamin Eberlei kontakt@beberlei.de:
On Thu, Apr 23, 2015 at 3:45 PM, Arvids Godjuks arvids.godjuks@gmail.com
wrote:PDO is everywhere. Doctrine? Based on PDO.
You can use mysqli, oci8 or sqlsrv for example without problems in
Doctrine.Exposing some of the internal api of PDO as php functions (SQL Parser) I
would bet it is possible to reimplement PDO in PHP code using mysqli etc..
as "drivers".I think we could discuss going that road as well and we could save
ourselves maintaining some thousands of lines of C code.May I question the sanity of the words written in this email? :D (it's a
joke).The whole point of mysqlnd drivers and other improvements was to cut down
on data copying, improving performance and doing a lot of other stuff.
Moving PDO to a PHP implementation will kill it all: preformance will
suffer,
I am totally certain that performance will be that bad. Indeed slower
but in relation to the DB IOs, they could be within an acceptable
margin.
memory usage will skyrocket,
here as well, even less with 7 or already with 5.5+, if done wisely
(did not check PDO lately but it could be improved if not already)
dealing with charsets - I don't even
wana pretend I understand how to deal with that part in a proper fasion.
Doesn't it require access to internal PHP api's to do a lot of what PDO and
other native drivers do?
It is called userland hooks, no big magic required.
See https://pecl.php.net/package/mysqlnd_uh for something similar. Not
really prod ready or whatever but a good example to see how something
similar could be done.
Well, the Zephyr could pitch in here, MAYBE, depending on how good it
actually is and what it can do, but still, it feels more like a cruch to me.
Good point, not sure how far it exposes PHP internals APIs or if it
does it the same way than it does for system libraries :)
Cheers,
Pierre
@pierrejoye | http://www.libgd.org
On Fri, Apr 24, 2015 at 8:16 AM, Arvids Godjuks arvids.godjuks@gmail.com
wrote:
2015-04-24 4:42 GMT+03:00 Benjamin Eberlei kontakt@beberlei.de:
On Thu, Apr 23, 2015 at 3:45 PM, Arvids Godjuks <arvids.godjuks@gmail.com
wrote:
PDO is everywhere. Doctrine? Based on PDO.
You can use mysqli, oci8 or sqlsrv for example without problems in
Doctrine.Exposing some of the internal api of PDO as php functions (SQL Parser) I
would bet it is possible to reimplement PDO in PHP code using mysqli etc..
as "drivers".I think we could discuss going that road as well and we could save
ourselves maintaining some thousands of lines of C code.May I question the sanity of the words written in this email? :D (it's a
joke).
You may question my sanity, but I am totally serious.
The whole point of mysqlnd drivers and other improvements was to cut down
on data copying, improving performance and doing a lot of other stuff.
Moving PDO to a PHP implementation will kill it all: preformance will
suffer, memory usage will skyrocket, dealing with charsets - I don't even
wana pretend I understand how to deal with that part in a proper fasion.
Doesn't it require access to internal PHP api's to do a lot of what PDO and
other native drivers do?
Well, the Zephyr could pitch in here, MAYBE, depending on how good it
actually is and what it can do, but still, it feels more like a cruch to me.
None of these will happen, because PDO doesnt add much value on top of what
the libraries already provide. For example MySQLi, pgsql, oci8 allready
handle charsets, we only need to delegate correctly.
See this very hacky prototype for PDO::prepare/query/bindValue/execute
using a to be exposed API for emulated prepares in PHP code (extracted from
existing PDO code).
https://gist.github.com/beberlei/3dfa960901533e859c02
This is a very thin layer of PHP and given PHP7 is already twice as fast as
PHP5 i don't think anyone would suffer.
2015-04-24 4:42 GMT+03:00 Benjamin Eberlei kontakt@beberlei.de:
On Thu, Apr 23, 2015 at 3:45 PM, Arvids Godjuks arvids.godjuks@gmail.com
wrote:PDO is everywhere. Doctrine? Based on PDO.
You can use mysqli, oci8 or sqlsrv for example without problems in
Doctrine.Exposing some of the internal api of PDO as php functions (SQL Parser) I
would bet it is possible to reimplement PDO in PHP code using mysqli etc..
as "drivers".I think we could discuss going that road as well and we could save
ourselves maintaining some thousands of lines of C code.May I question the sanity of the words written in this email? :D (it's a
joke).The whole point of mysqlnd drivers and other improvements was to cut down
on data copying, improving performance and doing a lot of other stuff.
Moving PDO to a PHP implementation will kill it all: preformance will
suffer, memory usage will skyrocket, dealing with charsets - I don't even
wana pretend I understand how to deal with that part in a proper fasion.
Doesn't it require access to internal PHP api's to do a lot of what PDO and
other native drivers do?
Well, the Zephyr could pitch in here, MAYBE, depending on how good it
actually is and what it can do, but still, it feels more like a cruch to me.
Via ADOdb I can use either the PDO or the generic driver. It's actually
how I've been testing pdo_firebird simply by switching the underlying
interface. Much of what PDO is doing is actually no different to the
generic driver as at the end of the day you want an array of data from
one location to another. My own concern has been that all this debate on
'type hints' actually messes up the simple array process where we just
get an array of strings which PHP then uses appropriately. But the
bottom line is perhaps that PDO's 'flattening' of data types can slow
down the process if it introduces conversions which are not really
necessary? In the case of ADOdb, the PDO driver is slower than the
generic driver, which some will say is down to the overheads of ADOdb,
but those overheads in many cases are only the same as any other SQL
abstraction layer. The overall process is what matters, and if you don't
need SQL abstraction, is there any advantage to PDO over the generic
driver if you are only ever using one database? The theory was that
having the same data layer would simplify software design, but it just
introduces another layer of complication.
--
Lester Caine - G8HFL
Contact - http://lsces.co.uk/wiki/?page=contact
L.S.Caine Electronic Services - http://lsces.co.uk
EnquirySolve - http://enquirysolve.com/
Model Engineers Digital Workshop - http://medw.co.uk
Rainbow Digital Media - http://rainbowdigitalmedia.co.uk
May I question the sanity of the words written in this email? :D (it's a
joke).The whole point of mysqlnd drivers and other improvements was to cut down
on data copying, improving performance and doing a lot of other stuff.
Moving PDO to a PHP implementation will kill it all: preformance will
suffer, memory usage will skyrocket, dealing with charsets - I don't even
wana pretend I understand how to deal with that part in a proper fasion.
Doesn't it require access to internal PHP api's to do a lot of what PDO and
other native drivers do?
Well, the Zephyr could pitch in here, MAYBE, depending on how good it
actually is and what it can do, but still, it feels more like a cruch to me.
In many many different topics I stressed that we should do things in
userland and use extensions only when needed for performance.
Doing things in userland gives
* better debugability
* better understanding for users
* lower entry barrier
* faster development time
* better ability to evolve (different library versions can coexist
on a system, for old and new code)
With the changes in PHP 7 this is viable for even more areas. What PDO
does is very thin. And mind: If a user truly cares about the last bit of
performance they won't use an abstraction, they use DBMS-specific SQL
and cut out abstractions. But for many cases that level of performance
matters, as usage of ORMs etc. show. Also mind that processing in the
database server and network traffic probably cost way more time than a
thin wrapper even in userspace (in real life, not in "SELECT 1")
johannes
2015-04-24 12:59 GMT+03:00 Johannes Schlüter johannes@schlueters.de:
May I question the sanity of the words written in this email? :D (it's a
joke).The whole point of mysqlnd drivers and other improvements was to cut down
on data copying, improving performance and doing a lot of other stuff.
Moving PDO to a PHP implementation will kill it all: preformance will
suffer, memory usage will skyrocket, dealing with charsets - I don't even
wana pretend I understand how to deal with that part in a proper fasion.
Doesn't it require access to internal PHP api's to do a lot of what PDO
and
other native drivers do?
Well, the Zephyr could pitch in here, MAYBE, depending on how good it
actually is and what it can do, but still, it feels more like a cruch to
me.In many many different topics I stressed that we should do things in
userland and use extensions only when needed for performance.Doing things in userland gives
* better debugability
* better understanding for users
* lower entry barrier
* faster development time
* better ability to evolve (different library versions can coexist
on a system, for old and new code)With the changes in PHP 7 this is viable for even more areas. What PDO
does is very thin. And mind: If a user truly cares about the last bit of
performance they won't use an abstraction, they use DBMS-specific SQL
and cut out abstractions. But for many cases that level of performance
matters, as usage of ORMs etc. show. Also mind that processing in the
database server and network traffic probably cost way more time than a
thin wrapper even in userspace (in real life, not in "SELECT 1")johannes
It may have a merit to try it out, and as I said - Zephyr is an
interesting idea to try - may work quite well considering.
The current state is that we will be looking at PDO_OCI and OCI8 for
PHP 7 in a short while. Our good intentions got delayed as we have
been working on drivers for other languages
(https://github.com/oracle/node-oracledb and
https://bitbucket.org/anthony_tuininga/cx_oracle/).I think the 'experimental' tag is unwarranted. It has some bugs -
probably fewer than the rest of PHP, but is usable.Yes, we do recommend using OCI8 over PDO_OCI. This is partly due to
some inherent design and performance weaknesses of the overall PDO
architecture.So, lets not mark PDO_OCI as dead just yet.
This is good news. And I agree we shouldn’t give up on PDO_OCI just yet especially if Oracle is willing to take a look at it.
I actually just met with a very large global brand a couple of weeks ago which was successfully using PDO_OCI.
Andi
The current state is that we will be looking at PDO_OCI and OCI8 for
PHP 7 in a short while. Our good intentions got delayed as we have
been working on drivers for other languages
(https://github.com/oracle/node-oracledb and
https://bitbucket.org/anthony_tuininga/cx_oracle/).I think the 'experimental' tag is unwarranted. It has some bugs -
probably fewer than the rest of PHP, but is usable.Yes, we do recommend using OCI8 over PDO_OCI. This is partly due to
some inherent design and performance weaknesses of the overall PDO
architecture.So, lets not mark PDO_OCI as dead just yet.
This is good news. And I agree we shouldn’t give up on PDO_OCI just yet especially if Oracle is willing to take a look at it.
I actually just met with a very large global brand a couple of weeks ago which was successfully using PDO_OCI.
I think It is more about moving out of core than actually marking any
part of the OCI drivers as dead. It is not a bad idea and brings
Oracle more flexibility and reduce the amount of codes we have to take
care about, on release.
--
Pierre
@pierrejoye | http://www.libgd.org
[1]
<
https://wiki.php.net/rfc/removal_of_dead_sapis_and_exts#extpdo_oci_and_extoci8
As of this RFC we probably can document that these extensions and sapis
are removed as of PHP 7.
--
Pasindu De Silvappasindud@gmail.com ppasindud@gmail.com
Pasindu De Silva wrote on 22/04/2015 14:44:
[1]
<
https://wiki.php.net/rfc/removal_of_dead_sapis_and_exts#extpdo_oci_and_extoci8As of this RFC we probably can document that these extensions and sapis
are removed as of PHP 7.
I think you've misread that page. These extensions were not voted on for
removal, because a maintainer stepped forward.
The current status in PHP 7 is therefore the same as the status in PHP 5.
Regards,
Rowan Collins
[IMSoP]
Rowan Collins wrote:
Pasindu De Silva wrote on 22/04/2015 14:44:
On Wed, Apr 22, 2015 at 4:43 PM, Christoph Becker cmbecker69@gmx.de
wrote:[1]
<
https://wiki.php.net/rfc/removal_of_dead_sapis_and_exts#extpdo_oci_and_extoci8As of this RFC we probably can document that these extensions and sapis
are removed as of PHP 7.I think you've misread that page. These extensions were not voted on for
removal, because a maintainer stepped forward.The current status in PHP 7 is therefore the same as the status in PHP 5.
I assume Pasindu is referring to the other extensions and sapis subject
to the RFC that will be removed, e.g. ext/mssql. For these
extensions/sapis the respective documentation has to be adjusted.
--
Christoph M. Becker
That's right.
Rowan Collins wrote:
Pasindu De Silva wrote on 22/04/2015 14:44:
On Wed, Apr 22, 2015 at 4:43 PM, Christoph Becker cmbecker69@gmx.de
wrote:[1]
<https://wiki.php.net/rfc/removal_of_dead_sapis_and_exts#extpdo_oci_and_extoci8
As of this RFC we probably can document that these extensions and sapis
are removed as of PHP 7.I think you've misread that page. These extensions were not voted on for
removal, because a maintainer stepped forward.The current status in PHP 7 is therefore the same as the status in PHP 5.
I assume Pasindu is referring to the other extensions and sapis subject
to the RFC that will be removed, e.g. ext/mssql. For these
extensions/sapis the respective documentation has to be adjusted.--
Christoph M. Becker--
--
Pasindu De Silvappasindud@gmail.com ppasindud@gmail.com
+1, and need RFC.
On Apr 22, 2015 4:41 PM, "Stelian Mocanita" stelian.mocanita@gmail.com
wrote:
Hello internals,
I would like to ask what on your thoughts on removing the Oracle drive for
PDO from the documentation (http://us1.php.net/manual/en/ref.pdo-oci.php)
at least since it's been experimental for a long time now, and it has long
standing open bugs, such as:https://bugs.php.net/bug.php?id=37706
https://bugs.php.net/bug.php?id=46728
https://bugs.php.net/bug.php?id=60994I know that the extension is marked as experimental already but based on
the current status, it's not even that and a significant amount of basic
functionality is broken.Regards,
Stelian
Hello internals,
I would like to ask what on your thoughts on removing the Oracle drive for
PDO from the documentation (http://us1.php.net/manual/en/ref.pdo-oci.php)
at least since it's been experimental for a long time now, and it has long
standing open bugs, such as:https://bugs.php.net/bug.php?id=37706
https://bugs.php.net/bug.php?id=46728
https://bugs.php.net/bug.php?id=60994I know that the extension is marked as experimental already but based on
the current status, it's not even that and a significant amount of basic
functionality is broken.Regards,
Stelian
For the record, only one of those bugs is open. The other may already have been fixed. But I get your point.
Chris