summaryrefslogtreecommitdiff
path: root/ext
diff options
context:
space:
mode:
Diffstat (limited to 'ext')
-rw-r--r--ext/oci8/oci8_statement.c4
-rwxr-xr-xext/pdo_oci/oci_statement.c4
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;
}