diff options
| -rw-r--r-- | PHPINFO | 4 | ||||
| -rw-r--r-- | REFLECTION | 559 | ||||
| -rw-r--r-- | php-pecl-pq.spec | 27 | ||||
| -rw-r--r-- | pq-upstream.patch | 49 | 
4 files changed, 396 insertions, 243 deletions
| @@ -2,7 +2,7 @@  pq  PQ Support => enabled -Extension Version => 2.2.0 +Extension Version => 2.2.1  Used Library => Compiled => Linked -libpq => 12.7 => 12.0.7 +libpq => 14.3 => 14.0.3 @@ -1,4 +1,4 @@ -Extension [ <persistent> extension #124 pq version 2.2.0 ] { +Extension [ <persistent> extension #122 pq version 2.2.1 ] {    - Dependencies {      Dependency [ raphf (Required) ] @@ -46,7 +46,7 @@ Extension [ <persistent> extension #124 pq version 2.2.0 ] {        }      } -    Class [ <internal:pq> class pq\DateTime extends DateTime implements DateTimeInterface, JsonSerializable ] { +    Class [ <internal:pq> class pq\DateTime extends DateTime implements Stringable, DateTimeInterface, JsonSerializable ] {        - Constants [13] {          Constant [ public string ATOM ] { Y-m-d\TH:i:sP } @@ -67,14 +67,15 @@ Extension [ <persistent> extension #124 pq version 2.2.0 ] {        - Static properties [0] {        } -      - Static methods [4] { +      - Static methods [5] {          Method [ <internal:pq, overwrites DateTime, prototype DateTime> static public method createFromFormat ] {            - Parameters [3] {              Parameter #0 [ <required> $format ]              Parameter #1 [ <required> $datetime ] -            Parameter #2 [ <optional> DateTimeZone or NULL $object ] +            Parameter #2 [ <optional> ?DateTimeZone $object = <default> ]            } +          - Tentative return [ DateTime|false ]          }          Method [ <internal:date, inherits DateTime> static public method __set_state ] { @@ -82,149 +83,179 @@ Extension [ <persistent> extension #124 pq version 2.2.0 ] {            - Parameters [1] {              Parameter #0 [ <required> array $array ]            } +          - Tentative return [ DateTime ]          }          Method [ <internal:date, inherits DateTime> static public method createFromImmutable ] {            - Parameters [1] { -            Parameter #0 [ <required> $DateTimeImmutable ] +            Parameter #0 [ <required> DateTimeImmutable $object ]            } +          - Tentative return [ DateTime ] +        } + +        Method [ <internal:date, inherits DateTime> static public method createFromInterface ] { + +          - Parameters [1] { +            Parameter #0 [ <required> DateTimeInterface $object ] +          } +          - Return [ DateTime ]          }          Method [ <internal:date, inherits DateTime> static public method getLastErrors ] {            - Parameters [0] {            } +          - Tentative return [ array|false ]          }        }        - Properties [1] { -        Property [ <default> public $format ] +        Property [ public $format = 'Y-m-d H:i:s.uO' ]        }        - Methods [17] { -        Method [ <internal:pq> public method __toString ] { +        Method [ <internal:pq, prototype Stringable> public method __toString ] {            - Parameters [0] {            } +          - Return [ string ]          }          Method [ <internal:pq, prototype JsonSerializable> public method jsonSerialize ] {            - Parameters [0] {            } +          - Tentative return [ mixed ]          }          Method [ <internal:date, inherits DateTime, ctor> public method __construct ] {            - Parameters [2] { -            Parameter #0 [ <optional> $time ] -            Parameter #1 [ <optional> $timezone ] +            Parameter #0 [ <optional> string $datetime = "now" ] +            Parameter #1 [ <optional> ?DateTimeZone $timezone = null ]            }          }          Method [ <internal:date, inherits DateTime, prototype DateTimeInterface> public method __wakeup ] { + +          - Parameters [0] { +          } +          - Tentative return [ void ]          }          Method [ <internal:date, inherits DateTime, prototype DateTimeInterface> public method format ] {            - Parameters [1] { -            Parameter #0 [ <required> $format ] +            Parameter #0 [ <required> string $format ]            } +          - Tentative return [ string ]          }          Method [ <internal:date, inherits DateTime> public method modify ] {            - Parameters [1] { -            Parameter #0 [ <required> $modify ] +            Parameter #0 [ <required> string $modifier ]            } +          - Tentative return [ DateTime|false ]          }          Method [ <internal:date, inherits DateTime> public method add ] {            - Parameters [1] { -            Parameter #0 [ <required> $interval ] +            Parameter #0 [ <required> DateInterval $interval ]            } +          - Tentative return [ DateTime ]          }          Method [ <internal:date, inherits DateTime> public method sub ] {            - Parameters [1] { -            Parameter #0 [ <required> $interval ] +            Parameter #0 [ <required> DateInterval $interval ]            } +          - Tentative return [ DateTime ]          }          Method [ <internal:date, inherits DateTime, prototype DateTimeInterface> public method getTimezone ] {            - Parameters [0] {            } +          - Tentative return [ DateTimeZone|false ]          }          Method [ <internal:date, inherits DateTime> public method setTimezone ] {            - Parameters [1] { -            Parameter #0 [ <required> $timezone ] +            Parameter #0 [ <required> DateTimeZone $timezone ]            } +          - Tentative return [ DateTime ]          }          Method [ <internal:date, inherits DateTime, prototype DateTimeInterface> public method getOffset ] {            - Parameters [0] {            } +          - Tentative return [ int ]          }          Method [ <internal:date, inherits DateTime> public method setTime ] {            - Parameters [4] { -            Parameter #0 [ <required> $hour ] -            Parameter #1 [ <required> $minute ] -            Parameter #2 [ <optional> $second ] -            Parameter #3 [ <optional> $microseconds ] +            Parameter #0 [ <required> int $hour ] +            Parameter #1 [ <required> int $minute ] +            Parameter #2 [ <optional> int $second = 0 ] +            Parameter #3 [ <optional> int $microsecond = 0 ]            } +          - Tentative return [ DateTime ]          }          Method [ <internal:date, inherits DateTime> public method setDate ] {            - Parameters [3] { -            Parameter #0 [ <required> $year ] -            Parameter #1 [ <required> $month ] -            Parameter #2 [ <required> $day ] +            Parameter #0 [ <required> int $year ] +            Parameter #1 [ <required> int $month ] +            Parameter #2 [ <required> int $day ]            } +          - Tentative return [ DateTime ]          }          Method [ <internal:date, inherits DateTime> public method setISODate ] {            - Parameters [3] { -            Parameter #0 [ <required> $year ] -            Parameter #1 [ <required> $week ] -            Parameter #2 [ <optional> $day ] +            Parameter #0 [ <required> int $year ] +            Parameter #1 [ <required> int $week ] +            Parameter #2 [ <optional> int $dayOfWeek = 1 ]            } +          - Tentative return [ DateTime ]          }          Method [ <internal:date, inherits DateTime> public method setTimestamp ] {            - Parameters [1] { -            Parameter #0 [ <required> $unixtimestamp ] +            Parameter #0 [ <required> int $timestamp ]            } +          - Tentative return [ DateTime ]          }          Method [ <internal:date, inherits DateTime, prototype DateTimeInterface> public method getTimestamp ] {            - Parameters [0] {            } +          - Tentative return [ int ]          }          Method [ <internal:date, inherits DateTime, prototype DateTimeInterface> public method diff ] {            - Parameters [2] { -            Parameter #0 [ <required> $object ] -            Parameter #1 [ <optional> $absolute ] +            Parameter #0 [ <required> DateTimeInterface $targetObject ] +            Parameter #1 [ <optional> bool $absolute = false ]            } +          - Tentative return [ DateInterval ]          }        }      } -    Interface [ <internal:pq> interface pq\Exception extends Throwable ] { +    Interface [ <internal:pq> interface pq\Exception extends Throwable, Stringable ] {        - Constants [9] {          Constant [ public int INVALID_ARGUMENT ] { 0 } @@ -249,32 +280,63 @@ Extension [ <persistent> extension #124 pq version 2.2.0 ] {        - Methods [8] {          Method [ <internal:Core, inherits Throwable> abstract public method getMessage ] { + +          - Parameters [0] { +          } +          - Return [ string ]          }          Method [ <internal:Core, inherits Throwable> abstract public method getCode ] { + +          - Parameters [0] { +          }          }          Method [ <internal:Core, inherits Throwable> abstract public method getFile ] { + +          - Parameters [0] { +          } +          - Return [ string ]          }          Method [ <internal:Core, inherits Throwable> abstract public method getLine ] { + +          - Parameters [0] { +          } +          - Return [ int ]          }          Method [ <internal:Core, inherits Throwable> abstract public method getTrace ] { + +          - Parameters [0] { +          } +          - Return [ array ]          }          Method [ <internal:Core, inherits Throwable> abstract public method getPrevious ] { + +          - Parameters [0] { +          } +          - Return [ ?Throwable ]          }          Method [ <internal:Core, inherits Throwable> abstract public method getTraceAsString ] { + +          - Parameters [0] { +          } +          - Return [ string ]          } -        Method [ <internal:Core, inherits Throwable> abstract public method __toString ] { +        Method [ <internal:Core, inherits Stringable> abstract public method __toString ] { + +          - Parameters [0] { +          } +          - Return [ string ]          }        }      } -    Class [ <internal:pq> class pq\Exception\InvalidArgumentException extends InvalidArgumentException implements Throwable, pq\Exception ] { +    Class [ <internal:pq> class pq\Exception\InvalidArgumentException extends InvalidArgumentException implements Throwable, Stringable, pq\Exception ] {        - Constants [9] {          Constant [ public int INVALID_ARGUMENT ] { 0 } @@ -295,52 +357,87 @@ Extension [ <persistent> extension #124 pq version 2.2.0 ] {        }        - Properties [4] { -        Property [ <default> protected $message ] -        Property [ <default> protected $code ] -        Property [ <default> protected $file ] -        Property [ <default> protected $line ] +        Property [ protected $message = '' ] +        Property [ protected $code = 0 ] +        Property [ protected string $file = '' ] +        Property [ protected int $line = 0 ]        }        - Methods [10] {          Method [ <internal:Core, inherits Exception, ctor> public method __construct ] {            - Parameters [3] { -            Parameter #0 [ <optional> $message ] -            Parameter #1 [ <optional> $code ] -            Parameter #2 [ <optional> $previous ] +            Parameter #0 [ <optional> string $message = "" ] +            Parameter #1 [ <optional> int $code = 0 ] +            Parameter #2 [ <optional> ?Throwable $previous = null ]            }          }          Method [ <internal:Core, inherits Exception> public method __wakeup ] { + +          - Parameters [0] { +          } +          - Tentative return [ void ]          }          Method [ <internal:Core, inherits Exception, prototype Throwable> final public method getMessage ] { + +          - Parameters [0] { +          } +          - Return [ string ]          }          Method [ <internal:Core, inherits Exception, prototype Throwable> final public method getCode ] { + +          - Parameters [0] { +          }          }          Method [ <internal:Core, inherits Exception, prototype Throwable> final public method getFile ] { + +          - Parameters [0] { +          } +          - Return [ string ]          }          Method [ <internal:Core, inherits Exception, prototype Throwable> final public method getLine ] { + +          - Parameters [0] { +          } +          - Return [ int ]          }          Method [ <internal:Core, inherits Exception, prototype Throwable> final public method getTrace ] { + +          - Parameters [0] { +          } +          - Return [ array ]          }          Method [ <internal:Core, inherits Exception, prototype Throwable> final public method getPrevious ] { + +          - Parameters [0] { +          } +          - Return [ ?Throwable ]          }          Method [ <internal:Core, inherits Exception, prototype Throwable> final public method getTraceAsString ] { + +          - Parameters [0] { +          } +          - Return [ string ]          } -        Method [ <internal:Core, inherits Exception, prototype Throwable> public method __toString ] { +        Method [ <internal:Core, inherits Exception, prototype Stringable> public method __toString ] { + +          - Parameters [0] { +          } +          - Return [ string ]          }        }      } -    Class [ <internal:pq> class pq\Exception\RuntimeException extends RuntimeException implements Throwable, pq\Exception ] { +    Class [ <internal:pq> class pq\Exception\RuntimeException extends RuntimeException implements Stringable, Throwable, pq\Exception ] {        - Constants [9] {          Constant [ public int INVALID_ARGUMENT ] { 0 } @@ -361,52 +458,87 @@ Extension [ <persistent> extension #124 pq version 2.2.0 ] {        }        - Properties [4] { -        Property [ <default> protected $message ] -        Property [ <default> protected $code ] -        Property [ <default> protected $file ] -        Property [ <default> protected $line ] +        Property [ protected $message = '' ] +        Property [ protected $code = 0 ] +        Property [ protected string $file = '' ] +        Property [ protected int $line = 0 ]        }        - Methods [10] {          Method [ <internal:Core, inherits Exception, ctor> public method __construct ] {            - Parameters [3] { -            Parameter #0 [ <optional> $message ] -            Parameter #1 [ <optional> $code ] -            Parameter #2 [ <optional> $previous ] +            Parameter #0 [ <optional> string $message = "" ] +            Parameter #1 [ <optional> int $code = 0 ] +            Parameter #2 [ <optional> ?Throwable $previous = null ]            }          }          Method [ <internal:Core, inherits Exception> public method __wakeup ] { + +          - Parameters [0] { +          } +          - Tentative return [ void ]          }          Method [ <internal:Core, inherits Exception, prototype Throwable> final public method getMessage ] { + +          - Parameters [0] { +          } +          - Return [ string ]          }          Method [ <internal:Core, inherits Exception, prototype Throwable> final public method getCode ] { + +          - Parameters [0] { +          }          }          Method [ <internal:Core, inherits Exception, prototype Throwable> final public method getFile ] { + +          - Parameters [0] { +          } +          - Return [ string ]          }          Method [ <internal:Core, inherits Exception, prototype Throwable> final public method getLine ] { + +          - Parameters [0] { +          } +          - Return [ int ]          }          Method [ <internal:Core, inherits Exception, prototype Throwable> final public method getTrace ] { + +          - Parameters [0] { +          } +          - Return [ array ]          }          Method [ <internal:Core, inherits Exception, prototype Throwable> final public method getPrevious ] { + +          - Parameters [0] { +          } +          - Return [ ?Throwable ]          }          Method [ <internal:Core, inherits Exception, prototype Throwable> final public method getTraceAsString ] { + +          - Parameters [0] { +          } +          - Return [ string ]          } -        Method [ <internal:Core, inherits Exception, prototype Throwable> public method __toString ] { +        Method [ <internal:Core, inherits Exception, prototype Stringable> public method __toString ] { + +          - Parameters [0] { +          } +          - Return [ string ]          }        }      } -    Class [ <internal:pq> class pq\Exception\BadMethodCallException extends BadMethodCallException implements Throwable, pq\Exception ] { +    Class [ <internal:pq> class pq\Exception\BadMethodCallException extends BadMethodCallException implements Stringable, Throwable, pq\Exception ] {        - Constants [9] {          Constant [ public int INVALID_ARGUMENT ] { 0 } @@ -427,52 +559,87 @@ Extension [ <persistent> extension #124 pq version 2.2.0 ] {        }        - Properties [4] { -        Property [ <default> protected $message ] -        Property [ <default> protected $code ] -        Property [ <default> protected $file ] -        Property [ <default> protected $line ] +        Property [ protected $message = '' ] +        Property [ protected $code = 0 ] +        Property [ protected string $file = '' ] +        Property [ protected int $line = 0 ]        }        - Methods [10] {          Method [ <internal:Core, inherits Exception, ctor> public method __construct ] {            - Parameters [3] { -            Parameter #0 [ <optional> $message ] -            Parameter #1 [ <optional> $code ] -            Parameter #2 [ <optional> $previous ] +            Parameter #0 [ <optional> string $message = "" ] +            Parameter #1 [ <optional> int $code = 0 ] +            Parameter #2 [ <optional> ?Throwable $previous = null ]            }          }          Method [ <internal:Core, inherits Exception> public method __wakeup ] { + +          - Parameters [0] { +          } +          - Tentative return [ void ]          }          Method [ <internal:Core, inherits Exception, prototype Throwable> final public method getMessage ] { + +          - Parameters [0] { +          } +          - Return [ string ]          }          Method [ <internal:Core, inherits Exception, prototype Throwable> final public method getCode ] { + +          - Parameters [0] { +          }          }          Method [ <internal:Core, inherits Exception, prototype Throwable> final public method getFile ] { + +          - Parameters [0] { +          } +          - Return [ string ]          }          Method [ <internal:Core, inherits Exception, prototype Throwable> final public method getLine ] { + +          - Parameters [0] { +          } +          - Return [ int ]          }          Method [ <internal:Core, inherits Exception, prototype Throwable> final public method getTrace ] { + +          - Parameters [0] { +          } +          - Return [ array ]          }          Method [ <internal:Core, inherits Exception, prototype Throwable> final public method getPrevious ] { + +          - Parameters [0] { +          } +          - Return [ ?Throwable ]          }          Method [ <internal:Core, inherits Exception, prototype Throwable> final public method getTraceAsString ] { + +          - Parameters [0] { +          } +          - Return [ string ]          } -        Method [ <internal:Core, inherits Exception, prototype Throwable> public method __toString ] { +        Method [ <internal:Core, inherits Exception, prototype Stringable> public method __toString ] { + +          - Parameters [0] { +          } +          - Return [ string ]          }        }      } -    Class [ <internal:pq> class pq\Exception\DomainException extends DomainException implements Throwable, pq\Exception ] { +    Class [ <internal:pq> class pq\Exception\DomainException extends DomainException implements Throwable, Stringable, pq\Exception ] {        - Constants [9] {          Constant [ public int INVALID_ARGUMENT ] { 0 } @@ -493,48 +660,83 @@ Extension [ <persistent> extension #124 pq version 2.2.0 ] {        }        - Properties [5] { -        Property [ <default> protected $message ] -        Property [ <default> protected $code ] -        Property [ <default> protected $file ] -        Property [ <default> protected $line ] -        Property [ <default> public $sqlstate ] +        Property [ protected $message = '' ] +        Property [ protected $code = 0 ] +        Property [ protected string $file = '' ] +        Property [ protected int $line = 0 ] +        Property [ public $sqlstate = NULL ]        }        - Methods [10] {          Method [ <internal:Core, inherits Exception, ctor> public method __construct ] {            - Parameters [3] { -            Parameter #0 [ <optional> $message ] -            Parameter #1 [ <optional> $code ] -            Parameter #2 [ <optional> $previous ] +            Parameter #0 [ <optional> string $message = "" ] +            Parameter #1 [ <optional> int $code = 0 ] +            Parameter #2 [ <optional> ?Throwable $previous = null ]            }          }          Method [ <internal:Core, inherits Exception> public method __wakeup ] { + +          - Parameters [0] { +          } +          - Tentative return [ void ]          }          Method [ <internal:Core, inherits Exception, prototype Throwable> final public method getMessage ] { + +          - Parameters [0] { +          } +          - Return [ string ]          }          Method [ <internal:Core, inherits Exception, prototype Throwable> final public method getCode ] { + +          - Parameters [0] { +          }          }          Method [ <internal:Core, inherits Exception, prototype Throwable> final public method getFile ] { + +          - Parameters [0] { +          } +          - Return [ string ]          }          Method [ <internal:Core, inherits Exception, prototype Throwable> final public method getLine ] { + +          - Parameters [0] { +          } +          - Return [ int ]          }          Method [ <internal:Core, inherits Exception, prototype Throwable> final public method getTrace ] { + +          - Parameters [0] { +          } +          - Return [ array ]          }          Method [ <internal:Core, inherits Exception, prototype Throwable> final public method getPrevious ] { + +          - Parameters [0] { +          } +          - Return [ ?Throwable ]          }          Method [ <internal:Core, inherits Exception, prototype Throwable> final public method getTraceAsString ] { + +          - Parameters [0] { +          } +          - Return [ string ]          } -        Method [ <internal:Core, inherits Exception, prototype Throwable> public method __toString ] { +        Method [ <internal:Core, inherits Exception, prototype Stringable> public method __toString ] { + +          - Parameters [0] { +          } +          - Return [ string ]          }        }      } @@ -576,29 +778,29 @@ Extension [ <persistent> extension #124 pq version 2.2.0 ] {        }        - Properties [23] { -        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 $nonblocking ] -        Property [ <default> public $db ] -        Property [ <default> public $user ] -        Property [ <default> public $pass ] -        Property [ <default> public $host ] -        Property [ <default> public $port ] -        Property [ <default> public $params ] -        Property [ <default> public $options ] -        Property [ <default> public $eventHandlers ] -        Property [ <default> public $listeners ] -        Property [ <default> public $converters ] -        Property [ <default> public $defaultFetchType ] -        Property [ <default> public $defaultTransactionIsolation ] -        Property [ <default> public $defaultTransactionReadonly ] -        Property [ <default> public $defaultTransactionDeferrable ] -        Property [ <default> public $defaultAutoConvert ] +        Property [ public $status = 1 ] +        Property [ public $transactionStatus = 4 ] +        Property [ public $socket = NULL ] +        Property [ public $errorMessage = NULL ] +        Property [ public $busy = false ] +        Property [ public $encoding = NULL ] +        Property [ public $unbuffered = false ] +        Property [ public $nonblocking = false ] +        Property [ public $db = NULL ] +        Property [ public $user = NULL ] +        Property [ public $pass = NULL ] +        Property [ public $host = NULL ] +        Property [ public $port = NULL ] +        Property [ public $params = NULL ] +        Property [ public $options = NULL ] +        Property [ public $eventHandlers = NULL ] +        Property [ public $listeners = NULL ] +        Property [ public $converters = NULL ] +        Property [ public $defaultFetchType = 0 ] +        Property [ public $defaultTransactionIsolation = 0 ] +        Property [ public $defaultTransactionReadonly = false ] +        Property [ public $defaultTransactionDeferrable = false ] +        Property [ public $defaultAutoConvert = 65535 ]        }        - Methods [31] { @@ -606,7 +808,7 @@ Extension [ <persistent> extension #124 pq version 2.2.0 ] {            - Parameters [2] {              Parameter #0 [ <required> $dsn ] -            Parameter #1 [ <optional> $flags ] +            Parameter #1 [ <optional> $flags = <default> ]            }          } @@ -645,7 +847,7 @@ Extension [ <persistent> extension #124 pq version 2.2.0 ] {            - Parameters [2] {              Parameter #0 [ <required> $query ] -            Parameter #1 [ <optional> $callable ] +            Parameter #1 [ <optional> $callable = <default> ]            }          } @@ -654,7 +856,7 @@ Extension [ <persistent> extension #124 pq version 2.2.0 ] {            - Parameters [3] {              Parameter #0 [ <required> $query ]              Parameter #1 [ <required> array $params ] -            Parameter #2 [ <optional> array or NULL $types ] +            Parameter #2 [ <optional> ?array $types = <default> ]            }          } @@ -663,8 +865,8 @@ Extension [ <persistent> extension #124 pq version 2.2.0 ] {            - Parameters [4] {              Parameter #0 [ <required> $query ]              Parameter #1 [ <required> array $params ] -            Parameter #2 [ <optional> array or NULL $types ] -            Parameter #3 [ <optional> $callable ] +            Parameter #2 [ <optional> ?array $types = <default> ] +            Parameter #3 [ <optional> $callable = <default> ]            }          } @@ -673,7 +875,7 @@ Extension [ <persistent> extension #124 pq version 2.2.0 ] {            - Parameters [3] {              Parameter #0 [ <required> $name ]              Parameter #1 [ <required> $query ] -            Parameter #2 [ <optional> array or NULL $types ] +            Parameter #2 [ <optional> ?array $types = <default> ]            }          } @@ -682,7 +884,7 @@ Extension [ <persistent> extension #124 pq version 2.2.0 ] {            - Parameters [3] {              Parameter #0 [ <required> $name ]              Parameter #1 [ <required> $query ] -            Parameter #2 [ <optional> array or NULL $types ] +            Parameter #2 [ <optional> ?array $types = <default> ]            }          } @@ -700,7 +902,7 @@ Extension [ <persistent> extension #124 pq version 2.2.0 ] {            - Parameters [3] {              Parameter #0 [ <required> $name ]              Parameter #1 [ <required> $flags ] -            Parameter #2 [ <optional> $query ] +            Parameter #2 [ <optional> $query = <default> ]            }          } @@ -729,8 +931,8 @@ Extension [ <persistent> extension #124 pq version 2.2.0 ] {          Method [ <internal:pq> public method listenAsync ] {            - Parameters [2] { -            Parameter #0 [ <optional> $channel ] -            Parameter #1 [ <optional> $callable ] +            Parameter #0 [ <optional> $channel = <default> ] +            Parameter #1 [ <optional> $callable = <default> ]            }          } @@ -787,25 +989,25 @@ Extension [ <persistent> extension #124 pq version 2.2.0 ] {          Method [ <internal:pq> public method startTransaction ] {            - Parameters [3] { -            Parameter #0 [ <optional> $isolation ] -            Parameter #1 [ <optional> $readonly ] -            Parameter #2 [ <optional> $deferrable ] +            Parameter #0 [ <optional> $isolation = <default> ] +            Parameter #1 [ <optional> $readonly = <default> ] +            Parameter #2 [ <optional> $deferrable = <default> ]            }          }          Method [ <internal:pq> public method startTransactionAsync ] {            - Parameters [3] { -            Parameter #0 [ <optional> $isolation ] -            Parameter #1 [ <optional> $readonly ] -            Parameter #2 [ <optional> $deferrable ] +            Parameter #0 [ <optional> $isolation = <default> ] +            Parameter #1 [ <optional> $readonly = <default> ] +            Parameter #2 [ <optional> $deferrable = <default> ]            }          }          Method [ <internal:pq> public method trace ] {            - Parameters [1] { -            Parameter #0 [ <optional> $stdio_stream ] +            Parameter #0 [ <optional> $stdio_stream = <default> ]            }          } @@ -852,7 +1054,7 @@ Extension [ <persistent> extension #124 pq version 2.2.0 ] {        }        - Properties [1] { -        Property [ <default> public $connection ] +        Property [ public $connection = NULL ]        }        - Methods [2] { @@ -1044,7 +1246,7 @@ Extension [ <persistent> extension #124 pq version 2.2.0 ] {        }        - Properties [1] { -        Property [ <default> public $connection ] +        Property [ public $connection = NULL ]        }        - Methods [2] { @@ -1052,22 +1254,22 @@ Extension [ <persistent> extension #124 pq version 2.2.0 ] {            - Parameters [2] {              Parameter #0 [ <required> pq\Connection $connection ] -            Parameter #1 [ <optional> array or NULL $namespaces ] +            Parameter #1 [ <optional> ?array $namespaces = <default> ]            }          }          Method [ <internal:pq> public method refresh ] {            - Parameters [1] { -            Parameter #0 [ <optional> array or NULL $namespaces ] +            Parameter #0 [ <optional> ?array $namespaces = <default> ]            }          }        }      } -    Class [ <internal:pq> <iterateable> class pq\Result implements Traversable, Countable ] { +    Class [ <internal:pq> <iterateable> class pq\Result implements IteratorAggregate, Traversable, Countable ] { -      - Constants [22] { +      - Constants [21] {          Constant [ public int EMPTY_QUERY ] { 0 }          Constant [ public int COMMAND_OK ] { 1 }          Constant [ public int TUPLES_OK ] { 2 } @@ -1087,7 +1289,6 @@ Extension [ <persistent> extension #124 pq version 2.2.0 ] {          Constant [ public int CONV_SCALAR ] { 15 }          Constant [ public int CONV_ARRAY ] { 16 }          Constant [ public int CONV_DATETIME ] { 32 } -        Constant [ public int CONV_JSON ] { 256 }          Constant [ public int CONV_BYTEA ] { 8 }          Constant [ public int CONV_ALL ] { 65535 }        } @@ -1099,18 +1300,18 @@ Extension [ <persistent> extension #124 pq version 2.2.0 ] {        }        - Properties [9] { -        Property [ <default> public $status ] -        Property [ <default> public $statusMessage ] -        Property [ <default> public $errorMessage ] -        Property [ <default> public $diag ] -        Property [ <default> public $numRows ] -        Property [ <default> public $numCols ] -        Property [ <default> public $affectedRows ] -        Property [ <default> public $fetchType ] -        Property [ <default> public $autoConvert ] +        Property [ public $status = NULL ] +        Property [ public $statusMessage = NULL ] +        Property [ public $errorMessage = NULL ] +        Property [ public $diag = NULL ] +        Property [ public $numRows = 0 ] +        Property [ public $numCols = 0 ] +        Property [ public $affectedRows = 0 ] +        Property [ public $fetchType = 0 ] +        Property [ public $autoConvert = 65535 ]        } -      - Methods [9] { +      - Methods [10] {          Method [ <internal:pq> public method bind ] {            - Parameters [2] { @@ -1128,7 +1329,7 @@ Extension [ <persistent> extension #124 pq version 2.2.0 ] {          Method [ <internal:pq> public method fetchRow ] {            - Parameters [1] { -            Parameter #0 [ <optional> $fetch_type ] +            Parameter #0 [ <optional> $fetch_type = <default> ]            }          } @@ -1136,21 +1337,21 @@ Extension [ <persistent> extension #124 pq version 2.2.0 ] {            - Parameters [2] {              Parameter #0 [ <required> &$ref ] -            Parameter #1 [ <optional> $col ] +            Parameter #1 [ <optional> $col = <default> ]            }          }          Method [ <internal:pq> public method fetchAll ] {            - Parameters [1] { -            Parameter #0 [ <optional> $fetch_type ] +            Parameter #0 [ <optional> $fetch_type = <default> ]            }          }          Method [ <internal:pq> public method fetchAllCols ] {            - Parameters [1] { -            Parameter #0 [ <optional> $col ] +            Parameter #0 [ <optional> $col = <default> ]            }          } @@ -1158,14 +1359,15 @@ Extension [ <persistent> extension #124 pq version 2.2.0 ] {            - Parameters [0] {            } +          - Tentative return [ int ]          }          Method [ <internal:pq> public method map ] {            - Parameters [3] { -            Parameter #0 [ <optional> $keys ] -            Parameter #1 [ <optional> $vals ] -            Parameter #2 [ <optional> $fetch_type ] +            Parameter #0 [ <optional> $keys = <default> ] +            Parameter #1 [ <optional> $vals = <default> ] +            Parameter #2 [ <optional> $fetch_type = <default> ]            }          } @@ -1174,6 +1376,13 @@ Extension [ <persistent> extension #124 pq version 2.2.0 ] {            - Parameters [0] {            }          } + +        Method [ <internal:pq, prototype IteratorAggregate> public method getIterator ] { + +          - Parameters [0] { +          } +          - Tentative return [ Traversable ] +        }        }      } @@ -1189,10 +1398,10 @@ Extension [ <persistent> extension #124 pq version 2.2.0 ] {        }        - Properties [4] { -        Property [ <default> public $name ] -        Property [ <default> public $connection ] -        Property [ <default> public $query ] -        Property [ <default> public $types ] +        Property [ public $name = NULL ] +        Property [ public $connection = NULL ] +        Property [ public $query = NULL ] +        Property [ public $types = NULL ]        }        - Methods [10] { @@ -1202,8 +1411,8 @@ Extension [ <persistent> extension #124 pq version 2.2.0 ] {              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 ] +            Parameter #3 [ <optional> ?array $types = <default> ] +            Parameter #4 [ <optional> $async = <default> ]            }          } @@ -1243,15 +1452,15 @@ Extension [ <persistent> extension #124 pq version 2.2.0 ] {          Method [ <internal:pq> public method exec ] {            - Parameters [1] { -            Parameter #0 [ <optional> array or NULL $params ] +            Parameter #0 [ <optional> ?array $params = <default> ]            }          }          Method [ <internal:pq> public method execAsync ] {            - Parameters [2] { -            Parameter #0 [ <optional> array or NULL $params ] -            Parameter #1 [ <optional> $callable ] +            Parameter #0 [ <optional> ?array $params = <default> ] +            Parameter #1 [ <optional> $callable = <default> ]            }          } @@ -1284,10 +1493,10 @@ Extension [ <persistent> extension #124 pq version 2.2.0 ] {        }        - Properties [4] { -        Property [ <default> public $connection ] -        Property [ <default> public $isolation ] -        Property [ <default> public $readonly ] -        Property [ <default> public $deferrable ] +        Property [ public $connection = NULL ] +        Property [ public $isolation = NULL ] +        Property [ public $readonly = false ] +        Property [ public $deferrable = false ]        }        - Methods [16] { @@ -1295,10 +1504,10 @@ Extension [ <persistent> extension #124 pq version 2.2.0 ] {            - Parameters [5] {              Parameter #0 [ <required> pq\Connection $connection ] -            Parameter #1 [ <optional> $async ] -            Parameter #2 [ <optional> $isolation ] -            Parameter #3 [ <optional> $readonly ] -            Parameter #4 [ <optional> $deferrable ] +            Parameter #1 [ <optional> $async = <default> ] +            Parameter #2 [ <optional> $isolation = <default> ] +            Parameter #3 [ <optional> $readonly = <default> ] +            Parameter #4 [ <optional> $deferrable = <default> ]            }          } @@ -1368,14 +1577,14 @@ Extension [ <persistent> extension #124 pq version 2.2.0 ] {            - Parameters [2] {              Parameter #0 [ <required> $oid ] -            Parameter #1 [ <optional> $mode ] +            Parameter #1 [ <optional> $mode = <default> ]            }          }          Method [ <internal:pq> public method createLOB ] {            - Parameters [1] { -            Parameter #0 [ <optional> $mode ] +            Parameter #0 [ <optional> $mode = <default> ]            }          } @@ -1390,7 +1599,7 @@ Extension [ <persistent> extension #124 pq version 2.2.0 ] {            - Parameters [2] {              Parameter #0 [ <required> $local_path ] -            Parameter #1 [ <optional> $oid ] +            Parameter #1 [ <optional> $oid = <default> ]            }          } @@ -1421,10 +1630,10 @@ Extension [ <persistent> extension #124 pq version 2.2.0 ] {        }        - Properties [4] { -        Property [ <default> public $name ] -        Property [ <default> public $connection ] -        Property [ <default> public $query ] -        Property [ <default> public $flags ] +        Property [ public $name = NULL ] +        Property [ public $connection = NULL ] +        Property [ public $query = NULL ] +        Property [ public $flags = NULL ]        }        - Methods [9] { @@ -1435,7 +1644,7 @@ Extension [ <persistent> extension #124 pq version 2.2.0 ] {              Parameter #1 [ <required> $name ]              Parameter #2 [ <required> $flags ]              Parameter #3 [ <required> $query ] -            Parameter #4 [ <optional> $async ] +            Parameter #4 [ <optional> $async = <default> ]            }          } @@ -1473,23 +1682,23 @@ Extension [ <persistent> extension #124 pq version 2.2.0 ] {          Method [ <internal:pq> public method move ] {            - Parameters [1] { -            Parameter #0 [ <optional> $spec ] +            Parameter #0 [ <optional> $spec = <default> ]            }          }          Method [ <internal:pq> public method fetchAsync ] {            - Parameters [2] { -            Parameter #0 [ <optional> $spec ] -            Parameter #1 [ <optional> $callback ] +            Parameter #0 [ <optional> $spec = <default> ] +            Parameter #1 [ <optional> $callback = <default> ]            }          }          Method [ <internal:pq> public method moveAsync ] {            - Parameters [2] { -            Parameter #0 [ <optional> $spec ] -            Parameter #1 [ <optional> $callback ] +            Parameter #0 [ <optional> $spec = <default> ] +            Parameter #1 [ <optional> $callback = <default> ]            }          }        } @@ -1509,10 +1718,10 @@ Extension [ <persistent> extension #124 pq version 2.2.0 ] {        }        - Properties [4] { -        Property [ <default> public $connection ] -        Property [ <default> public $expression ] -        Property [ <default> public $direction ] -        Property [ <default> public $options ] +        Property [ public $connection = NULL ] +        Property [ public $expression = NULL ] +        Property [ public $direction = NULL ] +        Property [ public $options = NULL ]        }        - Methods [4] { @@ -1522,7 +1731,7 @@ Extension [ <persistent> extension #124 pq version 2.2.0 ] {              Parameter #0 [ <required> pq\Connection $connection ]              Parameter #1 [ <required> $expression ]              Parameter #2 [ <required> $direction ] -            Parameter #3 [ <optional> $options ] +            Parameter #3 [ <optional> $options = <default> ]            }          } @@ -1536,7 +1745,7 @@ Extension [ <persistent> extension #124 pq version 2.2.0 ] {          Method [ <internal:pq> public method end ] {            - Parameters [1] { -            Parameter #0 [ <optional> $error ] +            Parameter #0 [ <optional> $error = <default> ]            }          } @@ -1565,9 +1774,9 @@ Extension [ <persistent> extension #124 pq version 2.2.0 ] {        }        - Properties [3] { -        Property [ <default> public $transaction ] -        Property [ <default> public $oid ] -        Property [ <default> public $stream ] +        Property [ public $transaction = NULL ] +        Property [ public $oid = 0 ] +        Property [ public $stream = NULL ]        }        - Methods [6] { @@ -1575,8 +1784,8 @@ Extension [ <persistent> extension #124 pq version 2.2.0 ] {            - Parameters [3] {              Parameter #0 [ <required> pq\Transaction $transaction ] -            Parameter #1 [ <optional> $oid ] -            Parameter #2 [ <optional> $mode ] +            Parameter #1 [ <optional> $oid = <default> ] +            Parameter #2 [ <optional> $mode = <default> ]            }          } @@ -1590,8 +1799,8 @@ Extension [ <persistent> extension #124 pq version 2.2.0 ] {          Method [ <internal:pq> public method read ] {            - Parameters [2] { -            Parameter #0 [ <optional> $length ] -            Parameter #1 [ <optional> &$read ] +            Parameter #0 [ <optional> $length = <default> ] +            Parameter #1 [ <optional> &$read = <default> ]            }          } @@ -1599,7 +1808,7 @@ Extension [ <persistent> extension #124 pq version 2.2.0 ] {            - Parameters [2] {              Parameter #0 [ <required> $offset ] -            Parameter #1 [ <optional> $whence ] +            Parameter #1 [ <optional> $whence = <default> ]            }          } @@ -1612,7 +1821,7 @@ Extension [ <persistent> extension #124 pq version 2.2.0 ] {          Method [ <internal:pq> public method truncate ] {            - Parameters [1] { -            Parameter #0 [ <optional> $length ] +            Parameter #0 [ <optional> $length = <default> ]            }          }        } diff --git a/php-pecl-pq.spec b/php-pecl-pq.spec index a4ff3cb..1eac230 100644 --- a/php-pecl-pq.spec +++ b/php-pecl-pq.spec @@ -1,7 +1,7 @@  # remirepo spec file for php-pecl-pq  # -# Copyright (c) 2014-2022 Remi Collet -# License: CC-BY-SA +# Copyright (c) 2014-2023 Remi Collet +# License: CC-BY-SA-4.0  # http://creativecommons.org/licenses/by-sa/4.0/  #  # Please, preserve the changelog entries @@ -26,19 +26,17 @@  Summary:        PostgreSQL client library (libpq) binding  Name:           %{?scl_prefix}php-pecl-%{pecl_name} -Version:        2.2.0 +Version:        2.2.1  %if 0%{?gh_date:1} -Release:        0.12.%{gh_date}git%{gh_short}%{?dist}%{!?scl:%{!?nophptag:%(%{__php} -r 'echo ".".PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')}} +Release:        1%{gh_date}git%{gh_short}%{?dist}%{!?scl:%{!?nophptag:%(%{__php} -r 'echo ".".PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')}}  Source0:        https://github.com/%{gh_owner}/%{gh_project}/archive/%{gh_commit}/%{pecl_name}-%{version}-%{gh_short}.tar.gz  %else -Release:        8%{?dist}%{!?scl:%{!?nophptag:%(%{__php} -r 'echo ".".PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')}} +Release:        1%{?dist}%{!?scl:%{!?nophptag:%(%{__php} -r 'echo ".".PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')}}  Source0:        https://pecl.php.net/get/%{pecl_name}-%{version}%{?prever}.tgz  %endif -License:        BSD +License:        BSD-2-Clause  URL:            https://pecl.php.net/package/%{pecl_name} -Patch0:         %{pecl_name}-upstream.patch -  %if 0%{?fedora} >= 29 && 0%{?rhel} >= 8  BuildRequires:  libpq-devel > 9  %else @@ -66,7 +64,7 @@ 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 "%{?packager}" == "Remi Collet" && 0%{!?scl:1} && 0%{?rhel} +%if "%{?packager}" == "Remi Collet" && 0%{!?scl:1} && 0%{?rhel} == 7  # Other third party repo stuff  %if "%{php_version}" > "7.2"  Obsoletes:     php72u-pecl-%{pecl_name} <= %{version} @@ -77,12 +75,6 @@ Obsoletes:      php73-pecl-%{pecl_name} <= %{version}  %if "%{php_version}" > "7.4"  Obsoletes:      php74-pecl-%{pecl_name} <= %{version}  %endif -%if "%{php_version}" > "8.0" -Obsoletes:      php80-pecl-%{pecl_name} <= %{version} -%endif -%if "%{php_version}" > "8.1" -Obsoletes:      php81-pecl-%{pecl_name} <= %{version} -%endif  %endif @@ -115,8 +107,6 @@ sed -e '/role="test"/d' \      -i package.xml  cd NTS -%patch0 -p1 -  # Sanity check, really often broken  extver=$(sed -n '/#define PHP_PQ_VERSION/{s/.* "//;s/".*$//;p}' php_pq.h)  if test "x${extver}" != "x%{version}%{?prever}"; then @@ -288,6 +278,9 @@ exit $RET  %changelog +* Fri Mar  3 2023 Remi Collet <remi@remirepo.net> - 2.2.1-1 +- update to 2.2.1 +  * Thu Sep  8 2022 Remi Collet <remi@remirepo.net> - 2.2.0-8  - add upstream patch for 8.2 and from    https://github.com/m6w6/ext-pq/pull/44 diff --git a/pq-upstream.patch b/pq-upstream.patch deleted file mode 100644 index f4fbb3d..0000000 --- a/pq-upstream.patch +++ /dev/null @@ -1,49 +0,0 @@ -From 64cc2702825f663e8da413dab235d18145f073b7 Mon Sep 17 00:00:00 2001 -From: Michael Wallner <mike@php.net> -Date: Wed, 10 Nov 2021 10:12:57 +0100 -Subject: [PATCH] PHP-8.2 compat with __toString - ---- - src/php_pq_misc.c | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/src/php_pq_misc.c b/src/php_pq_misc.c -index 70f32da..9acef34 100644 ---- a/src/php_pq_misc.c -+++ b/src/php_pq_misc.c -@@ -138,7 +138,11 @@ ZEND_END_ARG_INFO() - #define ai_pqdt_jsonserialize ai_pqdt_to_string - #endif -  -+#if PHP_VERSION_ID >= 80200 -+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(ai_pqdt_to_string, 0, 0, IS_STRING, 0) -+#else - ZEND_BEGIN_ARG_INFO_EX(ai_pqdt_to_string, 0, 0, 0) -+#endif - ZEND_END_ARG_INFO(); - static PHP_METHOD(pqdt, __toString) - { - -From e518cb365f1e28dd4779ce37888a89ac54278c65 Mon Sep 17 00:00:00 2001 -From: Remi Collet <remi@remirepo.net> -Date: Thu, 8 Sep 2022 17:24:42 +0200 -Subject: [PATCH] allow dynamic properties in Pq\Connection - ---- - src/php_pqconn.c | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/src/php_pqconn.c b/src/php_pqconn.c -index 6278323..0b39d25 100644 ---- a/src/php_pqconn.c -+++ b/src/php_pqconn.c -@@ -2001,6 +2001,9 @@ PHP_MINIT_FUNCTION(pqconn) - 	INIT_NS_CLASS_ENTRY(ce, "pq", "Connection", php_pqconn_methods); - 	php_pqconn_class_entry = zend_register_internal_class_ex(&ce, NULL); - 	php_pqconn_class_entry->create_object = php_pqconn_create_object; -+#if PHP_VERSION_ID >= 80200 -+	php_pqconn_class_entry->ce_flags |= ZEND_ACC_ALLOW_DYNAMIC_PROPERTIES; -+#endif -  - 	memcpy(&php_pqconn_object_handlers, zend_get_std_object_handlers(), sizeof(zend_object_handlers)); - 	php_pqconn_object_handlers.offset = XtOffsetOf(php_pqconn_object_t, zo); | 
