mirror of
https://github.com/php/php-src.git
synced 2024-09-23 02:47:26 +00:00
Always return long from ibase_gen_id() on IB < 6
This commit is contained in:
parent
afdc20a094
commit
50911d0904
@ -3306,7 +3306,7 @@ static void _php_ibase_field_info(zval *return_value, XSQLVAR *var)
|
||||
precision = 9;
|
||||
break;
|
||||
#ifdef SQL_INT64
|
||||
case SQL_INT64:
|
||||
case SQL_INT64:
|
||||
precision = 18;
|
||||
break;
|
||||
#endif
|
||||
@ -3317,8 +3317,8 @@ static void _php_ibase_field_info(zval *return_value, XSQLVAR *var)
|
||||
} else {
|
||||
switch (var->sqltype & ~1) {
|
||||
case SQL_TEXT:
|
||||
s = "CHAR";
|
||||
break;
|
||||
s = "CHAR";
|
||||
break;
|
||||
case SQL_VARYING:
|
||||
s = "VARCHAR";
|
||||
break;
|
||||
@ -3328,13 +3328,13 @@ static void _php_ibase_field_info(zval *return_value, XSQLVAR *var)
|
||||
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
|
||||
@ -4498,13 +4498,13 @@ PHP_FUNCTION(ibase_gen_id)
|
||||
/* 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);
|
||||
}
|
||||
#endif
|
||||
RETURN_LONG((long)result);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user