extended result type handling with catalog/pg_type.h
[m6w6/ext-pq] / src / php_pq_misc.c
index 24381820d75cd407fc1d55b333a400e633f38d4f..943aa57ffce27eaee0791adf0cc89b4b8196d28e 100644 (file)
@@ -15,7 +15,7 @@
 #endif
 
 #include <php.h>
-
+#include <ext/date/php_date.h>
 #include <libpq/libpq-fs.h>
 
 #include "php_pq.h"
@@ -174,6 +174,24 @@ Oid *php_pq_ntypes_to_array(zend_bool fill, int argc, ...)
 }
 */
 
+zval *php_pq_date_from_string(char *datetime_str, size_t datetime_len, zval *zv TSRMLS_DC)
+{
+       php_date_obj *dobj;
+
+       if (!zv) {
+               MAKE_STD_ZVAL(zv);
+       }
+
+       php_date_instantiate(php_date_get_date_ce(), zv TSRMLS_CC);
+       dobj = zend_object_store_get_object(zv TSRMLS_CC);
+       if (!php_date_initialize(dobj, datetime_str, datetime_len, NULL, NULL, 1 TSRMLS_CC)) {
+               zval_dtor(zv);
+               ZVAL_NULL(zv);
+       }
+
+       return zv;
+}
+
 /*
  * Local variables:
  * tab-width: 4