yohgaki         Tue Oct  1 23:16:36 2002 EDT

  Modified files:              
    /php4/ext/pgsql     pgsql.c php_pgsql.h 
  Log:
  Added pg_data_seek(). 
  pg_result_seek() woudl be better name, but there is mysql_data_seek()...
  
  
Index: php4/ext/pgsql/pgsql.c
diff -u php4/ext/pgsql/pgsql.c:1.226 php4/ext/pgsql/pgsql.c:1.227
--- php4/ext/pgsql/pgsql.c:1.226        Tue Oct  1 22:41:21 2002
+++ php4/ext/pgsql/pgsql.c      Tue Oct  1 23:16:34 2002
@@ -19,7 +19,7 @@
    +----------------------------------------------------------------------+
  */
  
-/* $Id: pgsql.c,v 1.226 2002/10/02 02:41:21 yohgaki Exp $ */
+/* $Id: pgsql.c,v 1.227 2002/10/02 03:16:34 yohgaki Exp $ */
 
 #include <stdlib.h>
 
@@ -100,6 +100,7 @@
        PHP_FE(pg_fetch_array,  NULL)
        PHP_FE(pg_fetch_object, NULL)
        PHP_FE(pg_fetch_all,    NULL)
+       PHP_FE(pg_data_seek,    NULL)
        PHP_FE(pg_affected_rows,NULL)
        PHP_FE(pg_get_result,   NULL)
        PHP_FE(pg_result_status,NULL)
@@ -1415,6 +1416,37 @@
        }
 }
 /* }}} */
+
+/* {{{ proto mixed pg_data_seek(resource result, int offset)
+   Set internal row offset */
+PHP_FUNCTION(pg_data_seek)
+{
+       zval *result;
+       int row;
+       PGresult *pgsql_result;
+       pgsql_result_handle *pg_result;
+
+       if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "r|l",
+                                                         &result, &row) == FAILURE) {
+               return;
+       }
+
+       ZEND_FETCH_RESOURCE(pg_result, pgsql_result_handle *, &result, -1, "PostgreSQL 
+result", le_result);
+
+       /* Let see if we are better to have another function for this */
+       /* if offset is omitted, return current position */
+/*     if (ZEND_NUM_ARGS() == 1) */
+/*             RETURN_LONG(pg_result->row); */
+
+       if (row < 0 || row >= PQntuples(pg_result))
+               RETURN_FALSE;
+       
+       /* seek to offset */
+       pg_result->row = row;
+       RETURN_TRUE;
+}
+/* }}} */
+
 
 #define PHP_PG_DATA_LENGTH 1
 #define PHP_PG_DATA_ISNULL 2
Index: php4/ext/pgsql/php_pgsql.h
diff -u php4/ext/pgsql/php_pgsql.h:1.50 php4/ext/pgsql/php_pgsql.h:1.51
--- php4/ext/pgsql/php_pgsql.h:1.50     Tue Oct  1 22:41:21 2002
+++ php4/ext/pgsql/php_pgsql.h  Tue Oct  1 23:16:35 2002
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
  */
  
-/* $Id: php_pgsql.h,v 1.50 2002/10/02 02:41:21 yohgaki Exp $ */
+/* $Id: php_pgsql.h,v 1.51 2002/10/02 03:16:35 yohgaki Exp $ */
 
 #ifndef PHP_PGSQL_H
 #define PHP_PGSQL_H
@@ -83,6 +83,7 @@
 PHP_FUNCTION(pg_fetch_result);
 PHP_FUNCTION(pg_fetch_row);
 PHP_FUNCTION(pg_fetch_all);
+PHP_FUNCTION(pg_data_seek);
 PHP_FUNCTION(pg_affected_rows);
 PHP_FUNCTION(pg_get_result);
 PHP_FUNCTION(pg_result_status);



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

Reply via email to