Upstream: https://github.com/ADOdb/ADOdb/pull/259
Prevent segfault with ocipo driver on php7.
The OCIFetchinto function is causing segfaults on php7 - probably because the fields array
is not initialised or it is optimised out. This fixes just changes to use the safer function
oci_fetch_array instead.
While this ony seems to affect MySQL, better put the filter/conditions
on every query so the temporary view/table does not need to handle
thousands of potentially unrelated records.
These are our bugs actually - the oci docs are very clear that bound
params should be in-scope when oci_execute is called - and due to pass by value etc,
this was not true for our driver.
There is another bug that needed fixing - OCI barfs if null values are bound - this
can be avoided by setting them to '' which oci treats as null.
And finally - all our lob/clob/blob hacks were also binding to local "out-of-scope" vars.
Check npm install and grunt execution on the higest and lowest node
versions. Included some minor tweaks along the way:
* Move the grunt execution into scripts part of the configuration (that way
the grunt output is not collapsed and is easily visible in build output).
* Restructure the install section to be task based (thanks to Eloy for
the suggestion) and as such, don't run composer install on the grunt
task (speed up the build slightly).
* Switch around the grunt job to a matrix include so that every
variation of grunt job doesn't need to be excluded.
( https://docs.travis-ci.com/user/customizing-the-build/#Explicity-Including-Jobs )
* We bump our minimum node version up to >=4. Although this isn't yet
necessarily *required* it was spurred on because grunt dropped support
for very early node versions and so it's likely some devs will have to
upgrade their npm.
We do it now which gives us more flexibility for tools going forward
(especially for things like new theme/testing). And node has matured
the ecosystem (especially supporting properly semver) so should result
in less edge cases.
* We make the minimum node version explicit in package.json. Though it
doesn't help much for older versions of node because npm doesn't
have the functionality to warn about it.. ;-)
* Left async dependency as it was, because it's only on an RC: 2.0.0-rc.6