Re: differences in the RDBMS ext API's
| From: | Dan Kalowsky | Date: | Wed, 24 Sep 2003 17:59:42 +0000 |
| Subject: | Re: differences in the RDBMS ext API's | ||
| References: | 1 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-4568@lists.php.net to get a copy of this message | ||
I don't have the time to answer this in more detail, but some of these
calls are just not supported by ODBC (i.e. select_db). Some are, I just
haven't had the time to commit the patches that create the functionality
and fully test it.
On Wed, 24 Sep 2003, Lukas Smith wrote:
> Hi,
>
> ok while talking to marcus about sqlite it came up again that some ext
> have different function names for similar things which is really
> unnecessary. Here is a list of some most used (just a guestimate)
> functions. I used the mysql extension as the basis for the most part.
>
> Some functions obviously don't exist in the ext because the underlying
> RDBMS doesn't support it (like prepared queries, autoincrement and
> selecting a database etc.).
>
> Please correct me where I am wrong. Some query() functions might be
> actually be unbuffered_query() etc. And while doing such a boring work
> you tend to make mistakes. Finally I don't know all API's by heart nor
> have I used all of them.
>
> Finally I want to mention again that I only looked at the function names
> and not at stuff like parameter order etc where I expect to be even more
> needless API differences.
>
> I removed the ext prefix for obvious reasons and I put diverging names,
> ext where there is no equivalent function or other comments in
> parenthesis:
> - affected_rows
> missing in ibase, ingress, odbc, ora
> sqlite_changes
> mssql_rows_affected
> ocirowcount
> - bind
> missing in ifx
> handled by execute in ibase, odbc
> mssql uses this method to handle stored procdures
> mysqli_bind_param
> ocibindbyname
> prepared not supported by fbsql, ingres, mssql, msql, mysql, pg,
> sqlite, sybase
> - close
> ocilogoff
> - connect
> ocilogon
> oralogon
> sqlite_open
> - data_seek
> missing in ifx, ibase, ingress, odbc, oci, ora, pg
> sqlite_seek - due to spl
> - errno
> ifx_error
> odbc_error
> ora_errorcode
> missing in ibase, ingress, mssql, msql, oci, pg, sqlite, sybase
> - error
> ifx_errormsg
> ibase_errmsg
> mssql_get_last_message
> sybase_get_last_message
> odbc_errormsg
> ocierror
> pg_last_error
> sqlite_error_string
> missing in ingres
> - escape_string
> missing in fbsql, ifx, ibase, ingress, mssql, msql, odbc, oci, ora,
> sybase
> mysqli_real_escape_string
> - execute
> ifx_do
> mssql uses this method to handle stored procedures
> ociexecute
> ora_exec
> prepared not supported by fbsql, ingres, mssql, msql, mysql, pg,
> sqlite, sybase
> - fetch_array
> missing in ifx, ibase
> ocifechtino
> ora_fetch_into
> - fetch_assoc
> ifx_fetch_row
> missing in ingress, msql, odbc, oci, ora, sqlite
> - fetch_object
> missing in ifx, oci, ora, sqlite
> - fetch_row
> missing in ibase, oci, ora, sqlite
> - free_query
> missing in ifx, mysqli, odbc, ora
> mysqli_stmt_close
> ocifreecursor
> prepared not supported by fbsql, ingres, mssql, msql, mysql, pg,
> sqlite, sybase
> - free_result
> ocifreestatement
> missing in ingress, ora, sqlite
> - insert_id
> sqlite_last_insert_rowid
> not supported by ifx, ibase, ingres, mssql*, msql, odbc, oci, ora,
> pg, sybase*
> - next_result
> only exists in fbsql and mssql
> - num_fields
> ocinumcols
> ora_numcols
> - num_rows
> missing since buffering is not supported in ibase, oci
> ora_numrows
> - pconnect
> missing because it was found to be not feasible in mysqli
> ora_plogon
> ociplogon
> sqlite_popen
> - prepare
> ociparse
> ora_parse
> prepared not supported by fbsql, ingress, mssql, mysql, pg, sqlite,
> sybase
> - query
> is unbuffered in ibase
> pg_send_query
> missing in odbc, oci, ora
> - result
> missing in ifx, ibase, ingres, mysqli, oci, ora, sqlite
> - select_db
> missing in ifx, ibase, ingres, odbc, oci, ora, pg, sqlite
> - unbuffered_query
> missing in fbsql, ifx, ingres, mssql, msql, odbc, ora, pg
> ibase_query
> ociexecute
>
> regards,
> Lukas Smith
> smith@backendmedia.com
> _______________________________
> BackendMedia
> www.backendmedia.com
> berlin@backendmedia.com
>
> Linn Zwoch Smith GbR
> Pariser Str. 44
> D-10707 Berlin
>
> Tel +49 30 83 22 50 00
> Fax +49 30 83 22 50 07
>
>
>---------------------------------------------------------------<
Dan Kalowsky "I thought you died alone,
http://www.deadmime.org/~dank a long long time
ago."
dank-nom@aps-deadmime.org - "The Man Who Sold the World"
kalowsky@php.net David Bowie