| Age | Commit message (Collapse) | Author | Files | Lines |
|
# Conflicts:
# adodb-time.inc.php
# docs/changelog.md
# drivers/adodb-mssql.inc.php
# drivers/adodb-mssqlnative.inc.php
# drivers/adodb-oci8po.inc.php
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Align property name with the underlying mysqli_ssl_set() function's
parameter name.
Follow-up from b6f3e24312a507efea2da758660ca0c58b13de34 (#416).
|
|
1. Manage user id and password parameters so that Windows Authentication can be used to connect to a SQL Server database (see #353).
2. Per ADOdb standard, print a message if the connection fails because the PHP driver is not installed
|
|
native mode client, instead of the ODBC based one used previously. It
encompasses the following changes:
1. All of the missing data dictionary functions have been added.
2. Proper binding of parameters to queries.
3. Support for stored procedures.
4. Full support for specific table casing, via a new method, setTableCase().
5. Support for the setConnectionParameter() method, allowing use of
elements such as CURSOR and trustedcontext
6. Connections via both catalogued and uncatalogued connections.
7. Support for sequences
8. The option $uCaseTables is no longer supported
9. The performance monitor is currently out of operation due to changes
in the DB2 system tables
The driver has been tested on PHP version 7.1, and is not supported on
ADOdb versions less than 5.21
|
|
|
|
|
|
|
|
|
|
If an invalid sql statement is passed to the function, a runtime
error is generated due to an undeclared variable
|
|
If an invalid sql statement is passed to the function, a runtime
error is generated due to an undeclared variable
|
|
The addition of the close method in the destructor of the core ADOrecordset class causes prepared statements to fail because the connection to the resource is closed too early. This fix overrides the destructor for the oracle driver which is the only one with reported issues.
|
|
The addition of the close method in the destructor of the core ADOrecordset class causes prepared statements to fail because the connection to the resource is closed too early. This fix overrides the destructor for the oracle driver which is the only one with reported issues.
|
|
If the commonly used method of enclosing table name is square brackets is used, insert_id() fails due to a problem with regexp
|
|
If the commonly used method of enclosing table name is square brackets is used, insert_id() fails due to a problem with regexp
|
|
If the commonly used method of enclosing table name is square brackets is used, insert_id() fails due to a problem with regexp
|
|
By treating Time format fields as time for insertion purposes, ADOdb assumed that it needs to create a datetime field, but the insertion format is a character field, eg '23:56.1245', instead of 5033000200.
|
|
By treating Time format fields as time for insertion purposes, ADOdb assumed that it needs to create a datetime field, but the insertion format is a character field, eg '23:56.1245', instead of 5033000200.
|
|
A non-regexp based function has been introduced to replace a regexp based section of code that has been subject to numerous tweaks as more extreme test cases have appeared. This is now done this like this to help maintainability and avoid the need to rely on regexp experienced maintainers.
|
|
Complete code update
|
|
A non-regexp based function has been introduced to replace a regexp based section of code that has been subject to numerous tweaks as more extreme test cases have appeared. This is now done this like this to help maintainability and avoid the need to rely on regexp experienced maintainers.
|
|
When a string containing a leading quote (but not a trailing one was passed to _query(), the function assumed that it was a fully quoted string, then failed on execution
|
|
When a string containing a leading quote (but not a trailing one was passed to _query(), the function assumed that it was a fully quoted string, then failed on execution
|
|
|
|
|
|
An error may occur in comparisons that needs casting.
Fixes #402
Signed-off-by: Damien Regad <dregad@mantisbt.org>
Original commit modified: copied code from ADODB_mssqlnative::Concat()
to include replacement of deprecated create_function() by anonymous
function (7756fa6026aa55bfca7acef99846325142687508).
Fixed typos and added PR reference in commit message.
|
|
|
|
Conflicts:
adodb.inc.php
docs/changelog.md
|
|
I messed up the merge at c350c007ed585a4da4dc8c62ae7954cfe13b621f. Not
sure what I did or how, but the changes from the hotfix branch got lost.
Redoing the merge to fix the problem.
|
|
The PHP native `$php_errormsg` variable has been deprecated as of PHP
7.2. The recommended replacement is `error_get_last()`.
A number of the driver classes used `$php_errormsg` to track if a DB
action caused an error.
As the `error_get_last()` function returns an array and comparing the
message therefore is slightly more involved, two new methods have been
introduced into the abstract parent class `ADOConnection` to handle the
message comparison.
The `resetLastError()` method retrieves the initial (old) error message
and resets it to enable checking whether a new error has occurred, even
when the new error is the same as the previous one.
The new `getChangedErrorMsg()` method compares the old error message
with the current one to determine whether a new message has occurred,
and if so, returns the message.
Refs:
* http://php.net/manual/en/migration72.deprecated.php#migration72.deprecated.track_errors-and-php_errormsg
* http://php.net/manual/en/reserved.variables.phperrormsg.php
* http://php.net/manual/en/function.error-get-last.php
Additional notes:
* In the `ADODB_ads::UpdateBlob()` method, the original (old) message
was not being retrieved which could result in an unrelated error being
recorded. This has been fixed.
* In the `ADODB_db2::_connect()` and `ADODB_db2::_pconnect()` methods,
the `$php_errormsg` was being reset, but subsequently not checked for
changes, so as the variable in effect was not being used, I've removed
the related code.
* In the `ADODB_sybase::ErrorMsg()` method, the `$php_errormsg` was
being checked, but no functions which could potential cause errors are
being called. As `$php_errormsg` is only available in the scope an
error occurred in, this meant that `$php_errormsg` would always be
empty, so I've removed the related code.
Fixes #409
|
|
|
|
The `SelectLimit` function has a potential SQL injection vulnerability
through the use of the `nrows` and `offset` parameters which are not
forced to integers.
This is a follow-up on #311, and fixes all remaining drivers that do not
use ADOConnection::SelectLimit().
Fixes #401
Signed-off-by: Damien Regad <dregad@mantisbt.org>
Original commits squashed, message reworded. Fixed whitespace.
|
|
The same is done (at least for `$nrows`) in the `SelectLimit` method of `Adodb/adodb.inc.php`.
This lowers the risk of SQL injection.
Fixes #311
(cherry picked from commit 7d43989dc95fd00fcf3ba73e08fdaf56ffa4f3e5)
|
|
In the pdo_sqlsrv driver, static locals were used to cache field names.
Unfortunately, this means that if the results for multiple queries
were mapped, the field names for the first query were used instead of
updated field names for the subsequent queries.
|
|
Reserved variable $php_errormsg is deprecated in PHP 7.2
http://php.net/manual/en/reserved.variables.phperrormsg.php
Fixes #405
|
|
create_function() is deprecated in PHP 7.2
http://php.net/manual/en/function.create-function.php
Fixes #404
|
|
Fixes #373
|
|
Backported from d9cc6c66ec08e5a517f8fa4503345ead992e2a62. I meant to do
this in 5.20.10 but I forgot...
Fixes #373
|
|
|
|
|
|
|
|
|