| Age | Commit message (Collapse) | Author | Files | Lines |
|
ADODB_pdo_base defaults both to '?' which _UpdatePDO() copies to the
parent ADODB_pdo connection. pdo_firebird must declare its own values
so DEFTIMESTAMP generates LOCALTIMESTAMP rather than '?'.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
|
CURRENT_TIMESTAMP returns TIMESTAMP WITH TIME ZONE in Firebird 4+, which
PHP PDO cannot handle without a valid session timezone, causing SQLSTATE 22009.
- adodb-firebird.inc.php: sysTimeStamp changed to LOCALTIMESTAMP so DEFTIMESTAMP
generates a timezone-naive default (propagates to pdo_firebird via adodb-pdo.inc.php)
- adodb-datadict.inc.php: extend space-padding escape hatch to D/T columns so SQL
keywords can be passed through verbatim as DEFAULT values
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
|
Without this, adodb DataDict quotes table names causing Firebird to store
them as lowercase case-sensitive identifiers instead of the standard
unquoted uppercase.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
|
|
|
|
|
|
|
|
|
|
|
Since the mysqli driver refactoring in 5.22.0 to support bound variable
statements, objects passed as parameters are handled as BLOBs. This is
a regression compared to earlier behavior, which allowed those having
a __toString() method to be treated as strings.
This restores the earlier functionality.
Fixes #1075
|
|
|
|
|
|
It was replaced by nameQuoter() many years ago, see commit
876d51b73a5efa089e4cb12589de242e4f24b4c2.
|
|
Some changes made in the standard ADODB_Active_Record class's doQuote()
method were never applied to the extended version.
|
|
|
|
|
|
|
|
The method did not generate the appropriate quote for empty strings,
resulting in invalid SQL syntax in the UPDATE statement's where clause.
Fix #1073, PR #1074
|
|
If the specified where clause returns no rows, then we return false
early, there is no point building and executing an UPDATE statement
that will do nothing.
Fixes #1148
|
|
|
|
Trailing comma in function calls is only available since PHP 7.3
Named arguments are only allowed since PHP 8.0
|
|
AutoExecute fetches a row from the table prior to performing an insert
or update. When $forceUpdate is false, only modified columns should be
updated. However, the WHERE clause was not being used when fetching the
row, so the comparison was always made against an arbitrary row, causing
differences to be detected or missed by chance.
This change makes use of the $where parameter when fetching the row from
the table, making the comparison work as intended.
Fixes #1146
|
|
Non-canonical cast (integer) is deprecated, use the (int) cast instead
Global search and replace throughout the code base.
Fixes #1143
|
|
Previously, it inherited from ADODB_pdo, which caused Fatal error:
Uncaught Error: Call to undefined method ADODB_pdo_firebird::_init().
Fixes #1122
|
|
|
|
|
|
|
|
Use a single, more advanced regex to parse the table SQL, allowing
identification of foreign key definitions with a single pass, instead of
several preg_split/preg_match calls.
The new regex recognizes both column and table constraints, and allows
composite keys too.
Case conversion (when $upper parameter is true) is performed within the
foreach loop that builds the return array, instead of calling
array_change_key_case() at the end.
Fixes #1078, #1079, #1080
|
|
Fixes metaForeignKeys() method returning nothing when FOREIGN keyword
was not given in upper case.
Fixes #1078
|
|
- Fix static analysis warnings
- Remove useless code
- Coding guidelines
|
|
|
|
According to SQLite schema documentation, the only valid values for
*type* are 'table', 'index', 'view', or 'trigger' [1] so testing for
`type != 'meta'` is useless.
[1]: https://sqlite.org/schematab.html#interpretation_of_the_schema_table
|
|
|
|
Use query parameters instead of injecting the table name in the SQL, in
the following methods:
- metaColumns()
- metaForeignKeys()
- metaIndexes()
Thanks to Marco Nappi (@mrcnpp) for reporting this vulnerability.
Fixes #1083, CVE-2025-54119, GHSA-vf2r-cxg9-p7rf
|
|
|
|
This function does the same thing as ADODB_postgres8::_insertID(), in
a more limited way. There is no reason to keep it around.
Fixes #1069
|
|
|
|
Advisory
https://github.com/ADOdb/ADOdb/security/advisories/GHSA-8x27-jwjr-8545
Fixes #1070
|
|
|
|
Properly escape the $tablename and $fieldname parameters used to build
the sequence name.
|
|
Creation of dynamic property MyClass::$column is deprecated in
.../adodb/adodb-active-record.inc.php on line 115
Creation of dynamic property MyClass::$column is deprecated in
.../adodb/adodb-active-recordx.inc.php on line 119
Fixes #1068
|
|
- Extend _CreateSuffix() with two additional parameters.
- Adjust _createSuffix function name.
- Add PHPDoc block
- Fix spaces
Fixes #1055
Signed-off-by: Damien Regad <dregad@mantisbt.org>
Changes from PR:
- Original commits squashed
- Removed space after `&` for byref params
- Updated Changelog
|
|
|
|
Without debug flag, the library returns '0' instead of error messages
and correct SQLite error codes.
Fixes #1061, PR #1062
|
|
|
|
|
|
|
|
- Simplify control statements with single if expressions.
- Updated phpdoc with additional details on how to set connection
property values.
- Removed to-do that seemed wrong since the user should use
setConnectionParameter for those or set the property directly.
- Allow setting of ssl cert property values, clientFlags, port, and
socket using the standard setConnectionParameter functionality.
Feedback updates:
- Return false for special cases with type checks on sslsert, socket,
clientflags, or port fail
- Added invalid connection param to output.
- Simplified isset checks.
- Changed sslcert to ssl and simplified subkeys to ('key', 'cert', 'ca',
'capath', 'cipher').
- Removed code duplication.
- is_numeric should be checking value not parameter
Fixes #1044
|
|
- Remove inappropriate setting of socket.
- Updated to use appropriate bitwise operations to check for set SSL
client flags and update the default to not overwrite set user flags.
- Add friendly error to let user know they need to add a SSL client flag
when using certificates.
Fixes #919, #1043
Signed-off-by: Damien Regad <dregad@mantisbt.org>
|
|
In toexport.inc.php:
- trim(): Passing null to parameter of type string is deprecated
Fixes #1045
Signed-off-by: Damien Regad <dregad@mantisbt.org>
|
|
In ADOdb versions < 5.21.0-beta.1, serverInfo()['version'] returned just
the version number (e.g. `15.10`), which was extracted from the version
string using ADOConnection::_findVers().
Commit f2b88e063d61b12a1df9090b8d0c68831ed0f447 removed the _findVers()
call, so serverInfo() could potentially return additional information
depending on the actual value returned by pg_version() (e.g.
`15.10 (Debian 15.10-0+deb12u1)`.
This could cause subsequent version comparisons to fail, e.g. in
metaTables().
Fixes #1059
|