| Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
https://github.com/ADOdb/ADOdb/issues/176
|
|
https://github.com/ADOdb/ADOdb/issues/178
|
|
|
|
|
|
Cherry-picked from master branch
|
|
|
|
Follow-up on #139 (commit 9ffa02e6ddc88dbfdfdf4437e0a398cc39960094)A
Fixes #168
|
|
Fixes #167
|
|
|
|
|
|
|
|
Regression introduced in v5.20.0.
Commit 32a479a182c86f4b15c337ca6b1d3f4b967e37a8 removed the is_array()
check, resulting in a PHP warning when calling array_keys() on an empty
recordset, since $this->fields is false in this case.
Fixes #162
|
|
|
|
|
|
- running SED script
- manual adjustments for files not processed by regex
|
|
Add new setConnectionParameter() method #158
|
|
|
|
Fixes #143
Signed-off-by: Damien Regad <dregad@mantisbt.org>
|
|
When executing a query that does not expect any parameters with a
non-empty input array, the parameters are added at the end of the
query.
Example:
- $db->Execute('select * from table where id=', 1);
expected: failure (extra param, invalid query)
actual: execution of 'select * from table where id=1'
- $db->Execute('select * from table where id=1', 1);
expected: failure (extra param)
actual: execution of 'select * from table where id=11'
This has been confirmed to occur using mysqli driver, but could possibly
affect others drivers with _bindInputArray = false as well.
Execute() now issues an error when the number of provided input
parameters does not match what the query expects.
Thanks to peterdd for the initial research and proposed fix.
Fixes #146
|
|
|
|
The index page now points straight to changelog.md on github master
branch.
The main documentation files no longer contains any references to the
changelog.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
This allows use of lowercase field names when executing queries in
ADODB_FETCH_ASSOC fetch mode.
The _updatefields() method was moved from oci8po to parent oci8 driver.
- code was simplified
- logic to determine if the operating in associative mode was moved from
the callers to the method itself to reduce code duplication.
- use of defined ADODB_ASSOC_CASE_* constants
Fixes Github #21
|
|
If inserting involves trigger action, SQL server probably returns more
than result ”rows” and we are interested in last one only.
Fixes #41, PR #102
Signed-off-by: Damien Regad <dregad@mantisbt.org>
|
|
The driver called sqlsrv_configure('warnings_return_as_errors', 0),
which throws "error code = -14, sqlsrv_configure: message = An invalid
parameter was passed to sqlsrv_configure".
The proper setting is 'WarningsReturnAsErrors', as per documentation
http://php.net/manual/en/function.sqlsrv-configure.php
Fixes #103
Signed-off-by: Damien Regad <dregad@mantisbt.org>
Referenced the fix in the changelog
|
|
The sqlite3 driver relies on SQLite3::query to execute the statement,
which returns an empty SQLite3Result while the ADOConnection::_Execute()
method expects true for handling of result-less queries. This causes the
query to be executed a second time when ADOdb initializes the recordset
for what it wrongly assumes to be a SELECT statement.
This also addresses the same behavior with the sqlite driver, but the
fix was not tested as I don't have a sqlite 2 setup available.
Fixes #99
|
|
|
|
Update comments in the code as well as the documentation to describe
ADODB_FETCH_* and ADODB_ASSOC_CASE_ constants.
Added description of each case and usage hints.
|
|
Add a warning message in the Readme file as well as the 5.19 changelog,
briefly describing the issue with fetching data in associative mode from
interbase, mssql, foxpro and possibly other DB engines, as well as those
derived from them.
Issue #20
|
|
|
|
They were previously defined in adodb-pear.inc.php, which doesn't make
much sense since they are only referenced within adodb.inc.php.
Fixes #49
|
|
|
|
Adds the mssql datatype datetime2 to the metatype mapping. Prevents
date time errors caused by the field being treated as a long.
Signed-off-by: Damien Regad <dregad@mantisbt.org>
|
|
This patch addresses these issues when given $prefix and $stripprefix
parameters.
- missing param for the schema when calling MetaTables()
- no table were returned if $stripprefix was true ($table name stripped,
then later a sql select on that table name live, lol).
- prefixes like 'mydbprefix_db1_' should not allow other tables starting
'mydbprefixXdb1_' or 'mydbprefix_db1X' to be matched as table for the
result.
Tested only with mysqli.
Fixes #92
Signed-off-by: Damien Regad <dregad@mantisbt.org>
|
|
Fixes #75
|
|
|
|
- ADOConnection::Connect
- ADOConnection::PConnect
Fixes #63
Signed-off-by: Damien Regad <dregad@mantisbt.org>
|
|
There are cases where ADODB is not be able to figure out the proper
count(*) queries for PageExecute() on its own.
To work around this problem, ADOdb now handles a new keyword
"_ADODB_COUNT" that can be wrapped around the parts of the SQL query
that should be replaced with "COUNT(*)"; the code will remove everything
between and including the _ADODB_COUNT keywords and replace it with
COUNT(*). The _ADODB_COUNT tags are of course removed when COUNT(*) is
not needed.
Example usage:
SELECT
_ADODB_COUNT
col1,
col2,
col3,
( select col4 from table2 where col1=col2 )
col4,
_ADODB_COUNT
FROM table1
LEFT JOIN ( select col5 from table3 where col3=col4 ) AS tmp;
Original 2012 bug report: http://phplens.com/lens/lensforum/msgs.php?id=19058
The fix has been in use since that time in hundreds of thousands of
production installations.
Fixes #88
Signed-off-by: Damien Regad <dregad@mantisbt.org>
|
|
|
|
mysqli_real_escape_string(), differs from mysql_real_escape_string().
The former requires a valid mysqli DB connection object, while the
latter has a fallback mechanism which attempts to generate a connection
when given NULL.
When calling ADOConnection::qstr() without an active connection
($_connectionID == false), mysqli_real_escape_string() throws a warning
and returns an empty string.
Now, we fallback to pre-PHP 5 mechanism to quote the string when not
connected.
Fixes #79
|
|
|