]> granicus.if.org Git - php/commitdiff
fix #35003 (Warning: PDOStatement::fetch(): column 0 data was too large for buffer...
authorAntony Dovgal <tony2001@php.net>
Fri, 28 Oct 2005 15:01:47 +0000 (15:01 +0000)
committerAntony Dovgal <tony2001@php.net>
Fri, 28 Oct 2005 15:01:47 +0000 (15:01 +0000)
this is just a quick fix, the real one will follow after the weekend from Wez

ext/pdo_oci/oci_statement.c

index 10a4d2f32508a27e396c67c1ea932ac1935abb54..3b93cbfb2709c3158ae51b01bf5e363cd5a67913 100755 (executable)
@@ -395,6 +395,19 @@ static int oci_stmt_describe(pdo_stmt_t *stmt, int colno TSRMLS_DC) /* {{{ */
 
        /* how much room do we need to store the field */
        switch (dtype) {
+               case SQLT_LBI:
+               case SQLT_LNG:
+                       dyn = FALSE;
+                       if (dtype == SQLT_LBI) {
+                               dtype = SQLT_BIN;
+                       } else {
+                               dtype = SQLT_CHR;
+                       }
+                       S->cols[colno].datalen = 512; /* XXX should be INT_MAX and fetched by pieces */
+                       S->cols[colno].data = emalloc(S->cols[colno].datalen + 1);
+                       col->param_type = PDO_PARAM_STR;
+                       break;
+                                                                                                                                                                                                                                                               
                case SQLT_BIN:
                default:
                        dyn = FALSE;