summaryrefslogtreecommitdiff
path: root/drivers
AgeCommit message (Collapse)AuthorFilesLines
2025-09-28Changes to make mysqli defaults work correcltyMark Newnham1-2/+2
2025-09-25Override properties instead of setting in _init()Damien Regad2-4/+5
The parent class' properties $fmtDate and $fmtTimeStamp are initialized by ADODB_pdo::_UpdatePDO(), so if they are defined as properties in the child driver, their values will automatically be picked up without the need to manually set them in _init().
2025-09-25WhitespaceDamien Regad1-8/+8
2025-09-25Fix static analysis warningsDamien Regad7-19/+30
2025-09-25Remove unnecessary PHPDoc blockDamien Regad1-7/+0
Update parent with parameter description.
2025-09-25All PDO drivers extend ADODB_pdo_baseDamien Regad8-27/+35
Follow-up on #1122, for consistency. Make _init() method protected, adjust the method's signature and call parent method as appropriate.
2025-09-25Merge branch 'hotfix/5.22'Damien Regad1-1/+1
2025-09-15PDO Firebird driver extends ADODB_pdo_baseDamien Regad1-1/+1
Previously, it inherited from ADODB_pdo, which caused Fatal error: Uncaught Error: Call to undefined method ADODB_pdo_firebird::_init(). Fixes #1122
2025-08-31Fix metaForeignkeys to return correct signatureMark Newnham1-88/+169
2025-08-23Remove unneeded driver specific methodsMark Newnham1-17/+14
2025-08-22Switch fetch mode inside methodMark Newnham1-2/+12
2025-08-22Simplify complex date generationMark Newnham1-26/+107
2025-08-19Merge pull request #1100 from ADOdb/pr1002-sqlite-regressionDamien Regad2-26/+36
sqlite: Fix regression in SQLDate() method
2025-08-18Test for out of range field indexes in FetchField()Mark Newnham1-0/+6
2025-08-18Coding guidelinesDamien Regad1-11/+9
2025-08-18sqlite: Fix SQLDate() methodDamien Regad2-15/+27
ADOdb date/time library was removed in #970. Follow-up PR #1002 replaced legacy adodb_date()/adodb_date2() calls through custom functions, by native strftime(). That introduced a regression in SQLDate() behavior, as the date formats changed from PHP-style to strftime (e.g. `Ymd` -> `%Y%m%d`). This commit partially reverts 4700171afa6c5f939e8d04b079331e207dea22ca and reintroduces the createFunction() call with a closure providing behavior compatible with the legacy adodb_date2() function. It also removes the now-useless test script that was added as part of PR #1002.
2025-08-18PSR cleanupMark Newnham1-40/+303
2025-08-18Changes the returned keys to lowercase if necessaryMark Newnham1-0/+13
Fixes #1090 Signed-off-by: Damien Regad <dregad@mantisbt.org> The original commit was modified to remove the change of indentation from tab to space.
2025-08-17Change casing to allow retrieval of keysMark Newnham1-3/+15
2025-08-11Added sqlite3 specific ifnull to driverMark Newnham1-0/+12
2025-08-03Merge tag 'v5.22.10'Damien Regad1-129/+78
# Conflicts: # adodb.inc.php # docs/changelog.md
2025-08-03Refactor metaForeignKeys() methodDamien Regad1-19/+17
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
2025-08-03Ignore case when matching FOREIGN keywordDamien Regad1-1/+1
Fixes metaForeignKeys() method returning nothing when FOREIGN keyword was not given in upper case. Fixes #1078
2025-08-03Code cleanupDamien Regad1-74/+54
- Fix static analysis warnings - Remove useless code - Coding guidelines
2025-08-03Execute PRAGMA to retrieve PK after getting table infoDamien Regad1-25/+7
2025-08-03Remove unnecessary where clauseDamien Regad1-2/+1
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
2025-08-03Remove unnecessary subquery in metaForeignKeys()Damien Regad1-4/+1
2025-08-03Prevent SQL injection in sqlite3 driverDamien Regad1-22/+15
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
2025-05-01Merge tag 'v5.22.9'Damien Regad1-4/+6
ADOdb version 5.22.9 released 2025-05-01 # Conflicts: # adodb-active-record.inc.php # adodb-active-recordx.inc.php # adodb.inc.php # docs/changelog.md # drivers/adodb-postgres64.inc.php
2025-05-01Mark pg_insert_id() as deprecatedDamien Regad1-0/+1
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
2025-05-01PHPDocDamien Regad1-2/+10
2025-05-01Fix SQL injection in pg_insert_id()Damien Regad1-1/+2
Properly escape the $tablename and $fieldname parameters used to build the sequence name.
2025-03-22Merge branch 'hotfix/5.22'Damien Regad1-7/+13
# Conflicts: # adodb.inc.php # docs/changelog.md
2025-03-22Fix SQLite error reportingraspopov1-7/+13
Without debug flag, the library returns '0' instead of error messages and correct SQLite error codes. Fixes #1061, PR #1062
2025-01-25Merge tag 'v5.22.8'Damien Regad2-14/+72
ADOdb version 5.22.8 released 2025-01-25 # Conflicts: # adodb.inc.php # docs/changelog.md # drivers/adodb-postgres64.inc.php
2025-01-25mysqli: Improve setConnectionParameterlook-was-here1-8/+60
- 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
2025-01-25mysql: SSL not working due to wrong socket/flagslook-was-here1-2/+7
- 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>
2025-01-25pgsql: fix serverInfo() version numberDamien Regad1-6/+5
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
2024-12-23Fix typosAndreas Deininger7-11/+11
2024-12-15Merge branch 'hotfix/5.22'Damien Regad2-18/+43
# Conflicts: # adodb-datadict.inc.php
2024-08-28Fixing DB2 *LOCAL connectionCalvin Buckley1-9/+4
Per https://github.com/ADOdb/ADOdb/pull/1034#issuecomment-2136155259 Signed-off-by: Damien Regad <dregad@mantisbt.org> Fixed conflict resolution when applying patch.
2024-08-28move local schema outside of debug blockMark Newnham1-2/+5
2024-08-28Added SCHEMA to *LOCALMark Newnham1-8/+6
2024-08-28Added SET SCHEMA supportMark Newnham1-0/+8
2024-08-28Handle connection re-use using *LOCALMark Newnham1-13/+36
2024-05-26oci8: fix warning in qStr() with NULL on PHP 8.1Damien Regad1-5/+2
This is a follow-up commit on 1501ccd07868d626a51802d14ed41ed05a3532ad, as the original fix for #999 (see PR #1005) did not fully address the problem. Another PHP deprecated warning is thrown: strlen(): Passing null to parameter 1 ($string) of type string is deprecated. Fixes #1012 Backported from commit 8d88183538ae08b86c30af5b0f3280c2accd71c3.
2024-05-26Reset fetch mode before return from MetaColumns()Damien Regad1-5/+3
Commit 249b7fb08569ce576cd1bf26098e00701145c6ec (PR #1017) introduced a regression caused by returning from the function without resetting $ADODB_FETCH_MODE to its original value. Fixes #1016
2024-05-26Fixes per code reviewMark Newnham1-11/+7
2024-05-26Fix static analysis warningsDamien Regad1-1/+6
- remove unused variable - ignore changed method parameter name - add missing break statements in switch
2024-05-26Whitespace, coding guidelinesDamien Regad1-170/+145