<feed xmlns='http://www.w3.org/2005/Atom'>
<title>adodb, branch v5.22.10</title>
<subtitle>adodb PHP Database Abstraction Layer
</subtitle>
<id>https://git.rdm1.uk/adodb/.git/atom?h=v5.22.10</id>
<link rel='self' href='https://git.rdm1.uk/adodb/.git/atom?h=v5.22.10'/>
<link rel='alternate' type='text/html' href='https://git.rdm1.uk/adodb/.git/'/>
<updated>2025-08-03T16:20:39Z</updated>
<entry>
<title>Bump version to 5.22.10</title>
<updated>2025-08-03T16:20:39Z</updated>
<author>
<name>Damien Regad</name>
<email>dregad@mantisbt.org</email>
</author>
<published>2025-08-03T16:20:39Z</published>
<link rel='alternate' type='text/html' href='https://git.rdm1.uk/adodb/.git/commit/?id=38ce257600e67b1e854f2e9054166569cff4bf6b'/>
<id>urn:sha1:38ce257600e67b1e854f2e9054166569cff4bf6b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Update Changelog</title>
<updated>2025-08-03T16:17:02Z</updated>
<author>
<name>Damien Regad</name>
<email>dregad@mantisbt.org</email>
</author>
<published>2025-08-03T16:17:02Z</published>
<link rel='alternate' type='text/html' href='https://git.rdm1.uk/adodb/.git/commit/?id=cb08cbaebc9e252be06a5e80b1246889b481a447'/>
<id>urn:sha1:cb08cbaebc9e252be06a5e80b1246889b481a447</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Refactor metaForeignKeys() method</title>
<updated>2025-08-03T16:05:05Z</updated>
<author>
<name>Damien Regad</name>
<email>dregad@mantisbt.org</email>
</author>
<published>2025-07-20T22:55:27Z</published>
<link rel='alternate' type='text/html' href='https://git.rdm1.uk/adodb/.git/commit/?id=be6033941f6fbe1f4058b669fd0e6462bb627a36'/>
<id>urn:sha1:be6033941f6fbe1f4058b669fd0e6462bb627a36</id>
<content type='text'>
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
</content>
</entry>
<entry>
<title>Ignore case when matching FOREIGN keyword</title>
<updated>2025-08-03T16:05:05Z</updated>
<author>
<name>Damien Regad</name>
<email>dregad@mantisbt.org</email>
</author>
<published>2025-07-20T15:37:42Z</published>
<link rel='alternate' type='text/html' href='https://git.rdm1.uk/adodb/.git/commit/?id=5fe4fc8e5c6cd1e202d540203106f483f3aa45c2'/>
<id>urn:sha1:5fe4fc8e5c6cd1e202d540203106f483f3aa45c2</id>
<content type='text'>
Fixes metaForeignKeys() method returning nothing when FOREIGN keyword
was not given in upper case.

Fixes #1078
</content>
</entry>
<entry>
<title>Code cleanup</title>
<updated>2025-08-03T16:05:05Z</updated>
<author>
<name>Damien Regad</name>
<email>dregad@mantisbt.org</email>
</author>
<published>2025-07-19T16:52:25Z</published>
<link rel='alternate' type='text/html' href='https://git.rdm1.uk/adodb/.git/commit/?id=e361aa9633532aa8af5d56b789dbb3994ac89dcc'/>
<id>urn:sha1:e361aa9633532aa8af5d56b789dbb3994ac89dcc</id>
<content type='text'>
- Fix static analysis warnings
- Remove useless code
- Coding guidelines
</content>
</entry>
<entry>
<title>Execute PRAGMA to retrieve PK after getting table info</title>
<updated>2025-08-03T16:05:05Z</updated>
<author>
<name>Damien Regad</name>
<email>dregad@mantisbt.org</email>
</author>
<published>2025-07-19T16:48:52Z</published>
<link rel='alternate' type='text/html' href='https://git.rdm1.uk/adodb/.git/commit/?id=a8bc96228ead8daebeec423f4f341a1f5092e340'/>
<id>urn:sha1:a8bc96228ead8daebeec423f4f341a1f5092e340</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Remove unnecessary where clause</title>
<updated>2025-08-03T16:05:05Z</updated>
<author>
<name>Damien Regad</name>
<email>dregad@mantisbt.org</email>
</author>
<published>2025-07-19T16:46:15Z</published>
<link rel='alternate' type='text/html' href='https://git.rdm1.uk/adodb/.git/commit/?id=90a11eb03178e1e9ebd233d497c477fd6a581648'/>
<id>urn:sha1:90a11eb03178e1e9ebd233d497c477fd6a581648</id>
<content type='text'>
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
</content>
</entry>
<entry>
<title>Remove unnecessary subquery in metaForeignKeys()</title>
<updated>2025-08-03T16:05:05Z</updated>
<author>
<name>Damien Regad</name>
<email>dregad@mantisbt.org</email>
</author>
<published>2025-07-19T16:44:59Z</published>
<link rel='alternate' type='text/html' href='https://git.rdm1.uk/adodb/.git/commit/?id=a78e02e1813da604971bae7632b5b846084485ca'/>
<id>urn:sha1:a78e02e1813da604971bae7632b5b846084485ca</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Prevent SQL injection in sqlite3 driver</title>
<updated>2025-08-03T15:57:49Z</updated>
<author>
<name>Damien Regad</name>
<email>dregad@mantisbt.org</email>
</author>
<published>2025-07-19T16:37:59Z</published>
<link rel='alternate' type='text/html' href='https://git.rdm1.uk/adodb/.git/commit/?id=5b8bd52cdcffefb4ecded1b399c98cfa516afe03'/>
<id>urn:sha1:5b8bd52cdcffefb4ecded1b399c98cfa516afe03</id>
<content type='text'>
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
</content>
</entry>
<entry>
<title>Bump version to 5.22.9</title>
<updated>2025-05-01T11:49:24Z</updated>
<author>
<name>Damien Regad</name>
<email>dregad@mantisbt.org</email>
</author>
<published>2025-05-01T11:49:24Z</published>
<link rel='alternate' type='text/html' href='https://git.rdm1.uk/adodb/.git/commit/?id=a568bfeb72d6b5942df747adc36b95165a083e60'/>
<id>urn:sha1:a568bfeb72d6b5942df747adc36b95165a083e60</id>
<content type='text'>
</content>
</entry>
</feed>
