]> granicus.if.org Git - php/commitdiff
Bug #21707 problem with real
authorFrank M. Kromann <fmk@php.net>
Sun, 9 Feb 2003 07:18:27 +0000 (07:18 +0000)
committerFrank M. Kromann <fmk@php.net>
Sun, 9 Feb 2003 07:18:27 +0000 (07:18 +0000)
ext/mssql/php_mssql.c
ext/mssql/php_mssql.h

index fa244f0c16075a9963a1726e0c17694d9b449dc0..659f3edd4443910459801180db10f81b10806c8c 100644 (file)
@@ -306,6 +306,7 @@ PHP_MINIT_FUNCTION(mssql)
        REGISTER_LONG_CONSTANT("SQLINT2",SQLINT2, CONST_CS | CONST_PERSISTENT);
        REGISTER_LONG_CONSTANT("SQLINT4",SQLINT4, CONST_CS | CONST_PERSISTENT);
        REGISTER_LONG_CONSTANT("SQLBIT",SQLBIT, CONST_CS | CONST_PERSISTENT);
+       REGISTER_LONG_CONSTANT("SQLFLT4",SQLFLT4, CONST_CS | CONST_PERSISTENT);
        REGISTER_LONG_CONSTANT("SQLFLT8",SQLFLT8, CONST_CS | CONST_PERSISTENT);
        REGISTER_LONG_CONSTANT("SQLFLTN",SQLFLTN, CONST_CS | CONST_PERSISTENT);
        /* END MSSQL data types for mssql_sp_bind */
@@ -922,6 +923,7 @@ static void _mssql_get_sp_result(mssql_link *mssql_ptr, mssql_statement *stateme
                                                        Z_LVAL_P(bind->zval) = *((int *)(dbretdata(mssql_ptr->link,i)));
                                                        break;
                        
+                                               case SQLFLT4:
                                                case SQLFLT8:
                                                case SQLFLTN:
                                                        convert_to_double_ex(&bind->zval);
@@ -992,6 +994,7 @@ static int _mssql_fetch_batch(mssql_link *mssql_ptr, mssql_result *result, int r
                        case SQLINT2:
                        case SQLINT4:
                        case SQLINTN:
+                       case SQLFLT4:
                        case SQLFLT8:
                        case SQLNUMERIC:
                        case SQLDECIMAL:
@@ -1421,6 +1424,7 @@ static char *php_mssql_get_field_name(int type)
                        return "datetime";
                        break;
                case SQLDECIMAL:
+               case SQLFLT4:
                case SQLFLT8:
                case SQLFLTN:
                        return "real";
@@ -1967,6 +1971,7 @@ PHP_FUNCTION(mssql_bind)
 
                switch (type)   {
 
+                       case SQLFLT4:
                        case SQLFLT8:
                        case SQLFLTN:
                                convert_to_double_ex(var);
index 015c22401a08a08fd6fa8194f66703d172bb6fe9..92251a92ef81a5e2af98ad7ce7a9f87ba371278c 100644 (file)
@@ -80,7 +80,7 @@ typedef unsigned char *LPBYTE;
 #define tinyintcol(i) ((int) *(DBTINYINT *) dbdata(mssql_ptr->link,i))
 #define anyintcol(j) (coltype(j)==SQLINT4?intcol(j):(coltype(j)==SQLINT2?smallintcol(j):tinyintcol(j)))
 #define charcol(i) ((DBCHAR *) dbdata(mssql_ptr->link,i))
-#define floatcol4(i) (*(DBFLT8 *) dbdata(mssql_ptr->link,i))
+#define floatcol4(i) (*(DBFLT4 *) dbdata(mssql_ptr->link,i))
 #define floatcol8(i) (*(DBFLT8 *) dbdata(mssql_ptr->link,i))
 
 #ifdef ZTS