mboeren         Fri Mar 23 06:50:17 2001 EDT

  Modified files:              
    /php4/ext/dbx       Makefile.in dbx.c dbx.dsp dbx_mysql.c dbx_mysql.h 
                        dbx_odbc.c dbx_odbc.h dbx_pgsql.c dbx_pgsql.h 
                        php_dbx.h 
  Log:
  Fixed compile errors for PostgreSQL support (Mc)
  Removed globals that Rui put in, and changed the dbx_get_row
  to include a row_number (which PostgreSQL expects) (Mc)
  Added source files to Makefile.in and dbx.dsp (Mc)
  #Could someone please check if the PostgreSQL support works?
  #And please, check your work _before_ you commit anything!
  
  
Index: php4/ext/dbx/Makefile.in
diff -u php4/ext/dbx/Makefile.in:1.1 php4/ext/dbx/Makefile.in:1.2
--- php4/ext/dbx/Makefile.in:1.1        Thu Mar 22 03:07:04 2001
+++ php4/ext/dbx/Makefile.in    Fri Mar 23 06:50:16 2001
@@ -1,6 +1,6 @@
 
 LTLIBRARY_NAME = libdbx.la
-LTLIBRARY_SOURCES = dbx.c dbx_mysql.c dbx_odbc.c
+LTLIBRARY_SOURCES = dbx.c dbx_mysql.c dbx_odbc.c dbx_pgsql.c
 LTLIBRARY_SHARED_NAME = dbx.la
 
 include $(top_srcdir)/build/dynlib.mk
Index: php4/ext/dbx/dbx.c
diff -u php4/ext/dbx/dbx.c:1.4 php4/ext/dbx/dbx.c:1.5
--- php4/ext/dbx/dbx.c:1.4      Fri Mar 23 03:50:04 2001
+++ php4/ext/dbx/dbx.c  Fri Mar 23 06:50:16 2001
@@ -96,27 +96,30 @@
     /*/ returns column-name as string on success or 0 as long on failure /*/
 int switch_dbx_getcolumntype(zval ** rv, zval ** result_handle, long column_index, 
INTERNAL_FUNCTION_PARAMETERS, zval ** dbx_module);
     /*/ returns column-type as string on success or 0 as long on failure /*/
-int switch_dbx_getrow(zval ** rv, zval ** result_handle, 
INTERNAL_FUNCTION_PARAMETERS, zval ** dbx_module);
+int switch_dbx_getrow(zval ** rv, zval ** result_handle, long row_number, 
+INTERNAL_FUNCTION_PARAMETERS, zval ** dbx_module);
     /*/ returns array[0..columncount-1] as strings on success or 0 as long on failure 
/*/
 int switch_dbx_error(zval ** rv, zval ** dbx_handle, INTERNAL_FUNCTION_PARAMETERS, 
zval ** dbx_module);
     /*/ returns string /*/
-
+/*
 #ifdef ZTS
 int dbx_globals_id;
 #else
 ZEND_DBX_API zend_dbx_globals dbx_globals;
 #endif
+*/
 /* If you declare any globals in php_dbx.h uncomment this: */
 /* ZEND_DECLARE_MODULE_GLOBALS(dbx) */
 /* True global resources - no need for thread safety here */
