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