diff options
author | Wez Furlong <wez@php.net> | 2005-01-12 05:58:19 +0000 |
---|---|---|
committer | Wez Furlong <wez@php.net> | 2005-01-12 05:58:19 +0000 |
commit | b2fe67563698b4ab0b40743295ab19d0c7ed421d (patch) | |
tree | 8dd5a9802935f539e352efb9a80106e96b202845 /ext/pdo_odbc/odbc_stmt.c | |
parent | 459b4f85d36f50a54f8a12232fb2fd27cb1d01a9 (diff) | |
download | php-git-b2fe67563698b4ab0b40743295ab19d0c7ed421d.tar.gz |
Support scrollable cursors
Diffstat (limited to 'ext/pdo_odbc/odbc_stmt.c')
-rwxr-xr-x | ext/pdo_odbc/odbc_stmt.c | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/ext/pdo_odbc/odbc_stmt.c b/ext/pdo_odbc/odbc_stmt.c index 7c901ebef7..870efd1879 100755 --- a/ext/pdo_odbc/odbc_stmt.c +++ b/ext/pdo_odbc/odbc_stmt.c @@ -141,12 +141,25 @@ static int odbc_stmt_param_hook(pdo_stmt_t *stmt, struct pdo_bound_param_data *p return 1; } -static int odbc_stmt_fetch(pdo_stmt_t *stmt TSRMLS_DC) +static int odbc_stmt_fetch(pdo_stmt_t *stmt, + enum pdo_fetch_orientation ori, long offset TSRMLS_DC) { pdo_odbc_stmt *S = (pdo_odbc_stmt*)stmt->driver_data; RETCODE rc; - + SQLSMALLINT odbcori; +#if 0 rc = SQLFetch(S->stmt); +#else + switch (ori) { + case PDO_FETCH_ORI_NEXT: odbcori = SQL_FETCH_NEXT; break; + case PDO_FETCH_ORI_PRIOR: odbcori = SQL_FETCH_PRIOR; break; + case PDO_FETCH_ORI_FIRST: odbcori = SQL_FETCH_FIRST; break; + case PDO_FETCH_ORI_LAST: odbcori = SQL_FETCH_LAST; break; + case PDO_FETCH_ORI_ABS: odbcori = SQL_FETCH_ABSOLUTE; break; + case PDO_FETCH_ORI_REL: odbcori = SQL_FETCH_RELATIVE; break; + } + rc = SQLFetchScroll(S->stmt, odbcori, offset); +#endif if (rc == SQL_SUCCESS || rc == SQL_SUCCESS_WITH_INFO) { return 1; |