abies           Tue Sep 23 19:09:08 2003 EDT

  Modified files:              
    /php-src/ext/interbase      interbase.c 
  Log:
  Always return long from ibase_gen_id() on IB < 6 
  
Index: php-src/ext/interbase/interbase.c
diff -u php-src/ext/interbase/interbase.c:1.187 php-src/ext/interbase/interbase.c:1.188
--- php-src/ext/interbase/interbase.c:1.187     Tue Sep 23 18:17:40 2003
+++ php-src/ext/interbase/interbase.c   Tue Sep 23 19:08:59 2003
@@ -18,7 +18,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: interbase.c,v 1.187 2003/09/23 22:17:40 sniper Exp $ */
+/* $Id: interbase.c,v 1.188 2003/09/23 23:08:59 abies Exp $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
@@ -26,7 +26,7 @@
 
 #include "php.h"
 
-#define FILE_REVISION "$Revision: 1.187 $"
+#define FILE_REVISION "$Revision: 1.188 $"
 
 #if HAVE_IBASE
 
@@ -3306,7 +3306,7 @@
                                precision = 9;
                                break;
 #ifdef SQL_INT64
-                       case SQL_INT64:     
+                       case SQL_INT64:
                                precision = 18;
                                break;
 #endif
@@ -3317,8 +3317,8 @@
        } else {
                switch (var->sqltype & ~1) {
                        case SQL_TEXT:
-                           s = "CHAR"; 
-                           break;
+                               s = "CHAR"; 
+                               break;
                        case SQL_VARYING:
                                s = "VARCHAR"; 
                                break;
@@ -3328,13 +3328,13 @@
                        case SQL_LONG:
                                s = "INTEGER"; 
                                break;
-                       case SQL_FLOAT:     
+                       case SQL_FLOAT:
                                s = "FLOAT"; break;
-                       case SQL_DOUBLE:    
-                       case SQL_D_FLOAT:   
+                       case SQL_DOUBLE:
+                       case SQL_D_FLOAT:
                                s = "DOUBLE PRECISION"; break;
 #ifdef SQL_INT64
-                       case SQL_INT64:     
+                       case SQL_INT64: 
                                s = "BIGINT"; 
                                break;
 #endif
@@ -4412,14 +4412,14 @@
        zval **arg1, **arg2, **arg3, **query_arg;
        ibase_db_link *ib_link;
        ibase_trans *trans = NULL;
-       long increment;
-#ifdef SQL_INT64
-       ISC_INT64 result;
-#else
-       ISC_LONG result;
-#endif
-
-       XSQLDA out_sqlda;
+       long increment;
+#ifdef SQL_INT64
+       ISC_INT64 result;
+#else
+       ISC_LONG result;
+#endif
+
+       XSQLDA out_sqlda;
 
        RESET_ERRMSG;
 
@@ -4429,8 +4429,8 @@
                                RETURN_FALSE;
                        }
                        ZEND_FETCH_RESOURCE2(ib_link, ibase_db_link *, NULL, 
IBG(default_link), "InterBase link", le_link, le_plink);
-                       query_arg = arg1;
-                       increment = 1;
+                       query_arg = arg1;
+                       increment = 1;
                        break;
                case 2:
                        if (zend_get_parameters_ex(2, &arg1, &arg2) == FAILURE) {
@@ -4438,14 +4438,14 @@
                        }
 
                        if (Z_TYPE_PP(arg1) == IS_STRING) /* first param is generator, 
second is inc */
-                       {
+                       {
                                query_arg = arg1;
                                convert_to_long_ex(arg2);
                                increment = Z_LVAL_PP(arg2);
 
                                ZEND_FETCH_RESOURCE2(ib_link, ibase_db_link *, NULL, 
IBG(default_link), "InterBase link", le_link, le_plink);
                        } else {
-                               
_php_ibase_get_link_trans(INTERNAL_FUNCTION_PARAM_PASSTHRU, arg1, &ib_link, &trans);
+                               
_php_ibase_get_link_trans(INTERNAL_FUNCTION_PARAM_PASSTHRU, arg1, &ib_link, &trans);
                                query_arg = arg2;
                                increment = 1;
                        }
@@ -4455,7 +4455,7 @@
                                RETURN_FALSE;
                        }
                        ZEND_FETCH_RESOURCE2(ib_link, ibase_db_link*, arg1, -1, 
"InterBase link", le_link, le_plink);
-                       
+                       
                        query_arg = arg2;
                        convert_to_long_ex(arg3);
                        increment = Z_LVAL_PP(arg3);
