summaryrefslogtreecommitdiff
path: root/drivers
AgeCommit message (Collapse)AuthorFilesLines
2026-02-06Adds the length functionMark Newnham2-0/+26
2026-01-31Change structure of record iteration to not match associative keysMark Newnham1-9/+19
2026-01-19Resructure method to prevent array errors if table not foundMark Newnham1-4/+12
2025-11-22Merge branch 'hotfix/5.22'Damien Regad1-5/+5
2025-11-22mysql: treat objects with __toString() as stringDamien Regad1-1/+1
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
2025-11-22WhitespaceDamien Regad1-4/+4
2025-10-30Updare Actual types and identify auto-increment column in metacolumnsMark Newnham1-10/+47
2025-10-25Merge branch 'hotfix/5.22'Damien Regad19-84/+84
# Conflicts: # adodb-time.inc.php # drivers/adodb-db2.inc.php
2025-10-25PHP 8.5: fix Non-canonical cast deprecationsDamien Regad19-39/+39
Non-canonical cast (integer) is deprecated, use the (int) cast instead Global search and replace throughout the code base. Fixes #1143
2025-10-11Add updated rowcount and selectlimit offsetMark Newnham1-1717/+1766
2025-10-10Add comment explaining db2_num_rowsMark Newnham1-2/+3
2025-09-29Drop Sequence references tables, not sequencesMark Newnham1-10/+72
Sequence methods return incorrect success values CreateSequence uses non-standard error handling GenID returns next id as string, not integer
2025-09-28PDO mysql: change $sysDate/$sysTimestamp defaultDamien Regad1-2/+2
Porting change from 416d279f128ab77d9d1b7b999087696e05113b1e.
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>