+/*
 static int le_dbx;
-
+*/
+/*
 static void zend_dbx_init_globals(PGLS_D)
 {
        DBXG(row_count) = 0;
        DBXG(num_rows) = 0;
 }
-
+*/
 /* Every user visible function must have an entry in dbx_functions[].
 */
 function_entry dbx_functions[] = {
@@ -155,13 +158,13 @@
 /*/
 ZEND_MINIT_FUNCTION(dbx)
 {
-
+/*
 #ifdef ZTS
        dbx_globals_id = ts_allocate_id(sizeof(zend_dbx_globals), (ts_allocate_ctor) 
zend_dbx_init_globals, NULL);
 #else
        zend_dbx_init_globals(DBXLS_C);
 #endif
-
+*/
 /*/    REGISTER_INI_ENTRIES(); /*/
 
     REGISTER_LONG_CONSTANT("DBX_PERSISTENT", DBX_PERSISTENT, CONST_CS | 
CONST_PERSISTENT);
@@ -455,7 +458,7 @@
     while (result) {
         zval * rv_row;
         MAKE_STD_ZVAL(rv_row);
-        result = switch_dbx_getrow(&rv_row, &rv_result_handle, 
INTERNAL_FUNCTION_PARAM_PASSTHRU, dbx_module);
+        result = switch_dbx_getrow(&rv_row, &rv_result_handle, row_count, 
+INTERNAL_FUNCTION_PARAM_PASSTHRU, dbx_module);
         if (result) {
 /*/            if (row_count>=result_row_offset && (result_row_count==-1 || 
row_count<result_row_offset+result_row_count)) { /*/
                 zval ** row_ptr;
@@ -762,12 +765,12 @@
     return 0;
     }
 
-int switch_dbx_getrow(zval ** rv, zval ** result_handle, 
INTERNAL_FUNCTION_PARAMETERS, zval ** dbx_module) {
+int switch_dbx_getrow(zval ** rv, zval ** result_handle, long row_number, 
+INTERNAL_FUNCTION_PARAMETERS, zval ** dbx_module) {
     /*/ returns array[0..columncount-1] as strings on success or 0 as long on failure 
/*/
     switch ((*dbx_module)->value.lval) {
-        case DBX_MYSQL: return dbx_mysql_getrow(rv, result_handle, 
INTERNAL_FUNCTION_PARAM_PASSTHRU);        
-        case DBX_ODBC: return dbx_odbc_getrow(rv, result_handle, 
INTERNAL_FUNCTION_PARAM_PASSTHRU);        
-        case DBX_PGSQL: return dbx_pgsql_getrow(rv, result_handle, 
INTERNAL_FUNCTION_PARAM_PASSTHRU);        
+        case DBX_MYSQL: return dbx_mysql_getrow(rv, result_handle, row_number, 
+INTERNAL_FUNCTION_PARAM_PASSTHRU);        
+        case DBX_ODBC: return dbx_odbc_getrow(rv, result_handle, row_number, 
+INTERNAL_FUNCTION_PARAM_PASSTHRU);        
+        case DBX_PGSQL: return dbx_pgsql_getrow(rv, result_handle, row_number, 
+INTERNAL_FUNCTION_PARAM_PASSTHRU);        
         }
     zend_error(E_WARNING, "dbx_getrow: not supported in this module");
     return 0;
Index: php4/ext/dbx/dbx.dsp
diff -u php4/ext/dbx/dbx.dsp:1.2 php4/ext/dbx/dbx.dsp:1.3
--- php4/ext/dbx/dbx.dsp:1.2    Fri Mar 23 02:23:58 2001
+++ php4/ext/dbx/dbx.dsp        Fri Mar 23 06:50:17 2001
@@ -104,6 +104,10 @@
 
 SOURCE=.\dbx_odbc.c
 # End Source File
+# Begin Source File
+
+SOURCE=.\dbx_pgsql.c
+# End Source File
 # End Group
 # Begin Group "Header Files"
 
@@ -119,6 +123,10 @@
 # Begin Source File
 
 SOURCE=.\dbx_odbc.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\dbx_pgsql.h
 # End Source File
 # Begin Source File
 
Index: php4/ext/dbx/dbx_mysql.c
diff -u php4/ext/dbx/dbx_mysql.c:1.3 php4/ext/dbx/dbx_mysql.c:1.4
--- php4/ext/dbx/dbx_mysql.c:1.3        Fri Mar 23 02:23:58 2001
+++ php4/ext/dbx/dbx_mysql.c    Fri Mar 23 06:50:17 2001
@@ -174,7 +174,7 @@
     return 1;
     }
 
-int dbx_mysql_getrow(zval ** rv, zval ** result_handle, INTERNAL_FUNCTION_PARAMETERS) 
{
+int dbx_mysql_getrow(zval ** rv, zval ** result_handle, long row_number, 
+INTERNAL_FUNCTION_PARAMETERS) {
     /*/ returns array[0..columncount-1] as strings on success or 0 as long on failure 
/*/
     int number_of_arguments=2;
     zval ** arguments[2];
Index: php4/ext/dbx/dbx_mysql.h
diff -u php4/ext/dbx/dbx_mysql.h:1.3 php4/ext/dbx/dbx_mysql.h:1.4
--- php4/ext/dbx/dbx_mysql.h:1.3        Fri Mar 23 02:23:58 2001
+++ php4/ext/dbx/dbx_mysql.h    Fri Mar 23 06:50:17 2001
@@ -43,7 +43,7 @@
     /*/ returns column-name as string on success or 0 as long on failure /*/
 int dbx_mysql_getcolumntype(zval ** rv, zval ** result_handle, long column_index, 
INTERNAL_FUNCTION_PARAMETERS);
     /*/ returns column-type as string on success or 0 as long on failure /*/
-int dbx_mysql_getrow(zval ** rv, zval ** result_handle, INTERNAL_FUNCTION_PARAMETERS);
+int dbx_mysql_getrow(zval ** rv, zval ** result_handle, long row_number, 
+INTERNAL_FUNCTION_PARAMETERS);
     /*/ returns array[0..columncount-1] as strings on success or 0 as long on failure 
/*/
 int dbx_mysql_error(zval ** rv, zval ** dbx_handle, INTERNAL_FUNCTION_PARAMETERS);
     /*/ returns string /*/
Index: php4/ext/dbx/dbx_odbc.c
diff -u php4/ext/dbx/dbx_odbc.c:1.3 php4/ext/dbx/dbx_odbc.c:1.4
--- php4/ext/dbx/dbx_odbc.c:1.3 Fri Mar 23 02:23:58 2001
+++ php4/ext/dbx/dbx_odbc.c     Fri Mar 23 06:50:17 2001
@@ -173,7 +173,7 @@
     return 1;
     }
 
-int dbx_odbc_getrow(zval ** rv, zval ** result_handle, INTERNAL_FUNCTION_PARAMETERS) {
+int dbx_odbc_getrow(zval ** rv, zval ** result_handle, long row_number, 
+INTERNAL_FUNCTION_PARAMETERS) {
     /*/ returns array[0..columncount-1] as strings on success or 0 as long on failure 
/*/
     int number_of_arguments;
     zval ** arguments[2];
Index: php4/ext/dbx/dbx_odbc.h
diff -u php4/ext/dbx/dbx_odbc.h:1.3 php4/ext/dbx/dbx_odbc.h:1.4
--- php4/ext/dbx/dbx_odbc.h:1.3 Fri Mar 23 02:23:58 2001
+++ php4/ext/dbx/dbx_odbc.h     Fri Mar 23 06:50:17 2001
@@ -43,7 +43,7 @@
     /*/ returns column-name as string on success or 0 as long on failure /*/
 int dbx_odbc_getcolumntype(zval ** rv, zval ** result_handle, long column_index, 
INTERNAL_FUNCTION_PARAMETERS);
     /*/ returns column-type as string on success or 0 as long on failure /*/
-int dbx_odbc_getrow(zval ** rv, zval ** result_handle, INTERNAL_FUNCTION_PARAMETERS);
+int dbx_odbc_getrow(zval ** rv, zval ** result_handle, long row_number, 
+INTERNAL_FUNCTION_PARAMETERS);
     /*/ returns array[0..columncount-1] as strings on success or 0 as long on failure 
/*/
 int dbx_odbc_error(zval ** rv, zval ** dbx_handle, INTERNAL_FUNCTION_PARAMETERS);
     /*/ returns string /*/
Index: php4/ext/dbx/dbx_pgsql.c
diff -u php4/ext/dbx/dbx_pgsql.c:1.2 php4/ext/dbx/dbx_pgsql.c:1.3
--- php4/ext/dbx/dbx_pgsql.c:1.2        Fri Mar 23 05:40:12 2001
+++ php4/ext/dbx/dbx_pgsql.c    Fri Mar 23 06:50:17 2001
@@ -20,13 +20,13 @@
 #include "php_dbx.h"
 #include "dbx_pgsql.h"
 #include <string.h>
-
+/*
 #ifdef ZTS
 extern int dbx_globals_id;
 #else
 extern ZEND_DBX_API zend_dbx_globals dbx_globals;
 #endif
-
+*/
 #define PGSQL_ASSOC            1<<0
 #define PGSQL_NUM              1<<1
 
@@ -153,7 +153,7 @@
                return 0;
        }
     MOVE_RETURNED_TO_RV(rv, returned_zval);
-
+/*
        if(strstr(Z_STRVAL_PP(sql_statement), "SELECT") ||
           strstr(Z_STRVAL_PP(sql_statement), "select")){
                DBXG(row_count) = 0;
@@ -163,7 +163,7 @@
                dbx_call_any_function(INTERNAL_FUNCTION_PARAM_PASSTHRU, "pg_numrows", 
&num_rows_zval, nargs, args);
                DBXG(num_rows) = Z_LVAL_P(num_rows_zval);
        } 
-
+*/
     return 1;
 }
 
@@ -229,7 +229,7 @@
     return 1;
 }
 
-int dbx_pgsql_getrow(zval ** rv, zval ** result_handle, INTERNAL_FUNCTION_PARAMETERS) 
{
+int dbx_pgsql_getrow(zval ** rv, zval ** result_handle, long row_number, 
+INTERNAL_FUNCTION_PARAMETERS) {
     /* returns array[0..columncount-1] as strings on success or 0 
           as long on failure */
     int number_of_arguments=2;
@@ -238,13 +238,15 @@
     zval * returned_zval=NULL;
        
     MAKE_STD_ZVAL(zval_row);
-    ZVAL_LONG(zval_row, DBXG(row_count));
+    ZVAL_LONG(zval_row, row_number);
     arguments[0]=result_handle;
     arguments[1]=&zval_row;
+/*
        DBXG(row_count)++;
        if (DBXG(row_count)>DBXG(num_rows)){
                return 0;
        }
+*/
     dbx_call_any_function(INTERNAL_FUNCTION_PARAM_PASSTHRU, "pg_fetch_array", 
&returned_zval, number_of_arguments, arguments);
     if (!returned_zval || returned_zval->type!=IS_ARRAY) {
         if (returned_zval) zval_ptr_dtor(&returned_zval);
Index: php4/ext/dbx/dbx_pgsql.h
diff -u php4/ext/dbx/dbx_pgsql.h:1.2 php4/ext/dbx/dbx_pgsql.h:1.3
--- php4/ext/dbx/dbx_pgsql.h:1.2        Fri Mar 23 05:40:12 2001
+++ php4/ext/dbx/dbx_pgsql.h    Fri Mar 23 06:50:17 2001
@@ -39,7 +39,7 @@
     /*/ returns column-name as string on success or 0 as long on failure /*/
 int dbx_pgsql_getcolumntype(zval ** rv, zval ** result_handle, long column_index, 
INTERNAL_FUNCTION_PARAMETERS);
     /*/ returns column-type as string on success or 0 as long on failure /*/
-int dbx_pgsql_getrow(zval ** rv, zval ** result_handle, INTERNAL_FUNCTION_PARAMETERS);
+int dbx_pgsql_getrow(zval ** rv, zval ** result_handle, long row_number, 
+INTERNAL_FUNCTION_PARAMETERS);
     /*/ returns array[0..columncount-1] as strings on success or 0 as long on failure 
/*/
 int dbx_pgsql_error(zval ** rv, zval ** dbx_handle, INTERNAL_FUNCTION_PARAMETERS);
     /*/ returns string /*/
Index: php4/ext/dbx/php_dbx.h
diff -u php4/ext/dbx/php_dbx.h:1.4 php4/ext/dbx/php_dbx.h:1.5
--- php4/ext/dbx/php_dbx.h:1.4  Fri Mar 23 03:50:04 2001
+++ php4/ext/dbx/php_dbx.h      Fri Mar 23 06:50:17 2001
@@ -58,11 +58,12 @@
        Declare any global variables you may need between the BEGIN
        and END macros here:     
 */
+/*
 ZEND_BEGIN_MODULE_GLOBALS(dbx)
         int row_count;
         int num_rows;
 ZEND_END_MODULE_GLOBALS(dbx)
-
+*/
 /* In every function that needs to use variables in php_dbx_globals,
    do call dbxLS_FETCH(); after declaring other variables used by
    that function, and always refer to them as dbxG(variable).

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]

Reply via email to