@@ -4467,45 +4467,45 @@
        }
        
        convert_to_string_ex(query_arg);
-       sprintf(query, "SELECT GEN_ID(%s,%ld) FROM rdb$database", 
Z_STRVAL_PP(query_arg), increment);
+       sprintf(query, "SELECT GEN_ID(%s,%ld) FROM rdb$database", 
Z_STRVAL_PP(query_arg), increment);
 
        /* open default transaction */
        if (_php_ibase_def_trans(ib_link, &trans TSRMLS_CC) == FAILURE) {
                RETURN_FALSE;
        }
        
-       /* allocate a minimal descriptor area */
-       out_sqlda.sqln = out_sqlda.sqld = 1;
-       out_sqlda.version = SQLDA_CURRENT_VERSION;
-       
-       /* allocate the field for the result */
-#ifdef SQL_INT64
-       out_sqlda.sqlvar[0].sqltype = SQL_INT64;
-#else
-       out_sqlda.sqlvar[0].sqltype = SQL_LONG;
-#endif
-       out_sqlda.sqlvar[0].sqlscale = 0;
-       out_sqlda.sqlvar[0].sqllen = sizeof(result);
-       out_sqlda.sqlvar[0].sqldata = (void*) &result;
-
-       /* execute the query */
-       if (isc_dsql_exec_immed2(IB_STATUS, &ib_link->handle, &trans->handle, 0, 
query, SQL_DIALECT_CURRENT, NULL, &out_sqlda))
-       {
-               _php_ibase_error(TSRMLS_C);
-               RETURN_FALSE;
-       }
-
-       /* don't return the generator value as a string unless it doesn't fit in a 
long */
-#ifdef SQL_INT64
-       if (result > LONG_MAX) 
-#endif
-       {
-               char res[24];
-
-               sprintf(res,"%" LL_MASK "d", result);
-               RETURN_STRING(res,1);
-       }
-       RETURN_LONG((long)result);
+       /* allocate a minimal descriptor area */
+       out_sqlda.sqln = out_sqlda.sqld = 1;
+       out_sqlda.version = SQLDA_CURRENT_VERSION;
+       
+       /* allocate the field for the result */
+#ifdef SQL_INT64
+       out_sqlda.sqlvar[0].sqltype = SQL_INT64;
+#else
+       out_sqlda.sqlvar[0].sqltype = SQL_LONG;
+#endif
+       out_sqlda.sqlvar[0].sqlscale = 0;
+       out_sqlda.sqlvar[0].sqllen = sizeof(result);
+       out_sqlda.sqlvar[0].sqldata = (void*) &result;
+
+       /* execute the query */
+       if (isc_dsql_exec_immed2(IB_STATUS, &ib_link->handle, &trans->handle, 0, 
query, SQL_DIALECT_CURRENT, NULL, &out_sqlda))
+       {
+               _php_ibase_error(TSRMLS_C);
+               RETURN_FALSE;
+       }
+
+       /* don't return the generator value as a string unless it doesn't fit in a 
long */
+#ifdef SQL_INT64
+       if (result > LONG_MAX) 
+       {
+               char res[24];
+
+               sprintf(res,"%" LL_MASK "d", result);
+               RETURN_STRING(res,1);
+       }
+#endif
+       RETURN_LONG((long)result);
 }
 
 /* }}} */

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

Reply via email to