When writing an adapter, you need to override these abstract methods:
{{code: php
abstract protected function _fetchTableList();
abstract protected function _fetchTableCols($table);
abstract protected function _createSequence($name, $start = 1);
abstract protected function _dropSequence($name);
abstract protected function _nextSequence($name);
abstract protected function _dropIndex($table, $name);
abstract protected function _modAutoincPrimary(&$coldef, $autoinc, $primary);
}}
If the backend needs identifier deconfliction (e.g., PostgreSQL), you will
want to override _modIndexName() and _modSequenceName(). Most times this
will not be necessary.
If the backend does not have explicit "LIMIT ... OFFSET" support,
you will want to override _modSelect($stmt, $parts) to rewrite the query
in order to emulate limit/select behavior. This is particularly necessary
for Microsoft SQL and Oracle.