ADOdb

Database Abstraction Layer for PHP

User Tools

Site Tools


v5:database:for_removal

List of Drivers To Be Removed / Merged

Full Removal

Driver Driver / Children Reason
ADO ado, ado_access, ado_mssql, ado5 Obsolete
Frontbase fbsql No PHP drivers since V4
IBM Informix informix, informix_72 Database End-Of-Life / No PHP 7 Drivers
mysqlt mysqlt, mysqlpo Superseded by mysqli
mssql mssql, mssql_n, mssqlpo Driver End Of Life / No PHP7 drivers
Netezza netezza Database End-Of-Life 2019
ODBTP odbtp, odbtp_unicode Obsolete
Plain Text text Incompatible with later versions of PHP
Proxy proxy Deprecated for security reasons, as of ADOdb 5.21.0
SAP ADS ads Database End-Of-Life / No PHP 7 Drivers
SAP ASE sybase, sybase_ase Database End-Of-Life / No PHP 7 Drivers
SAP MaxDB sapdb Database End-Of-Life / No PHP 7 Drivers
SAP SQL Anywhere sqlanywhere Dormant / No Active Users
Visual FoxPro vfp Obsolete

Occasionally renewed interest in a database may result in a driver being reactivated

Partial Removal

Driver Children Reason
IBM_DB2 db2ora, db2oci Feature handled in rewritten main driver. Use param() for parametisation
oci805 oci805 Written specifically for now obsolete version of oracle
oci8po oci8po Should be able to roll the minor differences in this driver into the main one
oracle oracle Obsolete database version
mssql2012ODBC mssql2012 odbc_mssql2012 Make the extended feature of this driver the default in the parent
SQLite Database sqlite3 merge current version back to sqlite
PostgreSQL postgres64, postgres7, postgres8, postgres9 Merge all versions back to postgres
PDO mssql mssql Obsolete driver

Remaining

Old Name New Name Children
accessaccess
db2db2
firebirdfirebird
ldapldap
mssqlnativesqlserver
mysqlimysql
oci8oracle
odbcodbcdb2, mssql, oracle
pdopdodblib, firebird, mysql, oci8→oracle. pgsql, sqlite, slsrv
postgres9postgres
sqlite3sqlite

The thing about the PDO driver

Take, for example, pdo_mysql. This driver is really just the mysql driver. It doesn't really have anything to do with PDO. This is the same for all the PDO drivers.

If you were going to make the drivers loadable classes, it would make no sense to have these as extensions of PDO, they should be an extension of the native driver so that they all have access to the already written methods in the native driver.

How to link them to the base driver I have no idea.

LDAP Driver

Isn't really the same thing as all the others. It's useful, but doesnt really fit in with the others. Maybe we should break it off to its own directory or something.

ociquercus

This seems to have a lot of complicated cursor stuff in it. I think John was a bit of an oracle hacker. would be a shame to lose it but not quite sure what to do with it

Directory Structure

I think we should break a lot of stuff away from the main directory, perhaps it could match a namespace or something?

\adodb
\adodb\adodb
\adodb\adodb\drivers
\adodb\adodb\datadict
\adodb\adodb\perf
\adodb\adodb\xmlschema
\adodb\adodb\memcache
\adodb\adodb\errors
\adodb\adodb\lang
 
\adodb\session
 
\adodb\activerecord
 
\adodb\time
 
\adodb\other - everything else in subdirectories

This would empty the main directory

Functions in adodb-lib.inc.php

There are a lot of functions in this file, for eaxample _adodb_column_sql(). I've never understood why these are functions and not part of the class. I think we should make them class functions, and if necessary, create some kind of helper functions that calls them. so:

function _adodb_column_sql(&$zthis ..
 
becomes ADOconnection::adodbColumnSql
v5/database/for_removal.txt · Last modified: 2020/01/09 04:03 by mnewnham