sterling                Tue Jul  1 20:03:41 2003 EDT

  Modified files:              
    /php-src/ext/sqlite sess_sqlite.c 
  Log:
  make this actually work.
  
  
Index: php-src/ext/sqlite/sess_sqlite.c
diff -u php-src/ext/sqlite/sess_sqlite.c:1.3 php-src/ext/sqlite/sess_sqlite.c:1.4
--- php-src/ext/sqlite/sess_sqlite.c:1.3        Tue Jul  1 13:55:32 2003
+++ php-src/ext/sqlite/sess_sqlite.c    Tue Jul  1 20:03:41 2003
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: sess_sqlite.c,v 1.3 2003/07/01 17:55:32 helly Exp $ */
+/* $Id: sess_sqlite.c,v 1.4 2003/07/02 00:03:41 sterling Exp $ */
 
 #include "php.h"
 
@@ -88,6 +88,8 @@
        /* allow up to 1 minute when busy */
        sqlite_busy_timeout(db, 60000);
 
+       /* sqlite_exec(db, "PRAGMA default_synchronous = OFF", NULL, NULL, NULL); */
+       
        /* This will fail if the table already exists, but that's not a big problem. 
I'm
           unclear as to how to check for a table's existence in SQLite -- that would 
be better here. */
        sqlite_exec(db, CREATE_TBL_QUERY, NULL, NULL, NULL);
@@ -110,11 +112,15 @@
 {
        PS_SQLITE_DATA;
        char *query;
+       const char *tail;
        sqlite_vm *vm;
        int colcount, result;
        const char **rowdata, **colnames;
        char *error;
 
+       *val = NULL;
+       *vallen = 0;
+       
        if (!ps_sqlite_valid_key(key)) {
                php_error_docref(NULL TSRMLS_CC, E_WARNING, "SQLite: The session id 
contains illegal characters, valid characters are a-z, A-Z, 0-9 and '-,'");
                return FAILURE;
@@ -126,7 +132,7 @@
                return FAILURE;
        }
 
-       if (sqlite_compile(db, query, NULL, &vm, &error) != SQLITE_OK) {
+       if (sqlite_compile(db, query, &tail, &vm, &error) != SQLITE_OK) {
                php_error_docref(NULL TSRMLS_CC, E_WARNING, "SQLite: Could not compile 
session read query: %s", error);
                sqlite_freemem(error);
                sqlite_freemem(query);
@@ -135,10 +141,7 @@
 
        switch ((result = sqlite_step(vm, &colcount, &rowdata, &colnames))) {
                case SQLITE_ROW:
-                       if (rowdata[0] == NULL) {
-                               *vallen = 0;
-                               *val = NULL;
-                       } else {
+                       if (rowdata[0] != NULL) {
                                *vallen = strlen(rowdata[0]);
                                *val = emalloc(*vallen);
                                *vallen = sqlite_decode_binary(rowdata[0], *val);
@@ -146,7 +149,7 @@
                        }
                        break;
                default:
-                       php_error_docref(NULL TSRMLS_CC, E_WARNING, "SQLite: session 
read query failed: %s", error);
+                       //php_error_docref(NULL TSRMLS_CC, E_WARNING, "SQLite: session 
read query failed: %s", error);
                        sqlite_freemem(error);
                        error = NULL;
        }



-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to