summaryrefslogtreecommitdiff
path: root/ext/fbsql/php_fbsql.c
diff options
context:
space:
mode:
Diffstat (limited to 'ext/fbsql/php_fbsql.c')
-rw-r--r--ext/fbsql/php_fbsql.c19
1 files changed, 18 insertions, 1 deletions
diff --git a/ext/fbsql/php_fbsql.c b/ext/fbsql/php_fbsql.c
index 72e447a8d1..36987b2295 100644
--- a/ext/fbsql/php_fbsql.c
+++ b/ext/fbsql/php_fbsql.c
@@ -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;
}
/* }}} */