]> granicus.if.org Git - php/commitdiff
Check for warnings and return the warning texts
authorFrank M. Kromann <fmk@php.net>
Wed, 9 Feb 2005 18:49:38 +0000 (18:49 +0000)
committerFrank M. Kromann <fmk@php.net>
Wed, 9 Feb 2005 18:49:38 +0000 (18:49 +0000)
ext/fbsql/php_fbsql.c

index 72e447a8d19e1276a312b4257900c050d0848ae4..36987b229521bb19fadb23440e786acb6b9684fa 100644 (file)
@@ -1926,11 +1926,28 @@ int mdOk(PHPFBLink* link, FBCMetaData* md, char* sql)
                                php_error_docref(NULL TSRMLS_CC, E_WARNING, "No message");
                }
                link->errorText = strdup(emg);
-               link->errorNo = fbcemdErrorCodeAtIndex(emd, 0);;
+               link->errorNo = fbcemdErrorCodeAtIndex(emd, 0);
                free(emg);
                fbcemdRelease(emd);
                result = 0;
        }
+       else if (fbcmdWarningsFound(md))
+       {
+               FBCErrorMetaData* emd = fbcdcErrorMetaData(c, md);
+               char*             emg = fbcemdAllErrorMessages(emd);
+               if (FB_SQL_G(generateWarnings))
+               {
+                       if (emg)
+                               php_error_docref(NULL TSRMLS_CC, E_WARNING, "Warning in statement: '%s' %s", sql, emg);
+                       else
+                               php_error_docref(NULL TSRMLS_CC, E_WARNING, "No message");
+               }
+               link->errorText = strdup(emg);
+               link->errorNo = fbcemdErrorCodeAtIndex(emd, 0);
+               free(emg);
+               fbcemdRelease(emd);
+               result = 1;
+       }
        return result;
 }
 /* }}} */