iliaa Fri Dec 29 00:34:53 2006 UTC
Modified files:
/php-src/ext/pgsql pgsql.c
Log:
MFB: Fixed bug #39971 (pg_insert/pg_update do not allow now() to be used for
timestamp fields).
http://cvs.php.net/viewvc.cgi/php-src/ext/pgsql/pgsql.c?r1=1.362&r2=1.363&diff_format=u
Index: php-src/ext/pgsql/pgsql.c
diff -u php-src/ext/pgsql/pgsql.c:1.362 php-src/ext/pgsql/pgsql.c:1.363
--- php-src/ext/pgsql/pgsql.c:1.362 Thu Dec 28 15:21:32 2006
+++ php-src/ext/pgsql/pgsql.c Fri Dec 29 00:34:53 2006
@@ -20,7 +20,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: pgsql.c,v 1.362 2006/12/28 15:21:32 iliaa Exp $ */
+/* $Id: pgsql.c,v 1.363 2006/12/29 00:34:53 iliaa Exp $ */
#include <stdlib.h>
@@ -4955,14 +4955,14 @@
switch(Z_TYPE_PP(val)) {
case IS_STRING:
if (Z_STRLEN_PP(val) == 0) {
- ZVAL_STRING(new_val,
"NULL", 1);
- }
- else {
+ ZVAL_STRINGL(new_val,
"NULL", sizeof("NULL")-1, 1);
+ } else if
(!strcasecmp(Z_STRVAL_PP(val), "now()")) {
+ ZVAL_STRINGL(new_val,
"NOW()", sizeof("NOW()")-1, 1);
+ } else {
/* FIXME: better regex
must be used */
if
(php_pgsql_convert_match(Z_STRVAL_PP(val),
"^([0-9]{4}[/-][0-9]{1,2}[/-][0-9]{1,2})([
\\t]+(([0-9]{1,2}:[0-9]{1,2}){1}(:[0-9]{1,2}){0,1}(\\.[0-9]+){0,1}([
\\t]*([+-][0-9]{1,2}(:[0-9]{1,2}){0,1}|[a-zA-Z]{1,5})){0,1})){0,1}$", 1
TSRMLS_CC) == FAILURE) {
err = 1;
- }
- else {
+ } else {
ZVAL_STRING(new_val, Z_STRVAL_PP(val), 1);
php_pgsql_add_quotes(new_val, 1 TSRMLS_CC);
}
@@ -4970,7 +4970,7 @@
break;
case IS_NULL:
- ZVAL_STRING(new_val, "NULL", 1);
+ ZVAL_STRINGL(new_val, "NULL",
sizeof("NULL")-1, 1);
break;
default:
--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php