swoole / ext-postgresql

🐘 Coroutine-based client for PostgreSQL
64 stars 21 forks source link

Bugfix in getMetaData #17

Closed codercms closed 4 years ago

codercms commented 4 years ago

Content of all rows is equals to the content of last row.

Table schema is: image

\Swoole\Coroutine\run(function () {
    $pg = new \Swoole\Coroutine\PostgreSQL();
    $conn = $pg->connect('host=127.0.0.1 port=5433 dbname=test user=test password=secret');

    dump($pg->metaData('companies'))
}

Output is:

Click to expand ``` ^ array:15 [ "id" => array:7 [ "num" => 15 "type" => "timestamp" "len" => 8 "not null" => false "has default" => false "array dims" => 0 "is enum" => false ] "original_name" => array:7 [ "num" => 15 "type" => "timestamp" "len" => 8 "not null" => false "has default" => false "array dims" => 0 "is enum" => false ] "name_rus" => array:7 [ "num" => 15 "type" => "timestamp" "len" => 8 "not null" => false "has default" => false "array dims" => 0 "is enum" => false ] "name_rus_short" => array:7 [ "num" => 15 "type" => "timestamp" "len" => 8 "not null" => false "has default" => false "array dims" => 0 "is enum" => false ] "inn" => array:7 [ "num" => 15 "type" => "timestamp" "len" => 8 "not null" => false "has default" => false "array dims" => 0 "is enum" => false ] "kpp" => array:7 [ "num" => 15 "type" => "timestamp" "len" => 8 "not null" => false "has default" => false "array dims" => 0 "is enum" => false ] "is_foreign" => array:7 [ "num" => 15 "type" => "timestamp" "len" => 8 "not null" => false "has default" => false "array dims" => 0 "is enum" => false ] "is_manufacturer" => array:7 [ "num" => 15 "type" => "timestamp" "len" => 8 "not null" => false "has default" => false "array dims" => 0 "is enum" => false ] "is_holder" => array:7 [ "num" => 15 "type" => "timestamp" "len" => 8 "not null" => false "has default" => false "array dims" => 0 "is enum" => false ] "is_distributor" => array:7 [ "num" => 15 "type" => "timestamp" "len" => 8 "not null" => false "has default" => false "array dims" => 0 "is enum" => false ] "is_pharmacy" => array:7 [ "num" => 15 "type" => "timestamp" "len" => 8 "not null" => false "has default" => false "array dims" => 0 "is enum" => false ] "note" => array:7 [ "num" => 15 "type" => "timestamp" "len" => 8 "not null" => false "has default" => false "array dims" => 0 "is enum" => false ] "created_at" => array:7 [ "num" => 15 "type" => "timestamp" "len" => 8 "not null" => false "has default" => false "array dims" => 0 "is enum" => false ] "updated_at" => array:7 [ "num" => 15 "type" => "timestamp" "len" => 8 "not null" => false "has default" => false "array dims" => 0 "is enum" => false ] "deleted_at" => array:7 [ "num" => 15 "type" => "timestamp" "len" => 8 "not null" => false "has default" => false "array dims" => 0 "is enum" => false ] ] ```

After fix output is:

Click to expand ``` ^ array:15 [ "id" => array:7 [ "num" => 1 "type" => "uuid" "len" => 16 "not null" => true "has default" => false "array dims" => 0 "is enum" => false ] "original_name" => array:7 [ "num" => 2 "type" => "text" "len" => -1 "not null" => false "has default" => false "array dims" => 0 "is enum" => false ] "name_rus" => array:7 [ "num" => 3 "type" => "text" "len" => -1 "not null" => true "has default" => false "array dims" => 0 "is enum" => false ] "name_rus_short" => array:7 [ "num" => 4 "type" => "text" "len" => -1 "not null" => true "has default" => false "array dims" => 0 "is enum" => false ] "inn" => array:7 [ "num" => 5 "type" => "varchar" "len" => -1 "not null" => false "has default" => false "array dims" => 0 "is enum" => false ] "kpp" => array:7 [ "num" => 6 "type" => "varchar" "len" => -1 "not null" => false "has default" => false "array dims" => 0 "is enum" => false ] "is_foreign" => array:7 [ "num" => 7 "type" => "bool" "len" => 1 "not null" => true "has default" => true "array dims" => 0 "is enum" => false ] "is_manufacturer" => array:7 [ "num" => 8 "type" => "bool" "len" => 1 "not null" => true "has default" => true "array dims" => 0 "is enum" => false ] "is_holder" => array:7 [ "num" => 9 "type" => "bool" "len" => 1 "not null" => true "has default" => true "array dims" => 0 "is enum" => false ] "is_distributor" => array:7 [ "num" => 10 "type" => "bool" "len" => 1 "not null" => true "has default" => true "array dims" => 0 "is enum" => false ] "is_pharmacy" => array:7 [ "num" => 11 "type" => "bool" "len" => 1 "not null" => true "has default" => true "array dims" => 0 "is enum" => false ] "note" => array:7 [ "num" => 12 "type" => "text" "len" => -1 "not null" => false "has default" => false "array dims" => 0 "is enum" => false ] "created_at" => array:7 [ "num" => 13 "type" => "timestamp" "len" => 8 "not null" => false "has default" => false "array dims" => 0 "is enum" => false ] "updated_at" => array:7 [ "num" => 14 "type" => "timestamp" "len" => 8 "not null" => false "has default" => false "array dims" => 0 "is enum" => false ] "deleted_at" => array:7 [ "num" => 15 "type" => "timestamp" "len" => 8 "not null" => false "has default" => false "array dims" => 0 "is enum" => false ] ] ```
yunnian commented 4 years ago

@codercms thanks