]> granicus.if.org Git - php/commitdiff
be aware of scrollable cursors; sqlite doesn't support them
authorWez Furlong <wez@php.net>
Wed, 12 Jan 2005 06:08:59 +0000 (06:08 +0000)
committerWez Furlong <wez@php.net>
Wed, 12 Jan 2005 06:08:59 +0000 (06:08 +0000)
ext/pdo_sqlite/sqlite_driver.c
ext/pdo_sqlite/sqlite_statement.c

index 3ebdb07e3a49f6a064e7b7dca40ca512f63fe361..391132e6190ff6ce1d590c41af71d3b954d0fdb8 100644 (file)
@@ -123,6 +123,12 @@ static int sqlite_handle_preparer(pdo_dbh_t *dbh, const char *sql, long sql_len,
        stmt->driver_data = S;
        stmt->methods = &sqlite_stmt_methods;
 
+       if (PDO_CURSOR_FWDONLY != pdo_attr_lval(driver_options, PDO_ATTR_CURSOR, PDO_CURSOR_FWDONLY TSRMLS_CC)) {
+               H->einfo.errcode = SQLITE_ERROR;
+               pdo_sqlite_error(dbh);
+               return 0;
+       }
+
        i = sqlite3_prepare(H->db, sql, sql_len, &S->stmt, &tail);
        if (i == SQLITE_OK) {
                return 1;
index d750a3e41717f62016f472dd2c6fdc3fd68ea63c..613921b18ab46dc26d62427b8466119ce94f5ea2 100644 (file)
@@ -122,7 +122,8 @@ static int pdo_sqlite_stmt_param_hook(pdo_stmt_t *stmt, struct pdo_bound_param_d
        return 1;
 }
 
-static int pdo_sqlite_stmt_fetch(pdo_stmt_t *stmt TSRMLS_DC)
+static int pdo_sqlite_stmt_fetch(pdo_stmt_t *stmt,
+       enum pdo_fetch_orientation ori, long offset TSRMLS_DC)
 {
        pdo_sqlite_stmt *S = (pdo_sqlite_stmt*)stmt->driver_data;
        int i;