summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRemi Collet <fedora@famillecollet.com>2014-10-16 08:16:15 +0200
committerRemi Collet <fedora@famillecollet.com>2014-10-16 08:16:15 +0200
commitbb75ebe835d36b8d2f2572345c1c0f1a0955850d (patch)
tree938a94dbc46e6e7617ac704ac2a4cd7ac99736c0
php-pecl-pq: 0.5.1 (beta, New package)
-rw-r--r--Makefile4
-rw-r--r--REFLECTION1509
-rw-r--r--php-pecl-pq.spec228
3 files changed, 1741 insertions, 0 deletions
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..13af741
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,4 @@
+SRCDIR := $(shell pwd)
+NAME := $(shell basename $(SRCDIR))
+include ../../../common/Makefile
+
diff --git a/REFLECTION b/REFLECTION
new file mode 100644
index 0000000..60a9fee
--- /dev/null
+++ b/REFLECTION
@@ -0,0 +1,1509 @@
+Extension [ <persistent> extension #172 pq version 0.5.1 ] {
+
+ - Dependencies {
+ Dependency [ raphf (Required) ]
+ Dependency [ spl (Required) ]
+ Dependency [ json (Optional) ]
+ }
+
+ - Classes [16] {
+ Interface [ <internal:pq> interface pq\Converter ] {
+
+ - Constants [0] {
+ }
+
+ - Static properties [0] {
+ }
+
+ - Static methods [0] {
+ }
+
+ - Properties [0] {
+ }
+
+ - Methods [3] {
+ Method [ <internal:pq> abstract public method convertTypes ] {
+
+ - Parameters [0] {
+ }
+ }
+
+ Method [ <internal:pq> abstract public method convertFromString ] {
+
+ - Parameters [2] {
+ Parameter #0 [ <required> $data ]
+ Parameter #1 [ <required> $type ]
+ }
+ }
+
+ Method [ <internal:pq> abstract public method convertToString ] {
+
+ - Parameters [2] {
+ Parameter #0 [ <required> $data ]
+ Parameter #1 [ <required> $type ]
+ }
+ }
+ }
+ }
+
+ Class [ <internal:pq> class pq\DateTime extends DateTime implements DateTimeInterface, JsonSerializable ] {
+
+ - Constants [11] {
+ Constant [ string ATOM ] { Y-m-d\TH:i:sP }
+ Constant [ string COOKIE ] { l, d-M-Y H:i:s T }
+ Constant [ string ISO8601 ] { Y-m-d\TH:i:sO }
+ Constant [ string RFC822 ] { D, d M y H:i:s O }
+ Constant [ string RFC850 ] { l, d-M-y H:i:s T }
+ Constant [ string RFC1036 ] { D, d M y H:i:s O }
+ Constant [ string RFC1123 ] { D, d M Y H:i:s O }
+ Constant [ string RFC2822 ] { D, d M Y H:i:s O }
+ Constant [ string RFC3339 ] { Y-m-d\TH:i:sP }
+ Constant [ string RSS ] { D, d M Y H:i:s O }
+ Constant [ string W3C ] { Y-m-d\TH:i:sP }
+ }
+
+ - Static properties [0] {
+ }
+
+ - Static methods [3] {
+ Method [ <internal:date, inherits DateTime> static public method __set_state ] {
+ }
+
+ Method [ <internal:date, inherits DateTime> static public method createFromFormat ] {
+
+ - Parameters [3] {
+ Parameter #0 [ <required> $format ]
+ Parameter #1 [ <required> $time ]
+ Parameter #2 [ <optional> $object ]
+ }
+ }
+
+ Method [ <internal:date, inherits DateTime> static public method getLastErrors ] {
+
+ - Parameters [0] {
+ }
+ }
+ }
+
+ - Properties [1] {
+ Property [ <default> public $format ]
+ }
+
+ - Methods [17] {
+ Method [ <internal:pq> public method __toString ] {
+
+ - Parameters [0] {
+ }
+ }
+
+ Method [ <internal:pq, prototype JsonSerializable> public method jsonSerialize ] {
+
+ - Parameters [0] {
+ }
+ }
+
+ Method [ <internal:date, inherits DateTime, ctor> public method __construct ] {
+
+ - Parameters [2] {
+ Parameter #0 [ <optional> $time ]
+ Parameter #1 [ <optional> $object ]
+ }
+ }
+
+ Method [ <internal:date, inherits DateTime, prototype DateTimeInterface> public method __wakeup ] {
+ }
+
+ Method [ <internal:date, inherits DateTime, prototype DateTimeInterface> public method format ] {
+
+ - Parameters [1] {
+ Parameter #0 [ <required> $format ]
+ }
+ }
+
+ Method [ <internal:date, inherits DateTime> public method modify ] {
+
+ - Parameters [1] {
+ Parameter #0 [ <required> $modify ]
+ }
+ }
+
+ Method [ <internal:date, inherits DateTime> public method add ] {
+
+ - Parameters [1] {
+ Parameter #0 [ <required> $interval ]
+ }
+ }
+
+ Method [ <internal:date, inherits DateTime> public method sub ] {
+
+ - Parameters [1] {
+ Parameter #0 [ <required> $interval ]
+ }
+ }
+
+ Method [ <internal:date, inherits DateTime, prototype DateTimeInterface> public method getTimezone ] {
+
+ - Parameters [0] {
+ }
+ }
+
+ Method [ <internal:date, inherits DateTime> public method setTimezone ] {
+
+ - Parameters [1] {
+ Parameter #0 [ <required> $timezone ]
+ }
+ }
+
+ Method [ <internal:date, inherits DateTime, prototype DateTimeInterface> public method getOffset ] {
+
+ - Parameters [0] {
+ }
+ }
+
+ Method [ <internal:date, inherits DateTime> public method setTime ] {
+
+ - Parameters [3] {
+ Parameter #0 [ <required> $hour ]
+ Parameter #1 [ <required> $minute ]
+ Parameter #2 [ <optional> $second ]
+ }
+ }
+
+ Method [ <internal:date, inherits DateTime> public method setDate ] {
+
+ - Parameters [3] {
+ Parameter #0 [ <required> $year ]
+ Parameter #1 [ <required> $month ]
+ Parameter #2 [ <required> $day ]
+ }
+ }
+
+ Method [ <internal:date, inherits DateTime> public method setISODate ] {
+
+ - Parameters [3] {
+ Parameter #0 [ <required> $year ]
+ Parameter #1 [ <required> $week ]
+ Parameter #2 [ <optional> $day ]
+ }
+ }
+
+ Method [ <internal:date, inherits DateTime> public method setTimestamp ] {
+
+ - Parameters [1] {
+ Parameter #0 [ <required> $unixtimestamp ]
+ }
+ }
+
+ Method [ <internal:date, inherits DateTime, prototype DateTimeInterface> public method getTimestamp ] {
+
+ - Parameters [0] {
+ }
+ }
+
+ Method [ <internal:date, inherits DateTime, prototype DateTimeInterface> public method diff ] {
+
+ - Parameters [2] {
+ Parameter #0 [ <required> $object ]
+ Parameter #1 [ <optional> $absolute ]
+ }
+ }
+ }
+ }
+
+ Interface [ <internal:pq> interface pq\Exception ] {
+
+ - Constants [9] {
+ Constant [ integer INVALID_ARGUMENT ] { 0 }
+ Constant [ integer RUNTIME ] { 1 }
+ Constant [ integer CONNECTION_FAILED ] { 2 }
+ Constant [ integer IO ] { 3 }
+ Constant [ integer ESCAPE ] { 4 }
+ Constant [ integer BAD_METHODCALL ] { 5 }
+ Constant [ integer UNINITIALIZED ] { 6 }
+ Constant [ integer DOMAIN ] { 7 }
+ Constant [ integer SQL ] { 8 }
+ }
+
+ - Static properties [0] {
+ }
+
+ - Static methods [0] {
+ }
+
+ - Properties [0] {
+ }
+
+ - Methods [0] {
+ }
+ }
+
+ Class [ <internal:pq> class pq\Exception\InvalidArgumentException extends InvalidArgumentException implements pq\Exception ] {
+
+ - Constants [9] {
+ Constant [ integer INVALID_ARGUMENT ] { 0 }
+ Constant [ integer RUNTIME ] { 1 }
+ Constant [ integer CONNECTION_FAILED ] { 2 }
+ Constant [ integer IO ] { 3 }
+ Constant [ integer ESCAPE ] { 4 }
+ Constant [ integer BAD_METHODCALL ] { 5 }
+ Constant [ integer UNINITIALIZED ] { 6 }
+ Constant [ integer DOMAIN ] { 7 }
+ Constant [ integer SQL ] { 8 }
+ }
+
+ - Static properties [0] {
+ }
+
+ - Static methods [0] {
+ }
+
+ - Properties [4] {
+ Property [ <default> protected $message ]
+ Property [ <default> protected $code ]
+ Property [ <default> protected $file ]
+ Property [ <default> protected $line ]
+ }
+
+ - Methods [9] {
+ Method [ <internal:Core, inherits Exception, ctor> public method __construct ] {
+
+ - Parameters [3] {
+ Parameter #0 [ <optional> $message ]
+ Parameter #1 [ <optional> $code ]
+ Parameter #2 [ <optional> $previous ]
+ }
+ }
+
+ Method [ <internal:Core, inherits Exception> final public method getMessage ] {
+ }
+
+ Method [ <internal:Core, inherits Exception> final public method getCode ] {
+ }
+
+ Method [ <internal:Core, inherits Exception> final public method getFile ] {
+ }
+
+ Method [ <internal:Core, inherits Exception> final public method getLine ] {
+ }
+
+ Method [ <internal:Core, inherits Exception> final public method getTrace ] {
+ }
+
+ Method [ <internal:Core, inherits Exception> final public method getPrevious ] {
+ }
+
+ Method [ <internal:Core, inherits Exception> final public method getTraceAsString ] {
+ }
+
+ Method [ <internal:Core, inherits Exception> public method __toString ] {
+ }
+ }
+ }
+
+ Class [ <internal:pq> class pq\Exception\RuntimeException extends RuntimeException implements pq\Exception ] {
+
+ - Constants [9] {
+ Constant [ integer INVALID_ARGUMENT ] { 0 }
+ Constant [ integer RUNTIME ] { 1 }
+ Constant [ integer CONNECTION_FAILED ] { 2 }
+ Constant [ integer IO ] { 3 }
+ Constant [ integer ESCAPE ] { 4 }
+ Constant [ integer BAD_METHODCALL ] { 5 }
+ Constant [ integer UNINITIALIZED ] { 6 }
+ Constant [ integer DOMAIN ] { 7 }
+ Constant [ integer SQL ] { 8 }
+ }
+
+ - Static properties [0] {
+ }
+
+ - Static methods [0] {
+ }
+
+ - Properties [4] {
+ Property [ <default> protected $message ]
+ Property [ <default> protected $code ]
+ Property [ <default> protected $file ]
+ Property [ <default> protected $line ]
+ }
+
+ - Methods [9] {
+ Method [ <internal:Core, inherits Exception, ctor> public method __construct ] {
+
+ - Parameters [3] {
+ Parameter #0 [ <optional> $message ]
+ Parameter #1 [ <optional> $code ]
+ Parameter #2 [ <optional> $previous ]
+ }
+ }
+
+ Method [ <internal:Core, inherits Exception> final public method getMessage ] {
+ }
+
+ Method [ <internal:Core, inherits Exception> final public method getCode ] {
+ }
+
+ Method [ <internal:Core, inherits Exception> final public method getFile ] {
+ }
+
+ Method [ <internal:Core, inherits Exception> final public method getLine ] {
+ }
+
+ Method [ <internal:Core, inherits Exception> final public method getTrace ] {
+ }
+
+ Method [ <internal:Core, inherits Exception> final public method getPrevious ] {
+ }
+
+ Method [ <internal:Core, inherits Exception> final public method getTraceAsString ] {
+ }
+
+ Method [ <internal:Core, inherits Exception> public method __toString ] {
+ }
+ }
+ }
+
+ Class [ <internal:pq> class pq\Exception\BadMethodCallException extends BadMethodCallException implements pq\Exception ] {
+
+ - Constants [9] {
+ Constant [ integer INVALID_ARGUMENT ] { 0 }
+ Constant [ integer RUNTIME ] { 1 }
+ Constant [ integer CONNECTION_FAILED ] { 2 }
+ Constant [ integer IO ] { 3 }
+ Constant [ integer ESCAPE ] { 4 }
+ Constant [ integer BAD_METHODCALL ] { 5 }
+ Constant [ integer UNINITIALIZED ] { 6 }
+ Constant [ integer DOMAIN ] { 7 }
+ Constant [ integer SQL ] { 8 }
+ }
+
+ - Static properties [0] {
+ }
+
+ - Static methods [0] {
+ }
+
+ - Properties [4] {
+ Property [ <default> protected $message ]
+ Property [ <default> protected $code ]
+ Property [ <default> protected $file ]
+ Property [ <default> protected $line ]
+ }
+
+ - Methods [9] {
+ Method [ <internal:Core, inherits Exception, ctor> public method __construct ] {
+
+ - Parameters [3] {
+ Parameter #0 [ <optional> $message ]
+ Parameter #1 [ <optional> $code ]
+ Parameter #2 [ <optional> $previous ]
+ }
+ }
+
+ Method [ <internal:Core, inherits Exception> final public method getMessage ] {
+ }
+
+ Method [ <internal:Core, inherits Exception> final public method getCode ] {
+ }
+
+ Method [ <internal:Core, inherits Exception> final public method getFile ] {
+ }
+
+ Method [ <internal:Core, inherits Exception> final public method getLine ] {
+ }
+
+ Method [ <internal:Core, inherits Exception> final public method getTrace ] {
+ }
+
+ Method [ <internal:Core, inherits Exception> final public method getPrevious ] {
+ }
+
+ Method [ <internal:Core, inherits Exception> final public method getTraceAsString ] {
+ }
+
+ Method [ <internal:Core, inherits Exception> public method __toString ] {
+ }
+ }
+ }
+
+ Class [ <internal:pq> class pq\Exception\DomainException extends DomainException implements pq\Exception ] {
+
+ - Constants [9] {
+ Constant [ integer INVALID_ARGUMENT ] { 0 }
+ Constant [ integer RUNTIME ] { 1 }
+ Constant [ integer CONNECTION_FAILED ] { 2 }
+ Constant [ integer IO ] { 3 }
+ Constant [ integer ESCAPE ] { 4 }
+ Constant [ integer BAD_METHODCALL ] { 5 }
+ Constant [ integer UNINITIALIZED ] { 6 }
+ Constant [ integer DOMAIN ] { 7 }
+ Constant [ integer SQL ] { 8 }
+ }
+
+ - Static properties [0] {
+ }
+
+ - Static methods [0] {
+ }
+
+ - Properties [5] {
+ Property [ <default> protected $message ]
+ Property [ <default> protected $code ]
+ Property [ <default> protected $file ]
+ Property [ <default> protected $line ]
+ Property [ <default> public $sqlstate ]
+ }
+
+ - Methods [9] {
+ Method [ <internal:Core, inherits Exception, ctor> public method __construct ] {
+
+ - Parameters [3] {
+ Parameter #0 [ <optional> $message ]
+ Parameter #1 [ <optional> $code ]
+ Parameter #2 [ <optional> $previous ]
+ }
+ }
+
+ Method [ <internal:Core, inherits Exception> final public method getMessage ] {
+ }
+
+ Method [ <internal:Core, inherits Exception> final public method getCode ] {
+ }
+
+ Method [ <internal:Core, inherits Exception> final public method getFile ] {
+ }
+
+ Method [ <internal:Core, inherits Exception> final public method getLine ] {
+ }
+
+ Method [ <internal:Core, inherits Exception> final public method getTrace ] {
+ }
+
+ Method [ <internal:Core, inherits Exception> final public method getPrevious ] {
+ }
+
+ Method [ <internal:Core, inherits Exception> final public method getTraceAsString ] {
+ }
+
+ Method [ <internal:Core, inherits Exception> public method __toString ] {
+ }
+ }
+ }
+
+ Class [ <internal:pq> class pq\Connection ] {
+
+ - Constants [22] {
+ Constant [ integer OK ] { 0 }
+ Constant [ integer BAD ] { 1 }
+ Constant [ integer STARTED ] { 2 }
+ Constant [ integer MADE ] { 3 }
+ Constant [ integer AWAITING_RESPONSE ] { 4 }
+ Constant [ integer AUTH_OK ] { 5 }
+ Constant [ integer SSL_STARTUP ] { 7 }
+ Constant [ integer SETENV ] { 6 }
+ Constant [ integer TRANS_IDLE ] { 0 }
+ Constant [ integer TRANS_ACTIVE ] { 1 }
+ Constant [ integer TRANS_INTRANS ] { 2 }
+ Constant [ integer TRANS_INERROR ] { 3 }
+ Constant [ integer TRANS_UNKNOWN ] { 4 }
+ Constant [ integer POLLING_FAILED ] { 0 }
+ Constant [ integer POLLING_READING ] { 1 }
+ Constant [ integer POLLING_WRITING ] { 2 }
+ Constant [ integer POLLING_OK ] { 3 }
+ Constant [ string EVENT_NOTICE ] { notice }
+ Constant [ string EVENT_RESULT ] { result }
+ Constant [ string EVENT_RESET ] { reset }
+ Constant [ integer ASYNC ] { 1 }
+ Constant [ integer PERSISTENT ] { 2 }
+ }
+
+ - Static properties [0] {
+ }
+
+ - Static methods [0] {
+ }
+
+ - Properties [19] {
+ Property [ <default> public $status ]
+ Property [ <default> public $transactionStatus ]
+ Property [ <default> public $socket ]
+ Property [ <default> public $errorMessage ]
+ Property [ <default> public $busy ]
+ Property [ <default> public $encoding ]
+ Property [ <default> public $unbuffered ]
+ Property [ <default> public $db ]
+ Property [ <default> public $user ]
+ Property [ <default> public $pass ]
+ Property [ <default> public $host ]
+ Property [ <default> public $port ]
+ Property [ <default> public $options ]
+ Property [ <default> public $eventHandlers ]
+ Property [ <default> public $defaultFetchType ]
+ Property [ <default> public $defaultTransactionIsolation ]
+ Property [ <default> public $defaultTransactionReadonly ]
+ Property [ <default> public $defaultTransactionDeferrable ]
+ Property [ <default> public $defaultAutoConvert ]
+ }
+
+ - Methods [30] {
+ Method [ <internal:pq, ctor> public method __construct ] {
+
+ - Parameters [2] {
+ Parameter #0 [ <required> $dsn ]
+ Parameter #1 [ <optional> $async ]
+ }
+ }
+
+ Method [ <internal:pq> public method reset ] {
+
+ - Parameters [0] {
+ }
+ }
+
+ Method [ <internal:pq> public method resetAsync ] {
+
+ - Parameters [0] {
+ }
+ }
+
+ Method [ <internal:pq> public method poll ] {
+
+ - Parameters [0] {
+ }
+ }
+
+ Method [ <internal:pq> public method exec ] {
+
+ - Parameters [1] {
+ Parameter #0 [ <required> $query ]
+ }
+ }
+
+ Method [ <internal:pq> public method execAsync ] {
+
+ - Parameters [2] {
+ Parameter #0 [ <required> $query ]
+ Parameter #1 [ <optional> $callable ]
+ }
+ }
+
+ Method [ <internal:pq> public method execParams ] {
+
+ - Parameters [3] {
+ Parameter #0 [ <required> $query ]
+ Parameter #1 [ <required> array $params ]
+ Parameter #2 [ <optional> array or NULL $types ]
+ }
+ }
+
+ Method [ <internal:pq> public method execParamsAsync ] {
+
+ - Parameters [4] {
+ Parameter #0 [ <required> $query ]
+ Parameter #1 [ <required> array $params ]
+ Parameter #2 [ <optional> array or NULL $types ]
+ Parameter #3 [ <optional> $callable ]
+ }
+ }
+
+ Method [ <internal:pq> public method prepare ] {
+
+ - Parameters [3] {
+ Parameter #0 [ <required> $name ]
+ Parameter #1 [ <required> $query ]
+ Parameter #2 [ <optional> array or NULL $types ]
+ }
+ }
+
+ Method [ <internal:pq> public method prepareAsync ] {
+
+ - Parameters [3] {
+ Parameter #0 [ <required> $name ]
+ Parameter #1 [ <required> $query ]
+ Parameter #2 [ <optional> array or NULL $types ]
+ }
+ }
+
+ Method [ <internal:pq> public method declare ] {
+
+ - Parameters [3] {
+ Parameter #0 [ <required> $name ]
+ Parameter #1 [ <required> $flags ]
+ Parameter #2 [ <required> $query ]
+ }
+ }
+
+ Method [ <internal:pq> public method declareAsync ] {
+
+ - Parameters [3] {
+ Parameter #0 [ <required> $name ]
+ Parameter #1 [ <required> $flags ]
+ Parameter #2 [ <optional> $query ]
+ }
+ }
+
+ Method [ <internal:pq> public method unlisten ] {
+
+ - Parameters [1] {
+ Parameter #0 [ <required> $channel ]
+ }
+ }
+
+ Method [ <internal:pq> public method unlistenAsync ] {
+
+ - Parameters [1] {
+ Parameter #0 [ <required> $channel ]
+ }
+ }
+
+ Method [ <internal:pq> public method listen ] {
+
+ - Parameters [2] {
+ Parameter #0 [ <required> $channel ]
+ Parameter #1 [ <required> $callable ]
+ }
+ }
+
+ Method [ <internal:pq> public method listenAsync ] {
+
+ - Parameters [2] {
+ Parameter #0 [ <optional> $channel ]
+ Parameter #1 [ <optional> $callable ]
+ }
+ }
+
+ Method [ <internal:pq> public method notify ] {
+
+ - Parameters [2] {
+ Parameter #0 [ <required> $channel ]
+ Parameter #1 [ <required> $message ]
+ }
+ }
+
+ Method [ <internal:pq> public method notifyAsync ] {
+
+ - Parameters [2] {
+ Parameter #0 [ <required> $channel ]
+ Parameter #1 [ <required> $message ]
+ }
+ }
+
+ Method [ <internal:pq> public method getResult ] {
+
+ - Parameters [0] {
+ }
+ }
+
+ Method [ <internal:pq> public method quote ] {
+
+ - Parameters [1] {
+ Parameter #0 [ <required> $string ]
+ }
+ }
+
+ Method [ <internal:pq> public method quoteName ] {
+
+ - Parameters [1] {
+ Parameter #0 [ <required> $type ]
+ }
+ }
+
+ Method [ <internal:pq> public method escapeBytea ] {
+
+ - Parameters [1] {
+ Parameter #0 [ <required> $bytea ]
+ }
+ }
+
+ Method [ <internal:pq> public method unescapeBytea ] {
+
+ - Parameters [1] {
+ Parameter #0 [ <required> $bytea ]
+ }
+ }
+
+ Method [ <internal:pq> public method startTransaction ] {
+
+ - Parameters [3] {
+ Parameter #0 [ <optional> $isolation ]
+ Parameter #1 [ <optional> $readonly ]
+ Parameter #2 [ <optional> $deferrable ]
+ }
+ }
+
+ Method [ <internal:pq> public method startTransactionAsync ] {
+
+ - Parameters [3] {
+ Parameter #0 [ <optional> $isolation ]
+ Parameter #1 [ <optional> $readonly ]
+ Parameter #2 [ <optional> $deferrable ]
+ }
+ }
+
+ Method [ <internal:pq> public method trace ] {
+
+ - Parameters [1] {
+ Parameter #0 [ <optional> $stdio_stream ]
+ }
+ }
+
+ Method [ <internal:pq> public method off ] {
+
+ - Parameters [1] {
+ Parameter #0 [ <required> $type ]
+ }
+ }
+
+ Method [ <internal:pq> public method on ] {
+
+ - Parameters [2] {
+ Parameter #0 [ <required> $type ]
+ Parameter #1 [ <required> $callable ]
+ }
+ }
+
+ Method [ <internal:pq> public method setConverter ] {
+
+ - Parameters [1] {
+ Parameter #0 [ <required> pq\Converter $converter ]
+ }
+ }
+
+ Method [ <internal:pq> public method unsetConverter ] {
+
+ - Parameters [1] {
+ Parameter #0 [ <required> pq\Converter $converter ]
+ }
+ }
+ }
+ }
+
+ Class [ <internal:pq> class pq\Cancel ] {
+
+ - Constants [0] {
+ }
+
+ - Static properties [0] {
+ }
+
+ - Static methods [0] {
+ }
+
+ - Properties [1] {
+ Property [ <default> public $connection ]
+ }
+
+ - Methods [2] {
+ Method [ <internal:pq, ctor> public method __construct ] {
+
+ - Parameters [1] {
+ Parameter #0 [ <required> pq\Connection $connection ]
+ }
+ }
+
+ Method [ <internal:pq> public method cancel ] {
+
+ - Parameters [0] {
+ }
+ }
+ }
+ }
+
+ Class [ <internal:pq> class pq\Types ] {
+
+ - Constants [152] {
+ Constant [ integer BOOL ] { 16 }
+ Constant [ integer BYTEA ] { 17 }
+ Constant [ integer CHAR ] { 18 }
+ Constant [ integer NAME ] { 19 }
+ Constant [ integer INT8 ] { 20 }
+ Constant [ integer INT2 ] { 21 }
+ Constant [ integer INT2VECTOR ] { 22 }
+ Constant [ integer INT4 ] { 23 }
+ Constant [ integer REGPROC ] { 24 }
+ Constant [ integer TEXT ] { 25 }
+ Constant [ integer OID ] { 26 }
+ Constant [ integer TID ] { 27 }
+ Constant [ integer XID ] { 28 }
+ Constant [ integer CID ] { 29 }
+ Constant [ integer OIDVECTOR ] { 30 }
+ Constant [ integer PG_TYPE ] { 71 }
+ Constant [ integer PG_ATTRIBUTE ] { 75 }
+ Constant [ integer PG_PROC ] { 81 }
+ Constant [ integer PG_CLASS ] { 83 }
+ Constant [ integer JSON ] { 114 }
+ Constant [ integer XML ] { 142 }
+ Constant [ integer XMLARRAY ] { 143 }
+ Constant [ integer JSONARRAY ] { 199 }
+ Constant [ integer PG_NODE_TREE ] { 194 }
+ Constant [ integer SMGR ] { 210 }
+ Constant [ integer POINT ] { 600 }
+ Constant [ integer LSEG ] { 601 }
+ Constant [ integer PATH ] { 602 }
+ Constant [ integer BOX ] { 603 }
+ Constant [ integer POLYGON ] { 604 }
+ Constant [ integer LINE ] { 628 }
+ Constant [ integer LINEARRAY ] { 629 }
+ Constant [ integer FLOAT4 ] { 700 }
+ Constant [ integer FLOAT8 ] { 701 }
+ Constant [ integer ABSTIME ] { 702 }
+ Constant [ integer RELTIME ] { 703 }
+ Constant [ integer TINTERVAL ] { 704 }
+ Constant [ integer UNKNOWN ] { 705 }
+ Constant [ integer CIRCLE ] { 718 }
+ Constant [ integer CIRCLEARRAY ] { 719 }
+ Constant [ integer MONEY ] { 790 }
+ Constant [ integer MONEYARRAY ] { 791 }
+ Constant [ integer MACADDR ] { 829 }
+ Constant [ integer INET ] { 869 }
+ Constant [ integer CIDR ] { 650 }
+ Constant [ integer BOOLARRAY ] { 1000 }
+ Constant [ integer BYTEAARRAY ] { 1001 }
+ Constant [ integer CHARARRAY ] { 1002 }
+ Constant [ integer NAMEARRAY ] { 1003 }
+ Constant [ integer INT2ARRAY ] { 1005 }
+ Constant [ integer INT2VECTORARRAY ] { 1006 }
+ Constant [ integer INT4ARRAY ] { 1007 }
+ Constant [ integer REGPROCARRAY ] { 1008 }
+ Constant [ integer TEXTARRAY ] { 1009 }
+ Constant [ integer OIDARRAY ] { 1028 }
+ Constant [ integer TIDARRAY ] { 1010 }
+ Constant [ integer XIDARRAY ] { 1011 }
+ Constant [ integer CIDARRAY ] { 1012 }
+ Constant [ integer OIDVECTORARRAY ] { 1013 }
+ Constant [ integer BPCHARARRAY ] { 1014 }
+ Constant [ integer VARCHARARRAY ] { 1015 }
+ Constant [ integer INT8ARRAY ] { 1016 }
+ Constant [ integer POINTARRAY ] { 1017 }
+ Constant [ integer LSEGARRAY ] { 1018 }
+ Constant [ integer PATHARRAY ] { 1019 }
+ Constant [ integer BOXARRAY ] { 1020 }
+ Constant [ integer FLOAT4ARRAY ] { 1021 }
+ Constant [ integer FLOAT8ARRAY ] { 1022 }
+ Constant [ integer ABSTIMEARRAY ] { 1023 }
+ Constant [ integer RELTIMEARRAY ] { 1024 }
+ Constant [ integer TINTERVALARRAY ] { 1025 }
+ Constant [ integer POLYGONARRAY ] { 1027 }
+ Constant [ integer ACLITEM ] { 1033 }
+ Constant [ integer ACLITEMARRAY ] { 1034 }
+ Constant [ integer MACADDRARRAY ] { 1040 }
+ Constant [ integer INETARRAY ] { 1041 }
+ Constant [ integer CIDRARRAY ] { 651 }
+ Constant [ integer CSTRINGARRAY ] { 1263 }
+ Constant [ integer BPCHAR ] { 1042 }
+ Constant [ integer VARCHAR ] { 1043 }
+ Constant [ integer DATE ] { 1082 }
+ Constant [ integer TIME ] { 1083 }
+ Constant [ integer TIMESTAMP ] { 1114 }
+ Constant [ integer TIMESTAMPARRAY ] { 1115 }
+ Constant [ integer DATEARRAY ] { 1182 }
+ Constant [ integer TIMEARRAY ] { 1183 }
+ Constant [ integer TIMESTAMPTZ ] { 1184 }
+ Constant [ integer TIMESTAMPTZARRAY ] { 1185 }
+ Constant [ integer INTERVAL ] { 1186 }
+ Constant [ integer INTERVALARRAY ] { 1187 }
+ Constant [ integer NUMERICARRAY ] { 1231 }
+ Constant [ integer TIMETZ ] { 1266 }
+ Constant [ integer TIMETZARRAY ] { 1270 }
+ Constant [ integer BIT ] { 1560 }
+ Constant [ integer BITARRAY ] { 1561 }
+ Constant [ integer VARBIT ] { 1562 }
+ Constant [ integer VARBITARRAY ] { 1563 }
+ Constant [ integer NUMERIC ] { 1700 }
+ Constant [ integer REFCURSOR ] { 1790 }
+ Constant [ integer REFCURSORARRAY ] { 2201 }
+ Constant [ integer REGPROCEDURE ] { 2202 }
+ Constant [ integer REGOPER ] { 2203 }
+ Constant [ integer REGOPERATOR ] { 2204 }
+ Constant [ integer REGCLASS ] { 2205 }
+ Constant [ integer REGTYPE ] { 2206 }
+ Constant [ integer REGPROCEDUREARRAY ] { 2207 }
+ Constant [ integer REGOPERARRAY ] { 2208 }
+ Constant [ integer REGOPERATORARRAY ] { 2209 }
+ Constant [ integer REGCLASSARRAY ] { 2210 }
+ Constant [ integer REGTYPEARRAY ] { 2211 }
+ Constant [ integer UUID ] { 2950 }
+ Constant [ integer UUIDARRAY ] { 2951 }
+ Constant [ integer TSVECTOR ] { 3614 }
+ Constant [ integer GTSVECTOR ] { 3642 }
+ Constant [ integer TSQUERY ] { 3615 }
+ Constant [ integer REGCONFIG ] { 3734 }
+ Constant [ integer REGDICTIONARY ] { 3769 }
+ Constant [ integer TSVECTORARRAY ] { 3643 }
+ Constant [ integer GTSVECTORARRAY ] { 3644 }
+ Constant [ integer TSQUERYARRAY ] { 3645 }
+ Constant [ integer REGCONFIGARRAY ] { 3735 }
+ Constant [ integer REGDICTIONARYARRAY ] { 3770 }
+ Constant [ integer TXID_SNAPSHOT ] { 2970 }
+ Constant [ integer TXID_SNAPSHOTARRAY ] { 2949 }
+ Constant [ integer INT4RANGE ] { 3904 }
+ Constant [ integer INT4RANGEARRAY ] { 3905 }
+ Constant [ integer NUMRANGE ] { 3906 }
+ Constant [ integer NUMRANGEARRAY ] { 3907 }
+ Constant [ integer TSRANGE ] { 3908 }
+ Constant [ integer TSRANGEARRAY ] { 3909 }
+ Constant [ integer TSTZRANGE ] { 3910 }
+ Constant [ integer TSTZRANGEARRAY ] { 3911 }
+ Constant [ integer DATERANGE ] { 3912 }
+ Constant [ integer DATERANGEARRAY ] { 3913 }
+ Constant [ integer INT8RANGE ] { 3926 }
+ Constant [ integer INT8RANGEARRAY ] { 3927 }
+ Constant [ integer RECORD ] { 2249 }
+ Constant [ integer RECORDARRAY ] { 2287 }
+ Constant [ integer CSTRING ] { 2275 }
+ Constant [ integer ANY ] { 2276 }
+ Constant [ integer ANYARRAY ] { 2277 }
+ Constant [ integer VOID ] { 2278 }
+ Constant [ integer TRIGGER ] { 2279 }
+ Constant [ integer EVENT_TRIGGER ] { 3838 }
+ Constant [ integer LANGUAGE_HANDLER ] { 2280 }
+ Constant [ integer INTERNAL ] { 2281 }
+ Constant [ integer OPAQUE ] { 2282 }
+ Constant [ integer ANYELEMENT ] { 2283 }
+ Constant [ integer ANYNONARRAY ] { 2776 }
+ Constant [ integer ANYENUM ] { 3500 }
+ Constant [ integer FDW_HANDLER ] { 3115 }
+ Constant [ integer ANYRANGE ] { 3831 }
+ }
+
+ - Static properties [0] {
+ }
+
+ - Static methods [0] {
+ }
+
+ - Properties [1] {
+ Property [ <default> public $connection ]
+ }
+
+ - Methods [2] {
+ Method [ <internal:pq, ctor> public method __construct ] {
+
+ - Parameters [2] {
+ Parameter #0 [ <required> pq\Connection $connection ]
+ Parameter #1 [ <optional> array or NULL $namespaces ]
+ }
+ }
+
+ Method [ <internal:pq> public method refresh ] {
+
+ - Parameters [1] {
+ Parameter #0 [ <optional> array or NULL $namespaces ]
+ }
+ }
+ }
+ }
+
+ Class [ <internal:pq> <iterateable> class pq\Result implements Traversable, Countable ] {
+
+ - Constants [21] {
+ Constant [ integer EMPTY_QUERY ] { 0 }
+ Constant [ integer COMMAND_OK ] { 1 }
+ Constant [ integer TUPLES_OK ] { 2 }
+ Constant [ integer COPY_OUT ] { 3 }
+ Constant [ integer COPY_IN ] { 4 }
+ Constant [ integer BAD_RESPONSE ] { 5 }
+ Constant [ integer NONFATAL_ERROR ] { 6 }
+ Constant [ integer FATAL_ERROR ] { 7 }
+ Constant [ integer COPY_BOTH ] { 8 }
+ Constant [ integer SINGLE_TUPLE ] { 9 }
+ Constant [ integer FETCH_ARRAY ] { 0 }
+ Constant [ integer FETCH_ASSOC ] { 1 }
+ Constant [ integer FETCH_OBJECT ] { 2 }
+ Constant [ integer CONV_BOOL ] { 1 }
+ Constant [ integer CONV_INT ] { 2 }
+ Constant [ integer CONV_FLOAT ] { 4 }
+ Constant [ integer CONV_SCALAR ] { 15 }
+ Constant [ integer CONV_ARRAY ] { 16 }
+ Constant [ integer CONV_DATETIME ] { 32 }
+ Constant [ integer CONV_JSON ] { 256 }
+ Constant [ integer CONV_ALL ] { 65535 }
+ }
+
+ - Static properties [0] {
+ }
+
+ - Static methods [0] {
+ }
+
+ - Properties [8] {
+ Property [ <default> public $status ]
+ Property [ <default> public $statusMessage ]
+ Property [ <default> public $errorMessage ]
+ Property [ <default> public $numRows ]
+ Property [ <default> public $numCols ]
+ Property [ <default> public $affectedRows ]
+ Property [ <default> public $fetchType ]
+ Property [ <default> public $autoConvert ]
+ }
+
+ - Methods [9] {
+ Method [ <internal:pq> public method bind ] {
+
+ - Parameters [2] {
+ Parameter #0 [ <required> $col ]
+ Parameter #1 [ <required> &$ref ]
+ }
+ }
+
+ Method [ <internal:pq> public method fetchBound ] {
+
+ - Parameters [0] {
+ }
+ }
+
+ Method [ <internal:pq> public method fetchRow ] {
+
+ - Parameters [1] {
+ Parameter #0 [ <optional> $fetch_type ]
+ }
+ }
+
+ Method [ <internal:pq> public method fetchCol ] {
+
+ - Parameters [2] {
+ Parameter #0 [ <required> &$ref ]
+ Parameter #1 [ <optional> $col ]
+ }
+ }
+
+ Method [ <internal:pq> public method fetchAll ] {
+
+ - Parameters [1] {
+ Parameter #0 [ <optional> $fetch_type ]
+ }
+ }
+
+ Method [ <internal:pq> public method fetchAllCols ] {
+
+ - Parameters [1] {
+ Parameter #0 [ <optional> $col ]
+ }
+ }
+
+ Method [ <internal:pq, prototype Countable> public method count ] {
+
+ - Parameters [0] {
+ }
+ }
+
+ Method [ <internal:pq> public method map ] {
+
+ - Parameters [3] {
+ Parameter #0 [ <optional> $keys ]
+ Parameter #1 [ <optional> $vals ]
+ Parameter #2 [ <optional> $fetch_type ]
+ }
+ }
+
+ Method [ <internal:pq> public method desc ] {
+
+ - Parameters [0] {
+ }
+ }
+ }
+ }
+
+ Class [ <internal:pq> class pq\Statement ] {
+
+ - Constants [0] {
+ }
+
+ - Static properties [0] {
+ }
+
+ - Static methods [0] {
+ }
+
+ - Properties [2] {
+ Property [ <default> public $name ]
+ Property [ <default> public $connection ]
+ }
+
+ - Methods [6] {
+ Method [ <internal:pq, ctor> public method __construct ] {
+
+ - Parameters [5] {
+ Parameter #0 [ <required> pq\Connection $connection ]
+ Parameter #1 [ <required> $name ]
+ Parameter #2 [ <required> $query ]
+ Parameter #3 [ <optional> array or NULL $types ]
+ Parameter #4 [ <optional> $async ]
+ }
+ }
+
+ Method [ <internal:pq> public method bind ] {
+
+ - Parameters [2] {
+ Parameter #0 [ <required> $param_no ]
+ Parameter #1 [ <required> &$param_ref ]
+ }
+ }
+
+ Method [ <internal:pq> public method exec ] {
+
+ - Parameters [1] {
+ Parameter #0 [ <optional> array or NULL $params ]
+ }
+ }
+
+ Method [ <internal:pq> public method desc ] {
+
+ - Parameters [0] {
+ }
+ }
+
+ Method [ <internal:pq> public method execAsync ] {
+
+ - Parameters [2] {
+ Parameter #0 [ <optional> array or NULL $params ]
+ Parameter #1 [ <optional> $callable ]
+ }
+ }
+
+ Method [ <internal:pq> public method descAsync ] {
+
+ - Parameters [1] {
+ Parameter #0 [ <required> $callable ]
+ }
+ }
+ }
+ }
+
+ Class [ <internal:pq> class pq\Transaction ] {
+
+ - Constants [3] {
+ Constant [ integer READ_COMMITTED ] { 0 }
+ Constant [ integer REPEATABLE_READ ] { 1 }
+ Constant [ integer SERIALIZABLE ] { 2 }
+ }
+
+ - Static properties [0] {
+ }
+
+ - Static methods [0] {
+ }
+
+ - Properties [4] {
+ Property [ <default> public $connection ]
+ Property [ <default> public $isolation ]
+ Property [ <default> public $readonly ]
+ Property [ <default> public $deferrable ]
+ }
+
+ - Methods [16] {
+ Method [ <internal:pq, ctor> public method __construct ] {
+
+ - Parameters [5] {
+ Parameter #0 [ <required> pq\Connection $connection ]
+ Parameter #1 [ <optional> $async ]
+ Parameter #2 [ <optional> $isolation ]
+ Parameter #3 [ <optional> $readonly ]
+ Parameter #4 [ <optional> $deferrable ]
+ }
+ }
+
+ Method [ <internal:pq> public method commit ] {
+
+ - Parameters [0] {
+ }
+ }
+
+ Method [ <internal:pq> public method rollback ] {
+
+ - Parameters [0] {
+ }
+ }
+
+ Method [ <internal:pq> public method commitAsync ] {
+
+ - Parameters [0] {
+ }
+ }
+
+ Method [ <internal:pq> public method rollbackAsync ] {
+
+ - Parameters [0] {
+ }
+ }
+
+ Method [ <internal:pq> public method savepoint ] {
+
+ - Parameters [0] {
+ }
+ }
+
+ Method [ <internal:pq> public method savepointAsync ] {
+
+ - Parameters [0] {
+ }
+ }
+
+ Method [ <internal:pq> public method exportSnapshot ] {
+
+ - Parameters [0] {
+ }
+ }
+
+ Method [ <internal:pq> public method exportSnapshotAsync ] {
+
+ - Parameters [0] {
+ }
+ }
+
+ Method [ <internal:pq> public method importSnapshot ] {
+
+ - Parameters [1] {
+ Parameter #0 [ <required> $snapshot_id ]
+ }
+ }
+
+ Method [ <internal:pq> public method importSnapshotAsync ] {
+
+ - Parameters [1] {
+ Parameter #0 [ <required> $snapshot_id ]
+ }
+ }
+
+ Method [ <internal:pq> public method openLOB ] {
+
+ - Parameters [2] {
+ Parameter #0 [ <required> $oid ]
+ Parameter #1 [ <optional> $mode ]
+ }
+ }
+
+ Method [ <internal:pq> public method createLOB ] {
+
+ - Parameters [1] {
+ Parameter #0 [ <optional> $mode ]
+ }
+ }
+
+ Method [ <internal:pq> public method unlinkLOB ] {
+
+ - Parameters [1] {
+ Parameter #0 [ <required> $oid ]
+ }
+ }
+
+ Method [ <internal:pq> public method importLOB ] {
+
+ - Parameters [2] {
+ Parameter #0 [ <required> $local_path ]
+ Parameter #1 [ <optional> $oid ]
+ }
+ }
+
+ Method [ <internal:pq> public method exportLOB ] {
+
+ - Parameters [2] {
+ Parameter #0 [ <required> $oid ]
+ Parameter #1 [ <required> $local_path ]
+ }
+ }
+ }
+ }
+
+ Class [ <internal:pq> class pq\Cursor ] {
+
+ - Constants [5] {
+ Constant [ integer BINARY ] { 1 }
+ Constant [ integer INSENSITIVE ] { 2 }
+ Constant [ integer WITH_HOLD ] { 4 }
+ Constant [ integer SCROLL ] { 16 }
+ Constant [ integer NO_SCROLL ] { 32 }
+ }
+
+ - Static properties [0] {
+ }
+
+ - Static methods [0] {
+ }
+
+ - Properties [2] {
+ Property [ <default> public $name ]
+ Property [ <default> public $connection ]
+ }
+
+ - Methods [7] {
+ Method [ <internal:pq, ctor> public method __construct ] {
+
+ - Parameters [5] {
+ Parameter #0 [ <required> pq\Connection $connection ]
+ Parameter #1 [ <required> $name ]
+ Parameter #2 [ <required> $flags ]
+ Parameter #3 [ <required> $query ]
+ Parameter #4 [ <optional> $async ]
+ }
+ }
+
+ Method [ <internal:pq> public method open ] {
+
+ - Parameters [0] {
+ }
+ }
+
+ Method [ <internal:pq> public method close ] {
+
+ - Parameters [0] {
+ }
+ }
+
+ Method [ <internal:pq> public method fetch ] {
+
+ - Parameters [1] {
+ Parameter #0 [ <required> $spec ]
+ }
+ }
+
+ Method [ <internal:pq> public method move ] {
+
+ - Parameters [1] {
+ Parameter #0 [ <optional> $spec ]
+ }
+ }
+
+ Method [ <internal:pq> public method fetchAsync ] {
+
+ - Parameters [2] {
+ Parameter #0 [ <optional> $spec ]
+ Parameter #1 [ <optional> $callback ]
+ }
+ }
+
+ Method [ <internal:pq> public method moveAsync ] {
+
+ - Parameters [2] {
+ Parameter #0 [ <optional> $spec ]
+ Parameter #1 [ <optional> $callback ]
+ }
+ }
+ }
+ }
+
+ Class [ <internal:pq> class pq\COPY ] {
+
+ - Constants [2] {
+ Constant [ integer FROM_STDIN ] { 0 }
+ Constant [ integer TO_STDOUT ] { 1 }
+ }
+
+ - Static properties [0] {
+ }
+
+ - Static methods [0] {
+ }
+
+ - Properties [4] {
+ Property [ <default> public $connection ]
+ Property [ <default> public $expression ]
+ Property [ <default> public $direction ]
+ Property [ <default> public $options ]
+ }
+
+ - Methods [4] {
+ Method [ <internal:pq, ctor> public method __construct ] {
+
+ - Parameters [4] {
+ Parameter #0 [ <required> pq\Connection $connection ]
+ Parameter #1 [ <required> $expression ]
+ Parameter #2 [ <required> $direction ]
+ Parameter #3 [ <optional> $options ]
+ }
+ }
+
+ Method [ <internal:pq> public method put ] {
+
+ - Parameters [1] {
+ Parameter #0 [ <required> $data ]
+ }
+ }
+
+ Method [ <internal:pq> public method end ] {
+
+ - Parameters [1] {
+ Parameter #0 [ <optional> $error ]
+ }
+ }
+
+ Method [ <internal:pq> public method get ] {
+
+ - Parameters [1] {
+ Parameter #0 [ <required> &$data ]
+ }
+ }
+ }
+ }
+
+ Class [ <internal:pq> class pq\LOB ] {
+
+ - Constants [4] {
+ Constant [ integer INVALID_OID ] { 0 }
+ Constant [ integer R ] { 262144 }
+ Constant [ integer W ] { 131072 }
+ Constant [ integer RW ] { 393216 }
+ }
+
+ - Static properties [0] {
+ }
+
+ - Static methods [0] {
+ }
+
+ - Properties [3] {
+ Property [ <default> public $transaction ]
+ Property [ <default> public $oid ]
+ Property [ <default> public $stream ]
+ }
+
+ - Methods [6] {
+ Method [ <internal:pq, ctor> public method __construct ] {
+
+ - Parameters [3] {
+ Parameter #0 [ <required> pq\Transaction $transaction ]
+ Parameter #1 [ <optional> $oid ]
+ Parameter #2 [ <optional> $mode ]
+ }
+ }
+
+ Method [ <internal:pq> public method write ] {
+
+ - Parameters [1] {
+ Parameter #0 [ <required> $data ]
+ }
+ }
+
+ Method [ <internal:pq> public method read ] {
+
+ - Parameters [2] {
+ Parameter #0 [ <optional> $length ]
+ Parameter #1 [ <optional> &$read ]
+ }
+ }
+
+ Method [ <internal:pq> public method seek ] {
+
+ - Parameters [2] {
+ Parameter #0 [ <required> $offset ]
+ Parameter #1 [ <optional> $whence ]
+ }
+ }
+
+ Method [ <internal:pq> public method tell ] {
+
+ - Parameters [0] {
+ }
+ }
+
+ Method [ <internal:pq> public method truncate ] {
+
+ - Parameters [1] {
+ Parameter #0 [ <optional> $length ]
+ }
+ }
+ }
+ }
+ }
+}
+
diff --git a/php-pecl-pq.spec b/php-pecl-pq.spec
new file mode 100644
index 0000000..a73a4f8
--- /dev/null
+++ b/php-pecl-pq.spec
@@ -0,0 +1,228 @@
+# spec file for php-pecl-pq
+#
+# Copyright (c) 2014 Remi Collet
+# License: CC-BY-SA
+# http://creativecommons.org/licenses/by-sa/3.0/
+#
+# Please, preserve the changelog entries
+#
+%{?scl: %scl_package php-pecl-pq}
+%{!?php_inidir: %global php_inidir %{_sysconfdir}/php.d}
+%{!?__pecl: %global __pecl %{_bindir}/pecl}
+%{!?__php: %global __php %{_bindir}/php}
+
+%global with_zts 0%{?__ztsphp:1}
+%global pecl_name pq
+# Test suite disabled, as require a postgresql server
+%global with_tests %{?_with_tests:1}%{!?_with_tests:0}
+%if "%{php_version}" < "5.6"
+# After raph, json
+%global ini_name z-%{pecl_name}.ini
+%else
+# After 40-json, 40-raphf
+%global ini_name 50-%{pecl_name}.ini
+%endif
+
+Summary: PostgreSQL client library (libpq) binding
+Name: %{?scl_prefix}php-pecl-%{pecl_name}
+Version: 0.5.1
+Release: 1%{?dist}%{!?nophptag:%(%{__php} -r 'echo ".".PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')}
+License: BSD
+Group: Development/Languages
+URL: http://pecl.php.net/package/%{pecl_name}
+Source0: http://pecl.php.net/get/%{pecl_name}-%{version}.tgz
+
+BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
+BuildRequires: postgresql-devel
+BuildRequires: %{?scl_prefix}php-devel > 5.2
+BuildRequires: %{?scl_prefix}php-pear
+BuildRequires: %{?scl_prefix}php-json
+BuildRequires: %{?scl_prefix}php-pecl-raphf-devel
+
+Requires(post): %{__pecl}
+Requires(postun): %{__pecl}
+Requires: %{?scl_prefix}php(zend-abi) = %{php_zend_api}
+Requires: %{?scl_prefix}php(api) = %{php_core_api}
+Requires: %{?scl_prefix}php-json%{?_isa}
+Requires: %{?scl_prefix}php-raphf%{?_isa}
+%{?_sclreq:Requires: %{?scl_prefix}runtime%{?_sclreq}%{?_isa}}
+
+Provides: %{?scl_prefix}php-%{pecl_name} = %{version}
+Provides: %{?scl_prefix}php-%{pecl_name}%{?_isa} = %{version}
+Provides: %{?scl_prefix}php-pecl(%{pecl_name}) = %{version}
+Provides: %{?scl_prefix}php-pecl(%{pecl_name})%{?_isa} = %{version}
+
+%if "%{?vendor}" == "Remi Collet" && 0%{!?scl:1}
+# Other third party repo stuff
+Obsoletes: php53-pecl-%{pecl_name} <= %{version}
+Obsoletes: php53u-pecl-%{pecl_name} <= %{version}
+Obsoletes: php54-pecl-%{pecl_name} <= %{version}
+Obsoletes: php54w-pecl-%{pecl_name} <= %{version}
+%if "%{php_version}" > "5.5"
+Obsoletes: php55u-pecl-%{pecl_name} <= %{version}
+Obsoletes: php55w-pecl-%{pecl_name} <= %{version}
+%endif
+%if "%{php_version}" > "5.6"
+Obsoletes: php56u-pecl-%{pecl_name} <= %{version}
+Obsoletes: php56w-pecl-%{pecl_name} <= %{version}
+%endif
+%endif
+
+%if 0%{?fedora} < 20 && 0%{?rhel} < 7
+# Filter shared private
+%{?filter_provides_in: %filter_provides_in %{_libdir}/.*\.so$}
+%{?filter_setup}
+%endif
+
+
+%description
+PostgreSQL client library (libpq) binding.
+
+Documents: http://devel-m6w6.rhcloud.com/mdref/pq
+
+Highlights:
+* Nearly complete support for asynchronous usage
+* Extended type support by pg_type
+* Fetching simple multi-dimensional array maps
+* Working Gateway implementation
+
+Package built for PHP %(%{__php} -r 'echo PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')%{?scl: as Software Collection}.
+
+
+%prep
+%setup -q -c
+mv %{pecl_name}-%{version} NTS
+
+# Don't install tests
+sed -e '/role="test"/d' -i package.xml
+
+cd NTS
+# Sanity check, really often broken
+extver=$(sed -n '/#define PHP_PQ_VERSION/{s/.* "//;s/".*$//;p}' php_pq.h)
+if test "x${extver}" != "x%{version}"; then
+ : Error: Upstream extension version is ${extver}, expecting %{version}.
+ exit 1
+fi
+cd ..
+
+%if %{with_zts}
+# Duplicate source tree for NTS / ZTS build
+cp -pr NTS ZTS
+%endif
+
+# Create configuration file
+cat << 'EOF' | tee %{ini_name}
+; Enable "%{summary}" extension module
+extension=%{pecl_name}.so
+EOF
+
+
+%build
+cd NTS
+%{_bindir}/phpize
+%configure \
+ --with-php-config=%{_bindir}/php-config
+make %{?_smp_mflags}
+
+%if %{with_zts}
+cd ../ZTS
+%{_bindir}/zts-phpize
+%configure \
+ --with-php-config=%{_bindir}/zts-php-config
+make %{?_smp_mflags}
+%endif
+
+
+%install
+rm -rf %{buildroot}
+
+make -C NTS install INSTALL_ROOT=%{buildroot}
+
+# install config file
+install -D -m 644 %{ini_name} %{buildroot}%{php_inidir}/%{ini_name}
+
+# Install XML package description
+install -D -m 644 package.xml %{buildroot}%{pecl_xmldir}/%{name}.xml
+
+%if %{with_zts}
+make -C ZTS install INSTALL_ROOT=%{buildroot}
+
+install -D -m 644 %{ini_name} %{buildroot}%{php_ztsinidir}/%{ini_name}
+%endif
+
+# Documentation
+for i in $(grep 'role="doc"' package.xml | sed -e 's/^.*name="//;s/".*$//')
+do install -Dpm 644 NTS/$i %{buildroot}%{pecl_docdir}/%{pecl_name}/$i
+done
+
+
+%post
+%{pecl_install} %{pecl_xmldir}/%{name}.xml >/dev/null || :
+
+
+%postun
+if [ $1 -eq 0 ] ; then
+ %{pecl_uninstall} %{pecl_name} >/dev/null || :
+fi
+
+
+%check
+cd NTS
+OPT="-n"
+[ -f %{php_extdir}/json.so ] && OPT="$OPT -d extension=json.so"
+[ -f %{php_extdir}/raphf.so ] && OPT="$OPT -d extension=raphf.so"
+
+: Minimal load test for NTS extension
+%{__php} $OPT \
+ --define extension=%{buildroot}%{php_extdir}/%{pecl_name}.so \
+ --modules | grep %{pecl_name}
+
+%if %{with_tests}
+: Upstream test suite for NTS extension
+TEST_PHP_EXECUTABLE=%{__php} \
+TEST_PHP_ARGS="$OPT -d extension=$PWD/modules/%{pecl_name}.so" \
+NO_INTERACTION=1 \
+REPORT_EXIT_STATUS=1 \
+%{__php} -n run-tests.php --show-diff
+%endif
+
+%if %{with_zts}
+cd ../ZTS
+: Minimal load test for ZTS extension
+%{__ztsphp} $OPT \
+ --define extension=%{buildroot}%{php_ztsextdir}/%{pecl_name}.so \
+ --modules | grep %{pecl_name}
+
+%if %{with_tests}
+: Upstream test suite for ZTS extension
+TEST_PHP_EXECUTABLE=%{_bindir}/zts-php \
+TEST_PHP_ARGS="$OPT -d extension=$PWD/modules/%{pecl_name}.so" \
+NO_INTERACTION=1 \
+REPORT_EXIT_STATUS=1 \
+%{_bindir}/zts-php -n run-tests.php --show-diff
+%endif
+%endif
+
+
+%clean
+rm -rf %{buildroot}
+
+
+%files
+%defattr(-,root,root,-)
+%doc %{pecl_docdir}/%{pecl_name}
+%{?_licensedir:%license NTS/LICENSE}
+
+%{pecl_xmldir}/%{name}.xml
+%config(noreplace) %{php_inidir}/%{ini_name}
+%{php_extdir}/%{pecl_name}.so
+
+%if %{with_zts}
+%config(noreplace) %{php_ztsinidir}/%{ini_name}
+%{php_ztsextdir}/%{pecl_name}.so
+%endif
+
+
+%changelog
+* Thu Oct 16 2014 Remi Collet <remi@fedoraproject.org> - 0.5.1-1
+- initial package, version 0.5.1 (beta) \ No newline at end of file