]> granicus.if.org Git - php/commitdiff
- Move ext/ovrimos to PECL.
authorDerick Rethans <derick@php.net>
Mon, 22 Jan 2007 19:51:38 +0000 (19:51 +0000)
committerDerick Rethans <derick@php.net>
Mon, 22 Jan 2007 19:51:38 +0000 (19:51 +0000)
NEWS
ext/ovrimos/CREDITS [deleted file]
ext/ovrimos/config.m4 [deleted file]
ext/ovrimos/ovrimos.c [deleted file]
ext/ovrimos/php_ovrimos.h [deleted file]

diff --git a/NEWS b/NEWS
index dae3965986c7a5cbd0764145e0dbac1abb642e8b..e013c9bf5d5f1f9eae2638b4ce6cd649d4b796af 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -6,6 +6,9 @@ PHP 4                                                                      NEWS
 - Fixed bug #36248 (CURLOPT_HEADERFUNCTION, couldn't set the function in the
   class). (Ilia)
 
+- Moved extensions to PECL:
+  . ext/ovrimos (Derick)
+
 04 Jan 2007, Version 4.4.5RC1
 - Added a meta tag to phpinfo() output to prevent search engines from 
   indexing the page. (Ilia)
diff --git a/ext/ovrimos/CREDITS b/ext/ovrimos/CREDITS
deleted file mode 100644 (file)
index b8c4b75..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-Ovrimos
-Nikos Mavroyanopoulos
diff --git a/ext/ovrimos/config.m4 b/ext/ovrimos/config.m4
deleted file mode 100644 (file)
index e22148e..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-dnl
-dnl $Id$
-dnl
-
-PHP_ARG_WITH(ovrimos, for Ovrimos SQL Server support,
-[  --with-ovrimos[=DIR]    Include Ovrimos SQL Server support. DIR is the
-                          Ovrimos libsqlcli install directory.])
-
-if test "$PHP_OVRIMOS" != "no"; then
-  for i in $PHP_OVRIMOS /usr/local /usr; do
-    test -f $i/include/sqlcli.h && OVRIMOS_DIR=$i && break
-  done
-
-  if test -z "$OVRIMOS_DIR"; then
-    AC_MSG_ERROR(Please reinstall Ovrimos' libsqlcli - I cannot find sqlcli.h)
-  fi
-
-  PHP_ADD_INCLUDE($OVRIMOS_DIR/include)
-  LDFLAGS="$LDFLAGS $ld_runpath_switch$OVRIMOS_DIR/lib -L$OVRIMOS_DIR/lib"
-  AC_CHECK_LIB(sqlcli, main)
-  PHP_ADD_LIBRARY_WITH_PATH(sqlcli, $OVRIMOS_DIR/lib, OVRIMOS_SHARED_LIBADD)
-
-  PHP_NEW_EXTENSION(ovrimos, ovrimos.c, $ext_shared)
-  PHP_SUBST(OVRIMOS_SHARED_LIBADD)
-  AC_DEFINE(HAVE_LIBSQLCLI,1,[ ])
-fi
diff --git a/ext/ovrimos/ovrimos.c b/ext/ovrimos/ovrimos.c
deleted file mode 100644 (file)
index e6ce8a6..0000000
+++ /dev/null
@@ -1,1326 +0,0 @@
-/*
-   +----------------------------------------------------------------------+
-   | PHP Version 4                                                        |
-   +----------------------------------------------------------------------+
-   | Copyright (c) 1997-2007 The PHP Group                                |
-   +----------------------------------------------------------------------+
-   | This source file is subject to version 3.01 of the PHP license,       |
-   | that is bundled with this package in the file LICENSE, and is        |
-   | available through the world-wide-web at the following url:           |
-   | http://www.php.net/license/3_01.txt                                  |
-   | If you did not receive a copy of the PHP license and are unable to   |
-   | obtain it through the world-wide-web, please send a note to          |
-   | license@php.net so we can mail you a copy immediately.               |
-   +----------------------------------------------------------------------+
-   | Authors: Dimitris Souflis, Nikos Mavroyanopoulos                     |
-   |          for Ovrimos S.A.                                            |
-   |                                                                      |
-   | Contact support@ovrimos.com for questions regarding this module      |
-   +----------------------------------------------------------------------+
-*/
-
-/* $Id$ */
-
-#include <php.h>
-#include <php_globals.h>
-#include <zend_API.h>
-#include "ext/standard/php_standard.h"
-#include "ext/standard/info.h"
-#include <sqlcli.h> /* ovrimos header 
-                     */
-
-#ifndef WIN32 /* stricmp is defined in sqlcli */
-# define stricmp strcasecmp
-#endif
-
-
-PHP_MINFO_FUNCTION(ovrimos)
-{
-       php_printf("&quot;Ovrimos&quot; module<br />\n");
-}
-
-/* Main User Functions 
- */
-/* ovrimos_connect() currently does not support secure (SSL/TLS) connections.
- * As an alternative you can use the unixODBC driver available at 
- * http://www.ovrimos.com/download which supports SSL.
- * Contact support@ovrimos.com for more information.
- */
-
-/* 2001-07-27: ovrimos_close_all() function was removed in order 
- * for this module to be reentrant.
- */
-
-
-/* structures introduced in order to support the old ovrimos-php-api with 
- * the new multi-threaded library (old works with the old library). 
- * This version is reentrant.
- *
- * The only limitation is that a connection ( as returned by ovrimos_connect()) 
- * may only be accessed by one thread (but this is the case in php now).
- */
-
-typedef struct {
-       SQLS statement;
-       int longreadlen;
-       struct _CON_STATE* con_state;
-} STATEMENT;
-
-typedef struct _CON_STATE {
-       SQLH connection;
-       STATEMENT * statements;
-       int nstatements;
-} CON_STATE;
-
-typedef STATEMENT* PSTATEMENT;
-typedef CON_STATE* PCON_STATE;
-
-static void column_to_string(SQLS stmt, int i, char *buffer, int *len, PSTATEMENT pstmt);
-
-/* {{{ proto int ovrimos_connect(string host, string db, string user, string password)
-   Connect to an Ovrimos database */
-PHP_FUNCTION(ovrimos_connect)
-{
-       pval *arg1, *arg2, *arg3, *arg4;
-       PCON_STATE state;
-       SQLH conn = 0;
-       
-       if (ARG_COUNT(ht) != 4
-           || getParameters(ht, 4, &arg1, &arg2, &arg3, &arg4) == FAILURE) {
-               WRONG_PARAM_COUNT;
-       }
-       convert_to_string(arg1);
-       convert_to_string(arg2);
-       convert_to_string(arg3);
-       convert_to_string(arg4);
-
-       if (!sqlConnect
-           (Z_STRVAL_P(arg1), Z_STRVAL_P(arg2), Z_STRVAL_P(arg3),
-            Z_STRVAL_P(arg4), &conn, 0)) {
-               RETURN_LONG(0);
-       }
-       
-       state = ecalloc( 1, sizeof(CON_STATE));
-       if (state==NULL) RETURN_FALSE;
-
-       state->connection = conn;
-       state->statements = NULL;
-       state->nstatements = 0;
-
-       RETURN_LONG( (long)state);
-}
-
-/* }}} */
-
-/* {{{ proto void ovrimos_close(int connection)
-   Close a connection */
-PHP_FUNCTION(ovrimos_close)
-{
-       pval *arg1;
-       int i;
-       PCON_STATE state;
-
-       if (ARG_COUNT(ht) != 1 || getParameters(ht, 1, &arg1) == FAILURE
-           || Z_TYPE_P(arg1) != IS_LONG) {
-               WRONG_PARAM_COUNT;
-       }
-
-       state = (PCON_STATE) Z_LVAL_P(arg1);
-
-       /* free all the statements associated with 
-        * the connection. (called results in php)
-        */
-
-       for (i=0;i < state->nstatements;i++) {
-               if ( state->statements[i].statement!=NULL) {
-                       sqlFreeStmt( state->statements[i].statement);
-               }
-       }
-       if (state->statements!=NULL)
-               efree( state->statements);
-
-       /* close the SQL_Handle
-        */
-       sqlDisconnect( state->connection);
-
-       efree( state);
-       
-       return;
-}
-
-/* }}} */
-
-
-/* {{{ proto int ovrimos_longreadlen(int result_id, int length)
-   Handle LONG columns */
-PHP_FUNCTION(ovrimos_longreadlen)
-{
-       pval *arg1, *arg2;
-       PSTATEMENT stmt;
-       
-       if (getParameters(ht, 2, &arg1, &arg2) == FAILURE) {
-               WRONG_PARAM_COUNT;
-       }
-       convert_to_long(arg1);
-       convert_to_long(arg2);
-
-       stmt = (PSTATEMENT) Z_LVAL_P(arg1);
-
-       stmt->longreadlen = Z_LVAL_P(arg2);
-       RETURN_TRUE;
-}
-
-/* }}} */
-
-#define DEFAULT_LONGREADLEN 0
-
-/* These two functions are quite expensive. Some optimization may be
- * done in a later version.
- */
-static int local_sqlAllocStmt( PCON_STATE state, SQLH conn, SQLS *stmt, PSTATEMENT* pstmt) {
-int index, ret;
-       
-       ret = sqlAllocStmt( conn, stmt);
-       if (!ret) return ret;
-
-       state->nstatements++;
-       state->statements = erealloc( state->statements,
-               state->nstatements*sizeof( STATEMENT));
-
-       if (state->statements==NULL) return 0;
-
-       index = state->nstatements - 1;
-       state->statements[ index].statement = (*stmt);
-       state->statements[ index].longreadlen = DEFAULT_LONGREADLEN;
-       state->statements[ index].con_state = state;
-
-       *pstmt = &state->statements[ index];
-               
-       return 1;
-}
-
-static int local_sqlFreeStmt( PSTATEMENT statement, SQLS stmt) {
-int j, i;
-PSTATEMENT new_statements;
-PCON_STATE state = statement->con_state;
-
-       sqlFreeStmt( stmt);
-
-       if (state->nstatements-1 == 0) {
-               efree( state->statements);
-               state->statements = NULL;
-               state->nstatements--;
-               
-               return 1;
-       }
-       
-       new_statements = emalloc( (state->nstatements-1) * sizeof(STATEMENT));
-       if (new_statements==NULL) return 0;
-       
-       for (i=j=0;i<state->nstatements;i++) {
-               if (state->statements->statement != stmt) {
-                       new_statements[j].statement = state->statements[i].statement;
-                       new_statements[j].longreadlen = state->statements[i].longreadlen;
-                       new_statements[j++].con_state = state->statements[i].con_state;
-               }
-       }
-
-       efree( state->statements);
-       state->statements = new_statements;
-       state->nstatements--;
-
-       return 1; /* true */
-}
-
-/* {{{ proto int ovrimos_prepare(int connection_id, string query)
-   Prepares a statement for execution */
-PHP_FUNCTION(ovrimos_prepare)
-{
-       pval *arg1, *arg2;
-       SQLH conn;
-       char *query;
-       SQLS stmt;
-       PCON_STATE state;
-       PSTATEMENT pstmt;
-
-       if (getParameters(ht, 2, &arg1, &arg2) == FAILURE) {
-               WRONG_PARAM_COUNT;
-       }
-       convert_to_long(arg1);
-       convert_to_string(arg2);
-       
-       state = (PCON_STATE) Z_LVAL_P(arg1);
-
-       conn = (SQLH) state->connection;
-       query = Z_STRVAL_P(arg2);
-
-       if (!local_sqlAllocStmt( state, conn, &stmt, &pstmt)) {
-               RETURN_FALSE;
-       }
-       if (!sqlPrepare(stmt, query)) {
-               local_sqlFreeStmt( pstmt, stmt);
-               RETURN_FALSE;
-       }
-       if (!sqlGetOutputColDescr(stmt)) {
-               local_sqlFreeStmt( pstmt, stmt);
-               RETURN_FALSE;
-       }
-       if (!sqlGetParamDescr(stmt)) {
-               local_sqlFreeStmt( pstmt, stmt);
-               RETURN_FALSE;
-       }
-
-       /* returns a result id which is actually a
-        * pointer to a STATEMENT structure;
-        */
-       RETURN_LONG( (long)pstmt);
-}
-
-/* }}} */
-
-/*
- * Execute prepared SQL statement. Supports only input parameters.
- */
-/* {{{ proto int ovrimos_execute(int result_id [, array parameters_array])
-   Execute a prepared statement */
-PHP_FUNCTION(ovrimos_execute)
-{
-       pval *arg1, *arg2;
-       SQLS stmt;
-       int numArgs;
-       int icol, colnb;
-       PSTATEMENT pstmt;
-
-       numArgs = ARG_COUNT(ht);
-       
-       if (getParameters(ht, numArgs, &arg1, &arg2) == FAILURE) {
-               WRONG_PARAM_COUNT;
-       }
-
-       convert_to_long(arg1);
-       pstmt = (PSTATEMENT) Z_LVAL_P(arg1);
-
-       stmt = pstmt->statement;
-       colnb = sqlGetParamNb(stmt);
-
-       if (colnb != 0) {
-               pval **tmp;
-               int arr_elem;
-
-               if (Z_TYPE_P(arg2) != IS_ARRAY) {
-                       php_error(E_WARNING,
-                                 "Not an array in call to ovrimos_execute()");
-                       RETURN_FALSE;
-               }
-               arr_elem = zend_hash_num_elements(Z_ARRVAL_P(arg2));
-               if (arr_elem < colnb) {
-                       php_error(E_WARNING,
-                                 "Not enough parameters in call to ovrimos_execute(): %d instead of %d",
-                                 arr_elem, colnb);
-                       RETURN_FALSE;
-               }
-
-               zend_hash_internal_pointer_reset(Z_ARRVAL_P(arg2));
-
-               for (icol = 0; icol < colnb; icol++) {
-                       int len;
-                       cvt_error err;
-                       bool ret;
-                       char *msg;
-                       char buffer[10240];
-                       sql_type to_type = sqlGetParamSQLType(stmt, icol);
-                       sql_type from_type;
-
-                       if (zend_hash_get_current_data
-                           (Z_ARRVAL_P(arg2), (void **) &tmp) == FAILURE) {
-                               php_error(E_WARNING,
-                                         "Error getting parameter %d in call to ovrimos_execute()",
-                                         icol);
-                               RETURN_FALSE;
-                       }
-                       convert_to_string(*tmp);
-                       if (Z_TYPE_PP(tmp) != IS_STRING) {
-                               php_error(E_WARNING,
-                                         "Error converting parameter %d to string in call to ovrimos_execute()",
-                                         icol);
-                               RETURN_FALSE;
-                       }
-
-                       /* PHP data to param type */
-                       Z_TYPE(from_type) = T_VARCHAR;
-                       from_type.u.length = Z_STRLEN_PP(tmp);
-
-                       *buffer = 0;
-                       memcpy(buffer + 1, Z_STRVAL_PP(tmp),
-                              from_type.u.length);
-                       buffer[from_type.u.length + 1] = 0;
-
-                       ret =
-                           type_convert(buffer, &from_type, &to_type, 0,
-                                        &err);
-                       switch (err) {
-                       case cvt_trunc:
-                               msg = "Data truncated";
-                               break;
-                       case cvt_range:
-                               msg = "Numeric value out of range";
-                               break;
-                       case cvt_prec:
-                               msg = "Precision lost";
-                               break;
-                       case cvt_incomp:
-                               msg =
-                                   "Restricted data type attribute violation";
-                               break;
-                       case cvt_no:
-                               msg = "Conversion failed";
-                               break;
-                       default:
-                               msg = "Unknown error";
-                               break;
-                       }
-                       if (!ret) {
-                               php_error(E_WARNING,
-                                         "Error converting parameter %d: %s in call to ovrimos_execute()",
-                                         icol, msg);
-                               RETURN_FALSE;
-                       }
-
-                       len = sql_type_size(to_type) - 1;
-                       if (!sqlPutParam(stmt, icol, buffer + 1, len)) {
-                               php_error(E_WARNING,
-                                         "Could send parameter %d (%d bytes) in call to ovrimos_execute()",
-                                         icol, len);
-                               RETURN_FALSE;
-                       }
-               }
-       }
-
-       if (!sqlExec(stmt)) {
-               RETURN_FALSE;
-       }
-
-       RETURN_TRUE;
-}
-
-/* }}} */
-
-/* {{{ proto string ovrimos_cursor(int result_id)
-   Get cursor name */
-PHP_FUNCTION(ovrimos_cursor)
-{
-       char cname[126];
-       pval *arg1;
-       SQLS stmt;
-       PSTATEMENT pstmt;
-       
-       if (getParameters(ht, 1, &arg1) == FAILURE) {
-               WRONG_PARAM_COUNT;
-       }
-       convert_to_long(arg1);
-
-       pstmt = (PSTATEMENT) Z_LVAL_P(arg1);
-       stmt = pstmt->statement;
-
-       if (!sqlGetCursorName(stmt, cname)) {
-               RETURN_FALSE;
-       }
-       RETURN_STRING(cname, 1);
-}
-
-/* }}} */
-
-/* This function returns a result id. The result ID is
- * a pointer to a STATEMENT structure.
- * Every result is mapped to a statement.
- */
-/* {{{ proto int ovrimos_exec(int connection_id, string query)
-   Prepare and execute an SQL statement */
-PHP_FUNCTION(ovrimos_exec)
-{
-       pval *arg1, *arg2;
-       SQLH conn;
-       SQLS stmt;
-       int numArgs;
-       char *query;
-       PSTATEMENT pstmt;
-       PCON_STATE state;
-       
-       numArgs = ARG_COUNT(ht);
-       if (getParameters(ht, 2, &arg1, &arg2) == FAILURE) {
-               WRONG_PARAM_COUNT;
-       }
-
-       convert_to_long(arg1);
-       convert_to_string(arg2);
-
-       state = (PCON_STATE) Z_LVAL_P(arg1);
-       conn = state->connection;
-       query = Z_STRVAL_P(arg2);
-
-       if (!local_sqlAllocStmt( state, conn, &stmt, &pstmt)) {
-               RETURN_FALSE;
-       }
-
-       if (!sqlExecDirect(stmt, query)) {
-               local_sqlFreeStmt( pstmt, stmt);
-               RETURN_FALSE;
-       }
-       if (!sqlGetOutputColDescr(stmt)) {
-               local_sqlFreeStmt( pstmt, stmt);
-               RETURN_FALSE;
-       }
-       if (!sqlGetParamDescr(stmt)) {
-               local_sqlFreeStmt( pstmt, stmt);
-               RETURN_FALSE;
-       }
-
-       RETURN_LONG( (long)pstmt);
-}
-
-/* }}} */
-
-/* {{{ column_to_string
- */
-static void column_to_string(SQLS stmt, int i, char *buffer, int *len, PSTATEMENT pstmt)
-{
-       const char *bf = sqlColValue(stmt, i, 0);
-       int longreadlen;
-       
-       longreadlen = pstmt->longreadlen;
-       
-       switch (sqlGetOutputColType(stmt, i)) {
-       case T_BIGINT:
-       case T_UBIGINT:{
-                       switch (sqlGetOutputColType(stmt, i)) {
-                       case T_BIGINT:
-                               printsint64(Read(sint64, bf), buffer);
-                               break;
-                       case T_UBIGINT:
-                               printuint64(Read(uint64, bf), buffer);
-                               break;
-                       }
-                       *len = strlen(buffer);
-               }
-               break;
-       case T_INTEGER:
-               sprintf(buffer, "%11d", Read(sint32, bf));
-               *len = strlen(buffer);
-               break;
-       case T_UINTEGER:
-               sprintf(buffer, "%10u", Read(uint32, bf));
-               *len = strlen(buffer);
-               break;
-       case T_SMALLINT:
-               sprintf(buffer, "%6hd", Read(sint16, bf));
-               *len = strlen(buffer);
-               break;
-       case T_USMALLINT:
-               sprintf(buffer, "%5hu", Read(uint16, bf));
-               *len = strlen(buffer);
-               break;
-       case T_TINYINT:
-               sprintf(buffer, "%4hd", (sint16) Read(sint8, bf));
-               *len = strlen(buffer);
-               break;
-       case T_UTINYINT:
-               sprintf(buffer, "%3hu", (uint16) Read(uint8, bf));
-               *len = strlen(buffer);
-               break;
-       case T_BIT:
-               sprintf(buffer, "%s",
-                       (Read(uint8, bf) == 0) ? "off" : "on");
-               *len = strlen(buffer);
-               break;
-       case T_REAL:
-               sprintf(buffer, "%9.7g", (double) Read(float, bf));
-               *len = strlen(buffer);
-               break;
-
-       case T_FLOAT:
-       case T_DOUBLE:
-               sprintf(buffer, "%19.17g", Read(double, bf));
-               *len = strlen(buffer);
-               break;
-       case T_DECIMAL:
-       case T_NUMERIC:{
-                       int prec = sqlGetOutputColPrecision(stmt, i);
-                       int scale = sqlGetOutputColScale(stmt, i);
-                       sprintf(buffer, "%*.*f", prec + 2, scale,
-                               Read(double, bf));
-                       *len = strlen(buffer);
-               } break;
-       case T_CHAR:
-       case T_VARCHAR:
-               strcpy(buffer, bf);
-               *len = strlen(buffer);
-               break;
-       case T_UNI_CHAR:
-       case T_UNI_VARCHAR:
-               uni_strcpy((uni_char *) buffer, (uni_char *) bf);
-               *len = uni_strlen((uni_char *) buffer);
-               break;
-       case T_BINARY:{
-                       int sz = sqlGetOutputColLength(stmt, i);
-                       memcpy(buffer, bf, sz);
-                       *len = sz;
-               } break;
-
-       case T_VARBINARY:{
-                       int sz = Read(uint16, bf);
-                       memcpy(buffer, bf + 2, sz);
-                       *len = sz;
-               } break;
-
-       case T_DATE:{
-                       if (!sql_date_to_str((uint32 *) bf, buffer)) {
-                               strcpy(buffer, "Error!");
-                       }
-               }
-               break;
-
-       case T_TIME:{
-                       int prec = sqlGetOutputColPrecision(stmt, i);
-                       if (!sql_time_to_str
-                           ((uint32 *) bf, prec, 0, buffer)) {
-                               strcpy(buffer, "Error!");
-                       }
-               }
-               break;
-
-       case T_TIMESTAMP:{
-                       int prec = sqlGetOutputColPrecision(stmt, i);
-                       if (!sql_timestamp_to_str
-                           ((uint32 *) bf, prec, 0, buffer)) {
-                               strcpy(buffer, "Error!");
-                       }
-
-               }
-               break;
-
-       case T_LONGVARCHAR:
-       case T_LONGVARBINARY:{
-                       if (longreadlen == 0) {
-                               *buffer = 0;
-                               *len = 0;
-                       } else
-                           if (!sqlColValueLong
-                               (stmt, i, 0, 0, longreadlen, buffer, len)) {
-                               strcpy(buffer, "Error!");
-                       }
-               }
-               break;
-       }
-}
-/* }}} */
-
-/* {{{ proto int ovrimos_fetch_into(int result_id, array result_array [, string how, [int rownumber]])
-   Fetch one result row into an array
-   how: 'Next' (default), 'Prev', 'First', 'Last', 'Absolute'
-   */
-PHP_FUNCTION(ovrimos_fetch_into)
-{
-       int numArgs;
-       char *s_how;
-       typedef enum { h_next = 0, h_prev, h_first, h_last, h_absolute
-       } h_type;
-       h_type how = h_next;    /* default */
-       sint32 rownum = 0;
-       pval *arg_id, *arg_how = 0, *arg_row = 0, *arr, *tmp;
-       SQLS stmt;
-       PSTATEMENT pstmt;
-       int icol, colnb;
-       bool ret=0;
-       numArgs = ARG_COUNT(ht);
-
-       switch (numArgs) {
-       case 2:
-               if (getParameters(ht, 2, &arg_id, &arr) == FAILURE)
-                       WRONG_PARAM_COUNT;
-               break;
-       case 3:
-               if (getParameters(ht, 3, &arg_id, &arr, &arg_how) ==
-                   FAILURE) WRONG_PARAM_COUNT;
-               break;
-       case 4:
-               if (getParameters(ht, 4, &arg_id, &arr, &arg_how, &arg_row)
-                   == FAILURE)
-                       WRONG_PARAM_COUNT;
-               break;
-       default:
-               WRONG_PARAM_COUNT;
-       }
-
-       convert_to_long(arg_id);
-       pstmt = (PSTATEMENT) Z_LVAL_P(arg_id);
-
-       stmt = pstmt->statement;
-
-       if (arg_how != 0) {
-               if (Z_TYPE_P(arg_how) != IS_STRING) {
-                       php_error(E_WARNING,
-                                 "Third argument not string in ovrimos_fetch_into()");
-                       RETURN_FALSE;
-               }
-               s_how = Z_STRVAL_P(arg_how);
-               if (stricmp(s_how, "next") == 0) {
-                       how = h_next;
-               } else if (stricmp(s_how, "prev") == 0) {
-                       how = h_prev;
-               } else if (stricmp(s_how, "first") == 0) {
-                       how = h_first;
-               } else if (stricmp(s_how, "last") == 0) {
-                       how = h_last;
-               } else if (stricmp(s_how, "absolute") == 0) {
-                       how = h_absolute;
-               } else {
-                       php_error(E_WARNING,
-                                 "Third argument not valid in ovrimos_fetch_into()");
-                       RETURN_FALSE;
-               }
-               if (arg_row == 0 && how == h_absolute) {
-                       php_error(E_WARNING,
-                                 "Fourth argument is required for ABSOLUTE in ovrimos_fetch_into()");
-                       RETURN_FALSE;
-               }
-               if (arg_row != 0) {
-                       convert_to_long(arg_row);
-                       rownum = Z_LVAL_P(arg_row);
-                       switch (how) {
-                       case h_next:
-                       case h_prev:
-                               rownum--;       /* Next 1 should send FUNC_CURSOR_NEXT(0) */
-                               break;
-                       default:
-                               break;
-                       }
-               }
-       }
-
-       if (Z_TYPE_P(arr) != IS_ARRAY) {
-               if (array_init(arr) == FAILURE) {
-                       php_error(E_WARNING,
-                                 "Can't convert to type Array");
-                       RETURN_FALSE;
-               }
-       }
-       switch (how) {
-       case h_absolute:
-       case h_first:
-               ret = sqlCursorFirst(stmt, rownum);
-               break;
-       case h_last:
-               ret = sqlCursorLast(stmt, rownum);
-               break;
-       case h_next:
-               ret = sqlCursorNext(stmt, rownum);
-               break;
-       case h_prev:
-               ret = sqlCursorPrev(stmt, rownum);
-               break;
-       }
-       if (!ret) {
-               RETURN_FALSE;
-       }
-
-       colnb = sqlGetOutputColNb(stmt);
-       for (icol = 0; icol < colnb; icol++) {
-               int len;
-               char buffer[10240];
-               tmp = (pval *) emalloc(sizeof(pval));
-               tmp->refcount = 1;
-               Z_TYPE_P(tmp) = IS_STRING;
-               Z_STRLEN_P(tmp) = 0;
-
-               /* Produce column value in 'tmp' ... */
-
-               column_to_string(stmt, icol, buffer, &len, pstmt);
-               Z_STRLEN_P(tmp) = len;
-               Z_STRVAL_P(tmp) = estrndup(buffer, len);
-
-               zend_hash_index_update(Z_ARRVAL_P(arr), icol, &tmp,
-                                      sizeof(pval *), NULL);
-       }
-
-       RETURN_TRUE;
-}
-
-/* }}} */
-
-/* {{{ proto int ovrimos_fetch_row(int result_id [, int how, [int row_number]])
-   how: 'Next' (default), 'Prev', 'First', 'Last', 'Absolute'
-   Fetch a row */
-PHP_FUNCTION(ovrimos_fetch_row)
-{
-       int numArgs;
-       char *s_how;
-       typedef enum { h_next = 0, h_prev, h_first, h_last, h_absolute
-       } h_type;
-       h_type how = h_next;    /* default */
-       sint32 rownum = 0;
-       pval *arg_id, *arg_how = 0, *arg_row = 0;
-       SQLS stmt;
-       PSTATEMENT pstmt;
-       bool ret = 0;
-       numArgs = ARG_COUNT(ht);
-
-       switch (numArgs) {
-       case 1:
-               if (getParameters(ht, 1, &arg_id) == FAILURE)
-                       WRONG_PARAM_COUNT;
-               break;
-       case 2:
-               if (getParameters(ht, 2, &arg_id, &arg_how) == FAILURE)
-                       WRONG_PARAM_COUNT;
-               break;
-       case 3:
-               if (getParameters(ht, 3, &arg_id, &arg_how, &arg_row) ==
-                   FAILURE) WRONG_PARAM_COUNT;
-               break;
-       default:
-               WRONG_PARAM_COUNT;
-       }
-
-       convert_to_long(arg_id);
-
-       pstmt = (PSTATEMENT) Z_LVAL_P(arg_id);
-       stmt = (SQLS) pstmt->statement;
-
-       if (arg_how != 0) {
-               if (Z_TYPE_P(arg_how) != IS_STRING) {
-                       php_error(E_WARNING,
-                                 "Second argument not string in ovrimos_fetch_row()");
-                       RETURN_FALSE;
-               }
-               s_how = Z_STRVAL_P(arg_how);
-               if (stricmp(s_how, "next") == 0) {
-                       how = h_next;
-               } else if (stricmp(s_how, "prev") == 0) {
-                       how = h_prev;
-               } else if (stricmp(s_how, "first") == 0) {
-                       how = h_first;
-               } else if (stricmp(s_how, "last") == 0) {
-                       how = h_last;
-               } else if (stricmp(s_how, "absolute") == 0) {
-                       how = h_absolute;
-               } else {
-                       php_error(E_WARNING,
-                                 "Second argument not valid in ovrimos_fetch_row()");
-                       RETURN_FALSE;
-               }
-               if (arg_row == 0 && how == 4) {
-                       php_error(E_WARNING,
-                                 "Third argument is required for ABSOLUTE in ovrimos_fetch_row()");
-                       RETURN_FALSE;
-               }
-               if (arg_row != 0) {
-                       convert_to_long(arg_row);
-                       rownum = Z_LVAL_P(arg_row);
-                       switch (how) {
-                       case h_next:
-                       case h_prev:
-                               rownum--;       /* Next 1 should send FUNC_CURSOR_NEXT(0) */
-                               break;
-                       default:
-                               break;
-                       }
-               }
-       }
-
-       switch (how) {
-       case h_absolute:
-       case h_first:
-               ret = sqlCursorFirst(stmt, rownum);
-               break;
-       case h_last:
-               ret = sqlCursorLast(stmt, rownum);
-               break;
-       case h_next:
-               ret = sqlCursorNext(stmt, rownum);
-               break;
-       case h_prev:
-               ret = sqlCursorPrev(stmt, rownum);
-               break;
-       }
-       if (!ret) {
-               RETURN_FALSE;
-       }
-       RETURN_TRUE;
-}
-
-/* }}} */
-
-/* {{{ proto string ovrimos_result(int result_id, mixed field)
-   Get result data */
-PHP_FUNCTION(ovrimos_result)
-{
-       int numArgs = ARG_COUNT(ht);
-       pval *arg_id, *arg_field;
-       int icol=0, colnb;
-       SQLS stmt;
-       int len;
-       PSTATEMENT pstmt;
-       char buffer[1024];
-
-       if (numArgs != 2
-           || getParameters(ht, 2, &arg_id,
-                            &arg_field) == FAILURE) WRONG_PARAM_COUNT;
-
-       convert_to_long(arg_id);
-       pstmt = (PSTATEMENT) Z_LVAL_P(arg_id);
-       stmt = (SQLS) pstmt->statement;
-
-       colnb = sqlGetOutputColNb(stmt);
-
-       if (Z_TYPE_P(arg_field) == IS_STRING) {
-               int i;
-               for (i = 0; i < colnb; i++) {
-                       if (!stricmp
-                           (Z_STRVAL_P(arg_field),
-                            sqlGetOutputColName(stmt, i))) {
-                               icol = i;
-                               break;
-                       }
-               }
-       } else if (Z_TYPE_P(arg_field) == IS_LONG) {
-               icol = Z_LVAL_P(arg_field) - 1;
-       } else {
-               php_error(E_WARNING,
-                         "Second argument neither number nor string in ovrimos_result()");
-               RETURN_FALSE;
-       }
-       if (icol < 0 || icol > colnb) {
-               php_error(E_WARNING, "Unknown column in ovrimos_result()");
-               RETURN_FALSE;
-       }
-       column_to_string(stmt, icol, buffer, &len, pstmt);
-
-       RETURN_STRINGL(buffer, len, 1);
-}
-
-/* }}} */
-
-/* {{{ proto int ovrimos_result_all(int result_id [, string format])
-   Print result as HTML table */
-PHP_FUNCTION(ovrimos_result_all)
-{
-       long fetched = 0;
-       pval *arg1, *arg2;
-       int numArgs;
-       SQLS stmt;
-       int icol, colnb;
-       PSTATEMENT pstmt;
-       char buffer[1024];
-       int len;
-
-       numArgs = ARG_COUNT(ht);
-       if (numArgs == 1) {
-               if (getParameters(ht, 1, &arg1) == FAILURE)
-                       WRONG_PARAM_COUNT;
-       } else {
-               if (getParameters(ht, 2, &arg1, &arg2) == FAILURE)
-                       WRONG_PARAM_COUNT;
-       }
-
-       convert_to_long(arg1);
-       pstmt = (PSTATEMENT) Z_LVAL_P(arg1);
-       stmt = (SQLS) pstmt->statement;
-
-       colnb = sqlGetOutputColNb(stmt);
-
-       /* Start table tag */
-       if (numArgs == 1) {
-               php_printf("<table><tr>");
-       } else {
-               convert_to_string(arg2);
-               php_printf("<table %s ><tr>", Z_STRVAL_P(arg2));
-       }
-
-       for (icol = 0; icol < colnb; icol++) {
-               php_printf("<th>%s</th>", sqlGetOutputColName(stmt, icol));
-       }
-
-       php_printf("</tr>\n");
-
-       if (sqlCursorFirst(stmt, 0)) {
-               do {
-                       fetched++;
-                       php_printf("<tr>");
-                       for (icol = 0; icol < colnb; icol++) {
-                               column_to_string(stmt, icol, buffer, &len, pstmt);
-                               php_printf("<td>%s</td>", buffer);
-                       }
-                       php_printf("</tr>\n");
-               } while (sqlCursorNext(stmt, 0));
-       }
-       php_printf("</table>\n");
-
-       RETURN_LONG(fetched);
-}
-
-/* }}} */
-
-/* {{{ proto int ovrimos_free_result(int result_id)
-   Free resources associated with a result */
-PHP_FUNCTION(ovrimos_free_result)
-{
-       pval *arg1;
-       SQLS stmt;
-       PSTATEMENT pstmt;
-       
-       if (getParameters(ht, 1, &arg1) == FAILURE) {
-               WRONG_PARAM_COUNT;
-       }
-       convert_to_long(arg1);
-       pstmt = (PSTATEMENT) Z_LVAL_P(arg1);
-       stmt = (SQLS) pstmt->statement;
-
-       sqlCloseCursor( stmt);
-       local_sqlFreeStmt( pstmt, stmt);
-       RETURN_TRUE;
-}
-
-/* }}} */
-
-/* {{{ proto int ovrimos_num_rows(int result_id)
-   Get number of rows in a result */
-PHP_FUNCTION(ovrimos_num_rows)
-{
-       uint32 rows;
-       pval *arg1;
-       SQLS stmt;
-       PSTATEMENT pstmt;
-
-       if (getParameters(ht, 1, &arg1) == FAILURE) {
-               WRONG_PARAM_COUNT;
-       }
-
-       convert_to_long(arg1);
-       pstmt = (PSTATEMENT) Z_LVAL_P(arg1);
-       stmt = (SQLS) pstmt->statement;
-
-
-       sqlGetRowCount(stmt, &rows);
-       RETURN_LONG(rows);
-}
-
-/* }}} */
-
-/* {{{ proto int ovrimos_num_fields(int result_id)
-   Get number of columns in a result */
-PHP_FUNCTION(ovrimos_num_fields)
-{
-       pval *arg1;
-       SQLS stmt;
-       PSTATEMENT pstmt;
-
-       if (getParameters(ht, 1, &arg1) == FAILURE) {
-               WRONG_PARAM_COUNT;
-       }
-
-       convert_to_long(arg1);
-       pstmt = (PSTATEMENT) Z_LVAL_P(arg1);
-
-       stmt = (SQLS) pstmt->statement;
-
-       RETURN_LONG(sqlGetOutputColNb(stmt));
-}
-
-/* }}} */
-
-/* {{{ proto string ovrimos_field_name(int result_id, int field_number)
-   Get a column name */
-PHP_FUNCTION(ovrimos_field_name)
-{
-       pval *arg1, *arg2;
-       SQLS stmt;
-       int field;
-       PSTATEMENT pstmt;
-
-       if (getParameters(ht, 2, &arg1, &arg2) == FAILURE) {
-               WRONG_PARAM_COUNT;
-       }
-
-       convert_to_long(arg1);
-       convert_to_long(arg2);
-       pstmt = (PSTATEMENT) Z_LVAL_P(arg1);
-
-       stmt = (SQLS) pstmt->statement;
-
-
-       if (Z_LVAL_P(arg2) < 1) {
-               php_error(E_WARNING,
-                         "Field numbering starts at 1! in call to ovrimos_field_name()");
-               RETURN_FALSE;
-       }
-
-       field = Z_LVAL_P(arg2) - 1;
-
-       if (field >= sqlGetOutputColNb(stmt)) {
-               php_error(E_WARNING,
-                         "No field at this index (%d) in call to ovrimos_field_name()",
-                         field);
-               RETURN_FALSE;
-       }
-
-       RETURN_STRING((char *) sqlGetOutputColName(stmt, field), 1);
-}
-
-/* }}} */
-
-/* {{{ proto string ovrimos_field_type(int result_id, int field_number)
-   Get the datatype of a column */
-PHP_FUNCTION(ovrimos_field_type)
-{
-       pval *arg1, *arg2;
-       SQLS stmt;
-       int field;
-       PSTATEMENT pstmt;
-
-       if (getParameters(ht, 2, &arg1, &arg2) == FAILURE) {
-               WRONG_PARAM_COUNT;
-       }
-
-       convert_to_long(arg1);
-       convert_to_long(arg2);
-       pstmt = (PSTATEMENT) Z_LVAL_P(arg1);
-
-       stmt = (SQLS) pstmt->statement;
-
-       if (Z_LVAL_P(arg2) < 1) {
-               php_error(E_WARNING,
-                         "Field numbering starts at 1! in call to ovrimos_field_type()");
-               RETURN_FALSE;
-       }
-
-       field = Z_LVAL_P(arg2) - 1;
-
-       if (field >= sqlGetOutputColNb(stmt)) {
-               php_error(E_WARNING,
-                         "No field at this index (%d) in call to ovrimos_field_type()",
-                         field);
-               RETURN_FALSE;
-       }
-
-       RETURN_LONG(sqlGetOutputColType(stmt, field));
-}
-
-/* }}} */
-
-/* {{{ proto int ovrimos_field_len(int result_id, int field_number)
-   Get the length of a column */
-PHP_FUNCTION(ovrimos_field_len)
-{
-       pval *arg1, *arg2;
-       SQLS stmt;
-       int field;
-       PSTATEMENT pstmt;
-       int longreadlen;
-
-       if (getParameters(ht, 2, &arg1, &arg2) == FAILURE) {
-               WRONG_PARAM_COUNT;
-       }
-
-       convert_to_long(arg1);
-       convert_to_long(arg2);
-       pstmt = (PSTATEMENT) Z_LVAL_P(arg1);
-
-       longreadlen = pstmt->longreadlen;
-
-       stmt = (SQLS) pstmt->statement;
-
-       if (Z_LVAL_P(arg2) < 1) {
-               php_error(E_WARNING,
-                         "Field numbering starts at 1! in call to ovrimos_field_len()");
-               RETURN_FALSE;
-       }
-
-       field = Z_LVAL_P(arg2) - 1;
-
-       if (field >= sqlGetOutputColNb(stmt)) {
-               php_error(E_WARNING,
-                         "No field at this index (%d) in call to ovrimos_field_len()",
-                         field);
-               RETURN_FALSE;
-       }
-
-       switch (sqlGetOutputColType(stmt, field)) {
-       case T_LONGVARCHAR:
-       case T_LONGVARBINARY:
-               RETURN_LONG(longreadlen);
-       default:
-               RETURN_LONG(sqlGetOutputColLength(stmt, field));
-       }
-}
-
-/* }}} */
-
-/* {{{ proto int ovrimos_field_num(int result_id, string field_name)
-   Return column number */
-PHP_FUNCTION(ovrimos_field_num)
-{
-       pval *arg1, *arg2;
-       SQLS stmt;
-       int i, n;
-       PSTATEMENT pstmt;
-
-       if (getParameters(ht, 2, &arg1, &arg2) == FAILURE
-           || Z_TYPE_P(arg2) != IS_STRING) {
-               WRONG_PARAM_COUNT;
-       }
-       convert_to_long(arg1);
-       pstmt = (PSTATEMENT) Z_LVAL_P(arg1);
-       stmt = (SQLS) pstmt->statement;
-
-       n = sqlGetOutputColNb(stmt);
-       for (i = 0; i < n; i++) {
-               if (!strcmp
-                   (Z_STRVAL_P(arg2), sqlGetOutputColName(stmt, i))) {
-                       RETURN_LONG(i + 1);
-               }
-       }
-       RETURN_FALSE;
-}
-
-/* }}} */
-
-#if 0
-/* {{{ proto int ovrimos_autocommit(int connection_id, int OnOff)
-   Toggle autocommit mode
-   There can be problems with pconnections!*/
-PHP_FUNCTION(ovrimos_autocommit)
-{
-}
-
-/* }}} */
-#endif
-
-/* {{{ proto int ovrimos_commit(int connection_id)
-   Commit an ovrimos transaction */
-PHP_FUNCTION(ovrimos_commit)
-{
-       pval *arg1;
-       SQLS stmt;
-       int i;
-       PCON_STATE state;
-       
-       if (ARG_COUNT(ht) != 1 || getParameters(ht, 1, &arg1) == FAILURE
-           || Z_TYPE_P(arg1) != IS_LONG) {
-               WRONG_PARAM_COUNT;
-       }
-
-       convert_to_long( arg1);
-       state = (PCON_STATE) Z_LVAL_P(arg1);
-
-       for (i=0;i<state->nstatements;i++) {
-               stmt = state->statements[ i].statement;
-               if (stmt==NULL) {
-                       continue;
-               }
-               if (!sqlCommit(stmt)) {
-                       RETURN_FALSE;
-               }
-       }
-       RETURN_TRUE;
-}
-
-/* }}} */
-
-/* {{{ proto int ovrimos_rollback(int connection_id)
-   Rollback a transaction */
-PHP_FUNCTION(ovrimos_rollback)
-{
-       pval *arg1;
-       SQLS stmt;
-       int i;
-       PCON_STATE state;
-       
-       if (ARG_COUNT(ht) != 1 || getParameters(ht, 1, &arg1) == FAILURE
-           || Z_TYPE_P(arg1) != IS_LONG) {
-               WRONG_PARAM_COUNT;
-       }
-
-       convert_to_long( arg1);
-       state = (PCON_STATE) Z_LVAL_P(arg1);
-
-       for (i=0;i<state->nstatements;i++) {
-               stmt = (SQLS) state->statements[ i].statement;
-               if (stmt==NULL) continue;
-
-               if (!sqlRollback(stmt)) {
-                       RETURN_FALSE;
-               }
-       }
-       RETURN_TRUE;
-}
-
-/* }}} */
-
-#if 0
-/* {{{ proto int ovrimos_setoption(int conn_id|result_id, int which, int option, int value)
-   Sets connection or statement options */
-PHP_FUNCTION(ovrimos_setoption)
-{
-}
-
-/* }}} */
-#endif
-
-/* {{{ ovrimos_functions[]
- */
-function_entry ovrimos_functions[] = {
-/*     PHP_FE(ovrimos_setoption, NULL)*/
-/*     PHP_FE(ovrimos_autocommit, NULL)*/
-       PHP_FE(ovrimos_close, NULL)
-           PHP_FE(ovrimos_commit, NULL)
-           PHP_FE(ovrimos_connect, NULL)
-           PHP_FE(ovrimos_cursor, NULL)
-           PHP_FE(ovrimos_exec, NULL)
-           PHP_FE(ovrimos_prepare, NULL)
-           PHP_FE(ovrimos_execute, NULL)
-           PHP_FE(ovrimos_fetch_row, NULL)
-           PHP_FE(ovrimos_fetch_into, second_arg_force_ref)
-           PHP_FE(ovrimos_field_len, NULL)
-           PHP_FE(ovrimos_field_name, NULL)
-           PHP_FE(ovrimos_field_type, NULL)
-           PHP_FE(ovrimos_field_num, NULL)
-           PHP_FE(ovrimos_free_result, NULL)
-           PHP_FE(ovrimos_num_fields, NULL)
-           PHP_FE(ovrimos_num_rows, NULL)
-           PHP_FE(ovrimos_result, NULL)
-           PHP_FE(ovrimos_result_all, NULL)
-           PHP_FE(ovrimos_rollback, NULL)
-/*     PHP_FE(ovrimos_binmode, NULL)*/
-           PHP_FE(ovrimos_longreadlen, NULL)
-       PHP_FALIAS(ovrimos_do, ovrimos_exec, NULL) {NULL, NULL, NULL}
-};
-/* }}} */
-
-zend_module_entry ovrimos_module_entry = {
-       STANDARD_MODULE_HEADER,
-       "ovrimos",
-       ovrimos_functions,
-       NULL,
-       NULL,
-       NULL,
-       NULL,
-       PHP_MINFO(ovrimos),
-    NO_VERSION_YET,
-       STANDARD_MODULE_PROPERTIES
-};
-
-DLEXPORT zend_module_entry *get_module()
-{
-       return &ovrimos_module_entry;
-};
-
-/*
- * Local variables:
- * tab-width: 4
- * c-basic-offset: 4
- * End:
- * vim600: sw=4 ts=4 fdm=marker
- * vim<600: sw=4 ts=4
- */
diff --git a/ext/ovrimos/php_ovrimos.h b/ext/ovrimos/php_ovrimos.h
deleted file mode 100644 (file)
index b3e1336..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-#ifndef PHP_OVRIMOS_H
-#define PHP_OVRIMOS_H
-
-#if HAVE_LIBSQLCLI
-
-#if PHP_API_VERSION < 19990421
-#define  zend_module_entry zend_module_entry
-#include "zend_modules.h"
-#include "internal_functions.h"
-#endif
-
-extern zend_module_entry ovrimos_module_entry;
-#define ovrimos_module_ptr &ovrimos_module_entry
-
-PHP_FUNCTION(ovrimos_connect);
-PHP_FUNCTION(ovrimos_close);
-PHP_FUNCTION(ovrimos_longreadlen);
-PHP_FUNCTION(ovrimos_prepare);
-PHP_FUNCTION(ovrimos_execute);
-PHP_FUNCTION(ovrimos_cursor);
-PHP_FUNCTION(ovrimos_exec);
-PHP_FUNCTION(ovrimos_fetch_into);
-PHP_FUNCTION(ovrimos_fetch_row);
-PHP_FUNCTION(ovrimos_result);
-PHP_FUNCTION(ovrimos_result_all);
-PHP_FUNCTION(ovrimos_free_result);
-PHP_FUNCTION(ovrimos_num_rows);
-PHP_FUNCTION(ovrimos_num_fields);
-PHP_FUNCTION(ovrimos_field_name);
-PHP_FUNCTION(ovrimos_field_type);
-PHP_FUNCTION(ovrimos_field_len);
-PHP_FUNCTION(ovrimos_field_num);
-/*PHP_FUNCTION(ovrimos_autocommit);*/
-PHP_FUNCTION(ovrimos_commit);
-PHP_FUNCTION(ovrimos_rollback);
-/*PHP_FUNCTION(ovrimos_setoption);*/
-
-#else
-#define ovrimos_module_ptr NULL
-#endif
-
-#define phpext_ovrimos_ptr ovrimos_module_ptr
-
-#endif