diff options
Diffstat (limited to 'ext')
| -rw-r--r-- | ext/oci8/oci8_statement.c | 4 | ||||
| -rwxr-xr-x | ext/pdo_oci/oci_statement.c | 4 |
2 files changed, 8 insertions, 0 deletions
diff --git a/ext/oci8/oci8_statement.c b/ext/oci8/oci8_statement.c index c0e865bd16..f930fdaa77 100644 --- a/ext/oci8/oci8_statement.c +++ b/ext/oci8/oci8_statement.c @@ -502,6 +502,10 @@ int php_oci_statement_execute(php_oci_statement *statement, ub4 mode TSRMLS_DC) #endif ) { outcol->storage_size4 = 512; /* XXX this should fit "most" NLS date-formats and Numbers */ +#if defined(SQLT_IBFLOAT) && defined(SQLT_IBDOUBLE) + } else if (outcol->data_type == SQLT_IBFLOAT || outcol->data_type == SQLT_IBDOUBLE) { + outcol->storage_size4 = 1024; +#endif } else { outcol->storage_size4++; /* add one for string terminator */ } diff --git a/ext/pdo_oci/oci_statement.c b/ext/pdo_oci/oci_statement.c index 46a8cea720..96723a05cf 100755 --- a/ext/pdo_oci/oci_statement.c +++ b/ext/pdo_oci/oci_statement.c @@ -545,6 +545,10 @@ static int oci_stmt_describe(pdo_stmt_t *stmt, int colno TSRMLS_DC) /* {{{ */ ) { /* should be big enough for most date formats and numbers */ S->cols[colno].datalen = 512; +#if defined(SQLT_IBFLOAT) && defined(SQLT_IBDOUBLE) + } else if (dtype == SQLT_IBFLOAT || dtype == SQLT_IBDOUBLE) { + S->cols[colno].datalen = 1024; +#endif } else { S->cols[colno].datalen = col->maxlen; } |
