From a8020e562da70bacf123a9d53e23e0b88edbe2ba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=94=D0=BC=D0=B8=D1=82=D1=80=D0=B8=D0=B9?= Date: Sun, 31 Oct 2021 12:36:41 +0300 Subject: [PATCH 1/6] Range parser with real data tests --- .phpunit.result.cache | 1 + src/ColumnSchema.php | 14 ++ src/RangeParser.php | 201 ++++++++++++++++++++ src/Schema.php | 12 ++ tests/Fixture/postgres.sql | 12 ++ tests/RangeParserTest.php | 368 +++++++++++++++++++++++++++++++++++++ 6 files changed, 608 insertions(+) create mode 100644 .phpunit.result.cache create mode 100644 src/RangeParser.php create mode 100644 tests/RangeParserTest.php diff --git a/.phpunit.result.cache b/.phpunit.result.cache new file mode 100644 index 000000000..e8597d2d8 --- /dev/null +++ b/.phpunit.result.cache @@ -0,0 +1 @@ +{"version":1,"defects":{"Yiisoft\\Db\\Pgsql\\Tests\\BatchQueryResultTest::testQuery":4,"Yiisoft\\Db\\Pgsql\\Tests\\BatchQueryResultTest::testBatchWithoutDbParameter":4,"Yiisoft\\Db\\Pgsql\\Tests\\BatchQueryResultTest::testBatchWithIndexBy":4,"Yiisoft\\Db\\Pgsql\\Tests\\ColumnSchemaTest::testPhpTypeCast":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testAddDropCheck":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testAddDropPrimaryKey":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testBooleanValuesInsert":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testBooleanValuesBatchInsert":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testLastInsertId":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testSaveSerializedObject":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testIssue15827":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testBatchInsertSQL with data set \"issue11242\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testBatchInsertSQL with data set \"wrongBehavior\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testBatchInsertSQL with data set \"batchInsert binds params from expression\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testBatchInsertSQL with data set \"batchInsert binds params from jsonExpression\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testBatchInsertSQL with data set \"batchInsert binds params from arrayExpression\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testBatchInsertSQL with data set \"batchInsert casts string to int according to the table schema\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testBatchInsertSQL with data set \"batchInsert casts JSON to JSONB when column is JSONB\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testBindParamsNonWhere with data set #0":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testBindParamsNonWhere with data set #1":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testBindParamsNonWhere with data set #2":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testInsertSelectFailed with data set #0":3,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testInsertSelectFailed with data set #1":3,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testInsertSelectFailed with data set #2":3,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testUpsert with data set \"regular values\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testUpsert with data set \"regular values with update part\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testUpsert with data set \"regular values without update part\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testUpsert with data set \"query\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testUpsert with data set \"query with update part\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testUpsert with data set \"query without update part\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testPrepareCancel":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testExecute":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testQuery":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testFetchMode":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testBatchInsert":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testBatchInsertWithYield":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testBatchInsertDataTypesLocale":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testInsert":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testNoTablenameReplacement":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testInsertSelect":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testInsertSelectAlias":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testInsertExpression":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testsInsertQueryAsColumnValue":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testCreateTable":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testDropTable":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testTruncateTable":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testRenameTable":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testAddDropForeignKey":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testCreateDropIndex":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testAddDropUnique":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testIntegrityViolation":3,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testQueryCache":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testColumnCase":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testTransaction":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testRetryHandler":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testCreateView":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testDropView":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testAlterTable":4,"Yiisoft\\Db\\Pgsql\\Tests\\ConnectionTest::testConnection":4,"Yiisoft\\Db\\Pgsql\\Tests\\ConnectionTest::testInitConnection":4,"Yiisoft\\Db\\Pgsql\\Tests\\ConnectionTest::testOpenClose":4,"Yiisoft\\Db\\Pgsql\\Tests\\ConnectionTest::testQuoteValue":4,"Yiisoft\\Db\\Pgsql\\Tests\\ConnectionTest::testTransactionIsolation":4,"Yiisoft\\Db\\Pgsql\\Tests\\ConnectionTest::testGetPdoAfterClose":3,"Yiisoft\\Db\\Pgsql\\Tests\\ConnectionTest::testServerStatusCacheWorks":4,"Yiisoft\\Db\\Pgsql\\Tests\\ConnectionTest::testServerStatusCacheCanBeDisabled":4,"Yiisoft\\Db\\Pgsql\\Tests\\ConnectionTest::testSerialize":4,"Yiisoft\\Db\\Pgsql\\Tests\\ConnectionTest::testTransaction":4,"Yiisoft\\Db\\Pgsql\\Tests\\ConnectionTest::testTransactionShortcutException":4,"Yiisoft\\Db\\Pgsql\\Tests\\ConnectionTest::testTransactionShortcutCorrect":4,"Yiisoft\\Db\\Pgsql\\Tests\\ConnectionTest::testTransactionShortcutCustom":4,"Yiisoft\\Db\\Pgsql\\Tests\\ConnectionTest::testNestedTransaction":4,"Yiisoft\\Db\\Pgsql\\Tests\\ConnectionTest::testNestedTransactionNotSupported":4,"Yiisoft\\Db\\Pgsql\\Tests\\ConnectionTest::testEnableQueryLog":4,"Yiisoft\\Db\\Pgsql\\Tests\\ConnectionTest::testExceptionContainsRawQuery":4,"Yiisoft\\Db\\Pgsql\\Tests\\ConnectionTest::testClone":4,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testCommentColumn":4,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testCommentTable":4,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testResetSequence":4,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testResetSequencePostgres12":4,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBatchInsert with data set #0":4,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBatchInsert with data set \"escape-danger-chars\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBatchInsert with data set #2":4,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBatchInsert with data set \"bool-false, bool2-null\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBatchInsert with data set #3":4,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBatchInsert with data set \"bool-false, time-now()\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testInsert with data set \"regular-values\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testInsert with data set \"params-and-expressions\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testInsert with data set \"carry passed params\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testInsert with data set \"carry passed params (query)\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testUpdate with data set #0":4,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testUpdate with data set #1":4,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testCheckIntegrity":4,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testGetColumnType":4,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testCreateTableColumnTypes":4,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testUpsert with data set \"regular values\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testUpsert with data set \"regular values with update part\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testUpsert with data set \"regular values without update part\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testUpsert with data set \"query\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testUpsert with data set \"query with update part\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testUpsert with data set \"query without update part\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testUpsert with data set \"values and expressions\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testUpsert with data set \"values and expressions with update part\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testUpsert with data set \"values and expressions without update part\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testUpsert with data set \"query, values and expressions with update part\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testUpsert with data set \"query, values and expressions without update part\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testUpsert with data set \"no columns to update\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testBooleanValues":4,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testLimitOffsetWithExpression":4,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testOne":4,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testExists":4,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testColumn":4,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testCount":4,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testEmulateExecution":4,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testMultipleLikeConditions":4,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testExpressionInFrom":4,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testQueryCache":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testCompositeFk":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testBooleanDefaultValues":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testGetSchemaNames":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testSequenceName":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testGeneratedValues":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testPartitionedTable":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testFindSchemaNames":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testParenthesisDefaultValue":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTimestampNullDefaultValue":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testGetTableNames with data set #0":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testGetTableNames with data set #1":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testGetTableSchemas with data set #0":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testGetTableSchemas with data set #1":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraints with data set \"1: primary key\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraints with data set \"1: check\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraints with data set \"1: unique\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraints with data set \"1: index\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraints with data set \"2: primary key\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraints with data set \"2: unique\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraints with data set \"2: index\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraints with data set \"2: check\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraints with data set \"3: primary key\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraints with data set \"3: foreign key\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraints with data set \"3: unique\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraints with data set \"3: index\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraints with data set \"3: check\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraints with data set \"4: primary key\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraints with data set \"4: unique\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraints with data set \"4: check\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoLowercase with data set \"1: primary key\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoLowercase with data set \"1: check\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoLowercase with data set \"1: unique\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoLowercase with data set \"1: index\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoLowercase with data set \"1: default\"":3,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoLowercase with data set \"2: primary key\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoLowercase with data set \"2: unique\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoLowercase with data set \"2: index\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoLowercase with data set \"2: check\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoLowercase with data set \"2: default\"":3,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoLowercase with data set \"3: primary key\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoLowercase with data set \"3: foreign key\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoLowercase with data set \"3: unique\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoLowercase with data set \"3: index\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoLowercase with data set \"3: check\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoLowercase with data set \"3: default\"":3,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoLowercase with data set \"4: primary key\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoLowercase with data set \"4: unique\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoLowercase with data set \"4: check\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoLowercase with data set \"4: default\"":3,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoUppercase with data set \"1: primary key\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoUppercase with data set \"1: check\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoUppercase with data set \"1: unique\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoUppercase with data set \"1: index\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoUppercase with data set \"1: default\"":3,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoUppercase with data set \"2: primary key\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoUppercase with data set \"2: unique\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoUppercase with data set \"2: index\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoUppercase with data set \"2: check\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoUppercase with data set \"2: default\"":3,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoUppercase with data set \"3: primary key\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoUppercase with data set \"3: foreign key\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoUppercase with data set \"3: unique\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoUppercase with data set \"3: index\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoUppercase with data set \"3: check\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoUppercase with data set \"3: default\"":3,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoUppercase with data set \"4: primary key\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoUppercase with data set \"4: unique\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoUppercase with data set \"4: check\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoUppercase with data set \"4: default\"":3,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testFindUniqueIndexes":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testInsert":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testGetTableSchemasWithAttrCase":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testGetNonExistingTableSchema":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testSchemaCache":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaCacheWithTablePrefixes with data set \"type (with '' prefix) against {{%type}} (with '' prefix)\"":1,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaCacheWithTablePrefixes with data set \"type (with '' prefix) against {{%pe}} (with 'ty' prefix)\"":1,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaCacheWithTablePrefixes with data set \"{{%type}} (with '' prefix) against type (with '' prefix)\"":1,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaCacheWithTablePrefixes with data set \"{{%type}} (with '' prefix) against {{%pe}} (with 'ty' prefix)\"":1,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaCacheWithTablePrefixes with data set \"{{%pe}} (with 'ty' prefix) against type (with '' prefix)\"":1,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaCacheWithTablePrefixes with data set \"{{%pe}} (with 'ty' prefix) against {{%type}} (with '' prefix)\"":1,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testRefreshTableSchema":1,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testColumnSchema":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testNegativeDefaultValues":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testContraintTablesExistance":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testGetColumnNoExist":4,"Yiisoft\\Db\\Pgsql\\Tests\\SqlDataProviderTest::testGetModels":4,"Yiisoft\\Db\\Pgsql\\Tests\\SqlDataProviderTest::testGetKeys":4,"Yiisoft\\Db\\Pgsql\\Tests\\SqlDataProviderTest::testWithSort":4,"Yiisoft\\Db\\Pgsql\\Tests\\SqlDataProviderTest::testTotalCount":4,"Yiisoft\\Db\\Pgsql\\Tests\\SqlDataProviderTest::testTotalCountWithParams":4,"Yiisoft\\Db\\Pgsql\\Tests\\RangeParserTest::testAutoRange":4,"Yiisoft\\Db\\Pgsql\\Tests\\RangeParserTest::testDateRange":4,"Yiisoft\\Db\\Pgsql\\Tests\\RangeParserTest::testIntRange":4,"Yiisoft\\Db\\Pgsql\\Tests\\RangeParserTest::testNumRange":4,"Warning":6,"Yiisoft\\Db\\Pgsql\\Tests\\RangeParserTest::testSimpleRanges":4,"Yiisoft\\Db\\Pgsql\\Tests\\RangeParserTest::testLowerRanges":4,"Yiisoft\\Db\\Pgsql\\Tests\\RangeParserTest::testUpperRanges":3,"Yiisoft\\Db\\Pgsql\\Tests\\RangeParserTest::testExcludeLowerRanges":4,"Yiisoft\\Db\\Pgsql\\Tests\\RangeParserTest::testExcludeUpperRanges":4},"times":{"Yiisoft\\Db\\Pgsql\\Tests\\ArrayParserTest::testParser":0.005,"Yiisoft\\Db\\Pgsql\\Tests\\BatchQueryResultTest::testQuery":0.002,"Yiisoft\\Db\\Pgsql\\Tests\\BatchQueryResultTest::testBatchWithoutDbParameter":0.003,"Yiisoft\\Db\\Pgsql\\Tests\\BatchQueryResultTest::testBatchWithIndexBy":0.001,"Yiisoft\\Db\\Pgsql\\Tests\\ColumnSchemaBuilderTest::testCustomTypes with data set #0":0.001,"Yiisoft\\Db\\Pgsql\\Tests\\ColumnSchemaBuilderTest::testCustomTypes with data set #1":0,"Yiisoft\\Db\\Pgsql\\Tests\\ColumnSchemaBuilderTest::testCustomTypes with data set #2":0,"Yiisoft\\Db\\Pgsql\\Tests\\ColumnSchemaBuilderTest::testCustomTypes with data set #3":0,"Yiisoft\\Db\\Pgsql\\Tests\\ColumnSchemaBuilderTest::testCustomTypes with data set #4":0,"Yiisoft\\Db\\Pgsql\\Tests\\ColumnSchemaTest::testPhpTypeCast":0,"Yiisoft\\Db\\Pgsql\\Tests\\ColumnSchemaTest::testPhpTypeCastBool":0.001,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testAddDropCheck":0.002,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testAddDropPrimaryKey":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testAutoQuoting":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testBooleanValuesInsert":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testBooleanValuesBatchInsert":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testLastInsertId":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testSaveSerializedObject":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testIssue15827":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testBatchInsertSQL with data set \"issue11242\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testBatchInsertSQL with data set \"wrongBehavior\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testBatchInsertSQL with data set \"batchInsert binds params from expression\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testBatchInsertSQL with data set \"batchInsert binds params from jsonExpression\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testBatchInsertSQL with data set \"batchInsert binds params from arrayExpression\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testBatchInsertSQL with data set \"batchInsert casts string to int according to the table schema\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testBatchInsertSQL with data set \"batchInsert casts JSON to JSONB when column is JSONB\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testBindParamsNonWhere with data set #0":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testBindParamsNonWhere with data set #1":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testBindParamsNonWhere with data set #2":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testGetRawSql with data set #0":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testGetRawSql with data set #1":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testGetRawSql with data set #2":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testGetRawSql with data set #3":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testGetRawSql with data set #4":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testGetRawSql with data set #5":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testInsertSelectFailed with data set #0":0.02,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testInsertSelectFailed with data set #1":0.001,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testInsertSelectFailed with data set #2":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testUpsert with data set \"regular values\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testUpsert with data set \"regular values with update part\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testUpsert with data set \"regular values without update part\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testUpsert with data set \"query\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testUpsert with data set \"query with update part\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testUpsert with data set \"query without update part\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testConstruct":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testGetSetSql":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testPrepareCancel":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testExecute":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testQuery":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testFetchMode":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testBatchInsert":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testBatchInsertWithYield":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testBatchInsertDataTypesLocale":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testInsert":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testNoTablenameReplacement":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testInsertSelect":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testInsertSelectAlias":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testInsertExpression":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testsInsertQueryAsColumnValue":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testCreateTable":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testDropTable":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testTruncateTable":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testRenameTable":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testAddDropForeignKey":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testCreateDropIndex":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testAddDropUnique":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testIntegrityViolation":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testQueryCache":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testColumnCase":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testTransaction":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testRetryHandler":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testCreateView":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testDropView":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testAlterTable":0,"Yiisoft\\Db\\Pgsql\\Tests\\ConnectionTest::testConnection":0,"Yiisoft\\Db\\Pgsql\\Tests\\ConnectionTest::testConstruct":0,"Yiisoft\\Db\\Pgsql\\Tests\\ConnectionTest::testGetDriverName":0,"Yiisoft\\Db\\Pgsql\\Tests\\ConnectionTest::testInitConnection":0,"Yiisoft\\Db\\Pgsql\\Tests\\ConnectionTest::testOpenClose":0,"Yiisoft\\Db\\Pgsql\\Tests\\ConnectionTest::testQuoteValue":0,"Yiisoft\\Db\\Pgsql\\Tests\\ConnectionTest::testQuoteTableName":0,"Yiisoft\\Db\\Pgsql\\Tests\\ConnectionTest::testQuoteColumnName":0,"Yiisoft\\Db\\Pgsql\\Tests\\ConnectionTest::testQuoteFullColumnName":0,"Yiisoft\\Db\\Pgsql\\Tests\\ConnectionTest::testTransactionIsolation":0,"Yiisoft\\Db\\Pgsql\\Tests\\ConnectionTest::testGetPdoAfterClose":0.001,"Yiisoft\\Db\\Pgsql\\Tests\\ConnectionTest::testServerStatusCacheWorks":0,"Yiisoft\\Db\\Pgsql\\Tests\\ConnectionTest::testServerStatusCacheCanBeDisabled":0,"Yiisoft\\Db\\Pgsql\\Tests\\ConnectionTest::testSerialize":0,"Yiisoft\\Db\\Pgsql\\Tests\\ConnectionTest::testTransaction":0,"Yiisoft\\Db\\Pgsql\\Tests\\ConnectionTest::testTransactionShortcutException":0,"Yiisoft\\Db\\Pgsql\\Tests\\ConnectionTest::testTransactionShortcutCorrect":0,"Yiisoft\\Db\\Pgsql\\Tests\\ConnectionTest::testTransactionShortcutCustom":0,"Yiisoft\\Db\\Pgsql\\Tests\\ConnectionTest::testNestedTransaction":0,"Yiisoft\\Db\\Pgsql\\Tests\\ConnectionTest::testNestedTransactionNotSupported":0,"Yiisoft\\Db\\Pgsql\\Tests\\ConnectionTest::testEnableQueryLog":0,"Yiisoft\\Db\\Pgsql\\Tests\\ConnectionTest::testExceptionContainsRawQuery":0,"Yiisoft\\Db\\Pgsql\\Tests\\ConnectionTest::testClone":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testAlterColumn":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testCommentColumn":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testCommentTable":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testResetSequence":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testResetSequencePostgres12":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testDropIndex":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testAddDropCheck with data set \"drop\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testAddDropCheck with data set \"add\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testAddDropForeignKey with data set \"drop\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testAddDropForeignKey with data set \"add\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testAddDropForeignKey with data set \"add (2 columns)\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testAddDropPrimaryKey with data set \"drop\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testAddDropPrimaryKey with data set \"add\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testAddDropPrimaryKey with data set \"add (2 columns)\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testAddDropUnique with data set \"drop\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testAddDropUnique with data set \"add\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testAddDropUnique with data set \"add (2 columns)\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBatchInsert with data set #0":0.001,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBatchInsert with data set \"escape-danger-chars\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBatchInsert with data set #1":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBatchInsert with data set #2":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBatchInsert with data set \"bool-false, bool2-null\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBatchInsert with data set #3":0.001,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBatchInsert with data set \"bool-false, time-now()\"":0.001,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #0":0.001,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #1":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #2":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #3":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #4":0.001,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #5":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #6":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #7":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #8":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #9":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #10":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #11":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #12":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #13":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #14":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #15":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #16":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #17":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #18":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #19":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #20":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #21":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #22":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #23":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #24":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #25":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #26":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #27":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #28":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #29":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #30":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set \"composite in\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set \"composite in (just one column)\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set \"composite in using array objects (just one column)\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #31":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #32":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #33":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #34":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #35":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #36":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #37":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #38":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set \"composite in using array objects\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #39":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #40":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #41":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #42":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #43":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #44":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #45":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #46":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #47":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #48":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #49":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #50":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #51":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #52":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #53":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #54":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #55":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #56":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #57":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #58":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #59":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #60":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #61":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #62":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #63":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #64":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #65":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #66":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #67":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #68":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #69":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #70":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #71":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #72":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #73":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #74":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #75":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #76":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #77":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #78":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #79":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #80":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #81":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set \"scalar can not be converted to array #1\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #82":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #83":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #84":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set \"array of arrays\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #85":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set \"array can contain nulls\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set \"traversable objects are supported\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #86":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #87":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #88":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #89":0.001,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #90":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #91":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set \"nested json\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set \"null value\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set \"null as array value\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set \"null as object value\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set \"query\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set \"query with type\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set \"array of json expressions\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set \"Items in ArrayExpression of type json should be casted to Json\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set \"Two dimension array of text\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set \"Three dimension array of booleans\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #92":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #93":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #94":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #95":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #96":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #97":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #98":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #99":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #100":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildFilterCondition with data set #0":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildFilterCondition with data set #1":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildFilterCondition with data set #2":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildFilterCondition with data set #3":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildFilterCondition with data set #4":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildFilterCondition with data set #5":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildFilterCondition with data set #6":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildFilterCondition with data set #7":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildFilterCondition with data set #8":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildFilterCondition with data set #9":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildFilterCondition with data set #10":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildFilterCondition with data set #11":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildFilterCondition with data set #12":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildFilterCondition with data set #13":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildFilterCondition with data set #14":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildFilterCondition with data set #15":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildFilterCondition with data set #16":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildFilterCondition with data set #17":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildFilterCondition with data set #18":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildFilterCondition with data set #19":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildFilterCondition with data set #20":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildFilterCondition with data set #21":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildFrom with data set #0":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildFrom with data set #1":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildFrom with data set #2":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildFrom with data set #3":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildLikeCondition with data set #0":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildLikeCondition with data set #1":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildLikeCondition with data set #2":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildLikeCondition with data set #3":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildLikeCondition with data set #4":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildLikeCondition with data set #5":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildLikeCondition with data set #6":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildLikeCondition with data set #7":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildLikeCondition with data set #8":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildLikeCondition with data set #9":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildLikeCondition with data set #10":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildLikeCondition with data set #11":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildLikeCondition with data set #12":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildLikeCondition with data set #13":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildLikeCondition with data set #14":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildLikeCondition with data set #15":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildLikeCondition with data set #16":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildLikeCondition with data set #17":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildLikeCondition with data set #18":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildLikeCondition with data set #19":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildLikeCondition with data set #20":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildLikeCondition with data set #21":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildLikeCondition with data set #22":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildLikeCondition with data set #23":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildLikeCondition with data set #24":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildLikeCondition with data set #25":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildWhereExists with data set #0":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildWhereExists with data set #1":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testCreateDropIndex with data set \"drop\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testCreateDropIndex with data set \"create\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testCreateDropIndex with data set \"create (2 columns)\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testCreateDropIndex with data set \"create unique\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testCreateDropIndex with data set \"create unique (2 columns)\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testDelete with data set #0":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testInsert with data set \"regular-values\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testInsert with data set \"params-and-expressions\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testInsert with data set \"carry passed params\"":0.001,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testInsert with data set \"carry passed params (query)\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testUpdate with data set #0":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testUpdate with data set #1":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testCheckIntegrity":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testGetColumnType":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testCreateTableColumnTypes":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildWhereExistsWithParameters":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildWhereExistsWithArrayParameters":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildUnion":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildWithQuery":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildWithQueryRecursive":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testSelectSubquery":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testComplexSelect":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testSelectExpression":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testFromIndexHint":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testFromSubquery":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testOrderBy":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testGroupBy":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testInitFixtures":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testUpsert with data set \"regular values\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testUpsert with data set \"regular values with update part\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testUpsert with data set \"regular values without update part\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testUpsert with data set \"query\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testUpsert with data set \"query with update part\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testUpsert with data set \"query without update part\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testUpsert with data set \"values and expressions\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testUpsert with data set \"values and expressions with update part\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testUpsert with data set \"values and expressions without update part\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testUpsert with data set \"query, values and expressions with update part\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testUpsert with data set \"query, values and expressions without update part\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testUpsert with data set \"no columns to update\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testIssue15653":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testBooleanValues":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testSelect":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testFrom":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testFromTableIsArrayWithExpression":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testWhere":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testFilterWhereWithHashFormat":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testFilterWhereWithOperatorFormat":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testFilterHavingWithHashFormat":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testFilterHavingWithOperatorFormat":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testFilterRecursively":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testGroup":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testHaving":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testOrder":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testLimitOffset":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testLimitOffsetWithExpression":0.001,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testOne":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testExists":0.001,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testColumn":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testCount":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testAndFilterCompare":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testEmulateExecution":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testMultipleLikeConditions":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testExpressionInFrom":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testQueryCache":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testQueryCreation":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testGetTableNamesIsFromArrayWithAlias":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testGetTableNamesIsFromArrayWithoutAlias":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testGetTableNamesIsFromString":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testGetTableNamesIsFromObjectgenerateException":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testGetTablesAliasesFromString":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testGetTableNamesIsFromPrefixedTableName":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testGetTableNamesIsFromTableNameWithDatabase":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testGetTableNamesIsFromAliasedExpression":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testGetTableNamesIsFromAliasedArrayWithExpression":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testGetTableNamesIsFromAliasedSubquery":0,"Yiisoft\\Db\\Pgsql\\Tests\\RangeParserTest::testAutoRange":0.286,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testCompositeFk":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testGetPDOType":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testBooleanDefaultValues":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testGetSchemaNames":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testSequenceName":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testGeneratedValues":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testPartitionedTable":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testFindSchemaNames":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testParenthesisDefaultValue":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTimestampNullDefaultValue":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testGetTableNames with data set #0":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testGetTableNames with data set #1":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testGetTableSchemas with data set #0":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testGetTableSchemas with data set #1":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraints with data set \"1: primary key\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraints with data set \"1: check\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraints with data set \"1: unique\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraints with data set \"1: index\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraints with data set \"1: default\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraints with data set \"2: primary key\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraints with data set \"2: unique\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraints with data set \"2: index\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraints with data set \"2: check\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraints with data set \"2: default\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraints with data set \"3: primary key\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraints with data set \"3: foreign key\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraints with data set \"3: unique\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraints with data set \"3: index\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraints with data set \"3: check\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraints with data set \"3: default\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraints with data set \"4: primary key\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraints with data set \"4: unique\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraints with data set \"4: check\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraints with data set \"4: default\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoLowercase with data set \"1: primary key\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoLowercase with data set \"1: check\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoLowercase with data set \"1: unique\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoLowercase with data set \"1: index\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoLowercase with data set \"1: default\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoLowercase with data set \"2: primary key\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoLowercase with data set \"2: unique\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoLowercase with data set \"2: index\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoLowercase with data set \"2: check\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoLowercase with data set \"2: default\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoLowercase with data set \"3: primary key\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoLowercase with data set \"3: foreign key\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoLowercase with data set \"3: unique\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoLowercase with data set \"3: index\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoLowercase with data set \"3: check\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoLowercase with data set \"3: default\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoLowercase with data set \"4: primary key\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoLowercase with data set \"4: unique\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoLowercase with data set \"4: check\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoLowercase with data set \"4: default\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoUppercase with data set \"1: primary key\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoUppercase with data set \"1: check\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoUppercase with data set \"1: unique\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoUppercase with data set \"1: index\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoUppercase with data set \"1: default\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoUppercase with data set \"2: primary key\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoUppercase with data set \"2: unique\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoUppercase with data set \"2: index\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoUppercase with data set \"2: check\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoUppercase with data set \"2: default\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoUppercase with data set \"3: primary key\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoUppercase with data set \"3: foreign key\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoUppercase with data set \"3: unique\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoUppercase with data set \"3: index\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoUppercase with data set \"3: check\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoUppercase with data set \"3: default\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoUppercase with data set \"4: primary key\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoUppercase with data set \"4: unique\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoUppercase with data set \"4: check\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoUppercase with data set \"4: default\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testFindUniqueIndexes":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testInsert":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testGetTableSchemasWithAttrCase":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testGetNonExistingTableSchema":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testSchemaCache":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaCacheWithTablePrefixes with data set \"type (with '' prefix) against {{%type}} (with '' prefix)\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaCacheWithTablePrefixes with data set \"type (with '' prefix) against {{%pe}} (with 'ty' prefix)\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaCacheWithTablePrefixes with data set \"{{%type}} (with '' prefix) against type (with '' prefix)\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaCacheWithTablePrefixes with data set \"{{%type}} (with '' prefix) against {{%pe}} (with 'ty' prefix)\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaCacheWithTablePrefixes with data set \"{{%pe}} (with 'ty' prefix) against type (with '' prefix)\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaCacheWithTablePrefixes with data set \"{{%pe}} (with 'ty' prefix) against {{%type}} (with '' prefix)\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testRefreshTableSchema":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testColumnSchema":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testColumnSchemaDbTypecastWithEmptyCharType":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testNegativeDefaultValues":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testContraintTablesExistance":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testGetColumnNoExist":0,"Yiisoft\\Db\\Pgsql\\Tests\\SqlDataProviderTest::testGetModels":0.001,"Yiisoft\\Db\\Pgsql\\Tests\\SqlDataProviderTest::testGetKeys":0,"Yiisoft\\Db\\Pgsql\\Tests\\SqlDataProviderTest::testWithSort":0.001,"Yiisoft\\Db\\Pgsql\\Tests\\SqlDataProviderTest::testTotalCount":0,"Yiisoft\\Db\\Pgsql\\Tests\\SqlDataProviderTest::testTotalCountWithParams":0,"Yiisoft\\Db\\Pgsql\\Tests\\RangeParserTest::testNumRange":0.248,"Yiisoft\\Db\\Pgsql\\Tests\\RangeParserTest::testIntRange":0.25,"Yiisoft\\Db\\Pgsql\\Tests\\RangeParserTest::testDateRange":0.259,"Warning":0.002,"Yiisoft\\Db\\Pgsql\\Tests\\RangeParserTest::testSimpleRanges":0.281,"Yiisoft\\Db\\Pgsql\\Tests\\RangeParserTest::testLowerRanges":0.262,"Yiisoft\\Db\\Pgsql\\Tests\\RangeParserTest::testUpperRanges":0.274,"Yiisoft\\Db\\Pgsql\\Tests\\RangeParserTest::testExcludeLowerRanges":0.24,"Yiisoft\\Db\\Pgsql\\Tests\\RangeParserTest::testExcludeUpperRanges":0.275}} \ No newline at end of file diff --git a/src/ColumnSchema.php b/src/ColumnSchema.php index a1915a17d..125817269 100644 --- a/src/ColumnSchema.php +++ b/src/ColumnSchema.php @@ -76,6 +76,10 @@ public function dbTypecast($value) */ public function phpTypecast($value) { + if (RangeParser::isAllowedType($this->getType())) { + return $this->getRangeParser()->parse($value); + } + if ($this->dimension > 0) { if (!is_array($value)) { $value = $this->getArrayParser()->parse($value); @@ -141,6 +145,16 @@ protected function getArrayParser(): ArrayParser return new ArrayParser(); } + /** + * Creates instance of RangeParser. + * + * @return RangeParser + */ + protected function getRangeParser(): RangeParser + { + return new RangeParser($this->getType()); + } + /** * @return int Get the dimension of array. Defaults to 0, means this column is not an array. */ diff --git a/src/RangeParser.php b/src/RangeParser.php new file mode 100644 index 000000000..964e30ced --- /dev/null +++ b/src/RangeParser.php @@ -0,0 +1,201 @@ +type = $type; + } else { + throw new InvalidArgumentException('Unsupported range type "' . $type . '"'); + } + } + } + + public function parse(?string $value): ?array + { + if ($value === null) { + return null; + } + + if (!preg_match('/^(\[|\()([^,]*),([^\)\]]*)(\)|\])$/', $value, $matches)) { + throw new InvalidArgumentException(); + } + + $lower = $matches[2] ? trim($matches[2], '"') : null; + $upper = $matches[3] ? trim($matches[3], '"') : null; + $includeLower = $matches[1] === '['; + $includeUpper = $matches[4] === ']'; + + if ($lower === null && $upper === null) { + return [null, null]; + } + + $type = $this->type ?? self::parseType($lower, $upper); + + switch ($type) { + case Schema::TYPE_INT_4_RANGE: + return self::parseIntRange($lower, $upper, $includeLower, $includeUpper); + case Schema::TYPE_INT_8_RANGE: + return self::parseBigIntRange($lower, $upper, $includeLower, $includeUpper); + case Schema::TYPE_NUM_RANGE: + return self::parseNumRange($lower, $upper, $includeLower, $includeUpper); + case Schema::TYPE_DATE_RANGE: + return self::parseDateRange($lower, $upper, $includeLower, $includeUpper); + case Schema::TYPE_TS_RANGE: + return self::parseTsRange($lower, $upper, $includeLower, $includeUpper); + case Schema::TYPE_TS_TZ_RANGE: + return self::parseTsTzRange($lower, $upper, $includeLower, $includeUpper); + default: + return null; + } + } + + private static function parseIntRange(?string $lower, ?string $upper, bool $includeLower, bool $includeUpper): array + { + $min = $lower === null ? null : (int) $lower; + $max = $upper === null ? null : (int) $upper; + + if ($min !== null && $includeLower === false) { + $min += 1; + } + + if ($max !== null && $includeUpper === false) { + $max -= 1; + } + + return [$min, $max]; + } + + private static function parseBigIntRange(?string $lower, ?string $upper, bool $includeLower, bool $includeUpper): array + { + if (PHP_INT_SIZE === 8) { + return self::parseIntRange($lower, $upper, $includeLower, $includeUpper); + } + + [$min, $max] = self::parseNumRange($lower, $upper, $includeLower, $includeUpper); + + if ($min !== null && $includeLower === false) { + $min += 1; + } + + if ($max !== null && $includeUpper === false) { + $max -= 1; + } + + return [$min, $max]; + } + + private static function parseNumRange(?string $lower, ?string $upper, bool $includeLower, bool $includeUpper): array + { + $min = $lower === null ? null : (float) $lower; + $max = $upper === null ? null : (float) $upper; + + return [$min, $max]; + } + + private static function parseDateRange(?string $lower, ?string $upper, bool $includeLower, bool $includeUpper): array + { + $interval = new DateInterval('P1D'); + $min = $lower ? DateTime::createFromFormat('Y-m-d', $lower) : null; + $max = $upper ? DateTime::createFromFormat('Y-m-d', $upper) : null; + + if ($min && $includeLower === false) { + $min->add($interval); + } + + if ($max && $includeUpper === false) { + $max->sub($interval); + } + + return [$min, $max]; + } + + private static function parseTsRange(?string $lower, ?string $upper, bool $includeLower, bool $includeUpper): array + { + $min = $lower ? DateTime::createFromFormat('Y-m-d H:i:s', $lower) : null; + $max = $upper ? DateTime::createFromFormat('Y-m-d H:i:s', $upper) : null; + + return [$min, $max]; + } + + private static function parseTsTzRange(?string $lower, ?string $upper, bool $includeLower, bool $includeUpper): array + { + $min = $lower ? DateTime::createFromFormat('Y-m-d H:i:sP', $lower) : null; + $max = $upper ? DateTime::createFromFormat('Y-m-d H:i:sP', $upper) : null; + + return [$min, $max]; + } + + public static function isAllowedType(string $type): bool + { + return in_array($type, self::RANGES, true); + } + + /** + * Find range type from value format + * + * @param string $lower + * @param string $upper + * + * @return string|null + */ + private static function parseType(?string $lower, ?string $upper): ?string + { + if ($lower !== null && $upper !== null) { + if (filter_var($lower, FILTER_VALIDATE_INT) && filter_var($upper, FILTER_VALIDATE_INT)) { + return Schema::TYPE_INT_4_RANGE; + } + + if (filter_var($lower, FILTER_VALIDATE_FLOAT) && filter_var($upper, FILTER_VALIDATE_FLOAT)) { + return Schema::TYPE_NUM_RANGE; + } + } + + $value = $lower ?? $upper; + + if (filter_var($value, FILTER_VALIDATE_INT)) { + return Schema::TYPE_INT_4_RANGE; + } + + + if (filter_var($value, FILTER_VALIDATE_FLOAT)) { + return Schema::TYPE_NUM_RANGE; + } + + if (DateTime::createFromFormat('Y-m-d', $value)) { + return Schema::TYPE_DATE_RANGE; + } + + if (DateTime::createFromFormat('Y-m-d H:i:s', $value)) { + return Schema::TYPE_TS_RANGE; + } + + if (DateTime::createFromFormat('Y-m-d H:i:sP', $value)) { + return Schema::TYPE_TS_TZ_RANGE; + } + + return null; + } +} diff --git a/src/Schema.php b/src/Schema.php index 5ea02bf22..17416b136 100644 --- a/src/Schema.php +++ b/src/Schema.php @@ -89,6 +89,12 @@ final class Schema extends AbstractSchema implements ConstraintFinderInterface use ViewFinderTrait; public const TYPE_JSONB = 'jsonb'; + public const TYPE_INT_4_RANGE = 'int4range'; + public const TYPE_INT_8_RANGE = 'int8range'; + public const TYPE_NUM_RANGE = 'numrange'; + public const TYPE_TS_RANGE = 'tsrange'; + public const TYPE_TS_TZ_RANGE = 'tstzrange'; + public const TYPE_DATE_RANGE = 'daterange'; /** * @var array mapping from physical column types (keys) to abstract column types (values). @@ -159,6 +165,12 @@ final class Schema extends AbstractSchema implements ConstraintFinderInterface 'json' => self::TYPE_JSON, 'jsonb' => self::TYPE_JSON, 'xml' => self::TYPE_STRING, + 'int4range' => self::TYPE_INT_4_RANGE, + 'int8range' => self::TYPE_INT_8_RANGE, + 'numrange' => self::TYPE_NUM_RANGE, + 'tsrange' => self::TYPE_TS_RANGE, + 'tstzrange' => self::TYPE_TS_TZ_RANGE, + 'daterange' => self::TYPE_DATE_RANGE, ]; /** diff --git a/tests/Fixture/postgres.sql b/tests/Fixture/postgres.sql index 3be9e7051..e76e3cf55 100644 --- a/tests/Fixture/postgres.sql +++ b/tests/Fixture/postgres.sql @@ -35,6 +35,7 @@ DROP TABLE IF EXISTS "T_constraints_2"; DROP TABLE IF EXISTS "T_constraints_1"; DROP TABLE IF EXISTS "T_upsert"; DROP TABLE IF EXISTS "T_upsert_1"; +DROP TABLE IF EXISTS "ranges"; DROP SCHEMA IF EXISTS "schema1" CASCADE; DROP SCHEMA IF EXISTS "schema2" CASCADE; @@ -424,3 +425,14 @@ CREATE TABLE "T_upsert_1" ( "a" INT NOT NULL PRIMARY KEY ); + +CREATE TABLE "ranges" +( + "id" INT2 NOT NULL PRIMARY KEY, + "int_range" int4range NOT NULL, + "bigint_range" int8range NOT NULL, + "num_range" numrange NOT NULL, + "ts_range" tsrange NOT NULL, + "ts_tz_range" tstzrange NOT NULL, + "date_range" daterange NOT NULL +); \ No newline at end of file diff --git a/tests/RangeParserTest.php b/tests/RangeParserTest.php new file mode 100644 index 000000000..490ec5a0c --- /dev/null +++ b/tests/RangeParserTest.php @@ -0,0 +1,368 @@ + [ + 'int_range' => [1, 10], + 'bigint_range' => ['2147483647', '2147483650'], + 'num_range' => [10.5, 20.7], + 'ts_range' => ['2017-10-20 10:10:00', '2018-10-20 15:10:00'], + 'ts_tz_range' => ['2018-10-20 10:10:00+00:00', '2019-10-20 15:10:00+00:00'], + 'date_range' => ['2020-12-01', '2021-01-01'], + ], + 2 => [ + 'int_range' => [100, null], + 'bigint_range' => ['4147483647', null], + 'num_range' => [30.7, null], + 'ts_range' => ['2017-10-20 10:10:00', null], + 'ts_tz_range' => ['2018-10-20 10:10:00+00:00', null], + 'date_range' => ['2020-12-01', null], + ], + 3 => [ + 'int_range' => [null, 10], + 'bigint_range' => [null, '2147483650'], + 'num_range' => [null, 20.7], + 'ts_range' => [null, '2018-10-20 15:10:00'], + 'ts_tz_range' => [null, '2019-10-20 15:10:00+00:00'], + 'date_range' => [null, '2021-01-01'], + ], + ]; + + public function testSimpleRanges(): void + { + $db = $this->getConnection(true); + $command = $db->createCommand(); + + foreach (self::RANGES as $id => $values) { + $data = ['id' => $id]; + + foreach ($values as $column => $val) { + switch ($column) { + case 'int_range': + $data[$column] = new Expression(Schema::TYPE_INT_4_RANGE . "(:min_int, :max_int, '[]')", [':min_int' => $val[0], ':max_int' => $val[1]]); + break; + case 'bigint_range': + $data[$column] = new Expression(Schema::TYPE_INT_8_RANGE . "(:min_bigint, :max_bigint, '[]')", [':min_bigint' => $val[0], ':max_bigint' => $val[1]]); + break; + case 'num_range': + $data[$column] = new Expression(Schema::TYPE_NUM_RANGE . "(:min_num, :max_num, '[]')", [':min_num' => $val[0], ':max_num' => $val[1]]); + break; + case 'ts_range': + $data[$column] = new Expression(Schema::TYPE_TS_RANGE . "(:min_ts, :max_ts, '[]')", [':min_ts' => $val[0], ':max_ts' => $val[1]]); + break; + case 'ts_tz_range': + $data[$column] = new Expression(Schema::TYPE_TS_TZ_RANGE . "(:min_tstz, :max_tstz, '[]')", [':min_tstz' => $val[0], ':max_tstz' => $val[1]]); + break; + case 'date_range': + $data[$column] = new Expression(Schema::TYPE_DATE_RANGE . "(:min_date, :max_date, '[]')", [':min_date' => $val[0], ':max_date' => $val[1]]); + break; + } + } + + $command->insert('ranges', $data)->execute(); + } + + $rows = (new Query($db))->from('ranges')->all(); + + foreach ($rows as $row) { + $id = $row['id']; + + foreach ($row as $column => $value) { + if ($column === 'id') { + continue; + } + + $this->assertIsString($value); + $range = self::RANGES[$id][$column]; + + switch ($column) { + case 'int_range': + $parser = new RangeParser(Schema::TYPE_INT_4_RANGE); + $result = $parser->parse($value); + $this->assertSame($result, $range); + break; + case 'bigint_range': + $parser = new RangeParser(Schema::TYPE_INT_8_RANGE); + $result = $parser->parse($value); + + + if (PHP_INT_SIZE === 4) { + $min = $range[0] === null ? null : (float) $range[0]; + $max = $range[1] === null ? null : (float) $range[1]; + } else { + $min = $range[0] === null ? null : (int) $range[0]; + $max = $range[1] === null ? null : (int) $range[1]; + } + + $this->assertSame($result, [$min, $max]); + + break; + case 'num_range': + $parser = new RangeParser(Schema::TYPE_NUM_RANGE); + $result = $parser->parse($value); + $this->assertSame($result, $range); + + break; + case 'ts_range': + $parser = new RangeParser(Schema::TYPE_TS_RANGE); + $result = $parser->parse($value); + $min = $result[0] === null ? null : $result[0]->format('Y-m-d H:i:s'); + $max = $result[1] === null ? null : $result[1]->format('Y-m-d H:i:s'); + + $this->assertSame($range, [$min, $max]); + + break; + case 'ts_tz_range': + $parser = new RangeParser(Schema::TYPE_TS_TZ_RANGE); + $result = $parser->parse($value); + $min = $result[0] === null ? null : $result[0]->format('Y-m-d H:i:sP'); + $max = $result[1] === null ? null : $result[1]->format('Y-m-d H:i:sP'); + + $this->assertSame($range, [$min, $max]); + + break; + case 'date_range': + $parser = new RangeParser(Schema::TYPE_DATE_RANGE); + $result = $parser->parse($value); + $min = $result[0] === null ? null : $result[0]->format('Y-m-d'); + $max = $result[1] === null ? null : $result[1]->format('Y-m-d'); + + $this->assertSame($range, [$min, $max]); + + break; + } + } + } + } + + public function testExcludeLowerRanges() + { + $db = $this->getConnection(true); + $command = $db->createCommand(); + + foreach (self::RANGES as $id => $values) { + $data = ['id' => $id]; + + foreach ($values as $column => $val) { + switch ($column) { + case 'int_range': + $data[$column] = new Expression(Schema::TYPE_INT_4_RANGE . "(:min_int, :max_int, '(]')", [':min_int' => $val[0], ':max_int' => $val[1]]); + break; + case 'bigint_range': + $data[$column] = new Expression(Schema::TYPE_INT_8_RANGE . "(:min_bigint, :max_bigint, '(]')", [':min_bigint' => $val[0], ':max_bigint' => $val[1]]); + break; + case 'num_range': + $data[$column] = new Expression(Schema::TYPE_NUM_RANGE . "(:min_num, :max_num, '(]')", [':min_num' => $val[0], ':max_num' => $val[1]]); + break; + case 'ts_range': + $data[$column] = new Expression(Schema::TYPE_TS_RANGE . "(:min_ts, :max_ts, '(]')", [':min_ts' => $val[0], ':max_ts' => $val[1]]); + break; + case 'ts_tz_range': + $data[$column] = new Expression(Schema::TYPE_TS_TZ_RANGE . "(:min_tstz, :max_tstz, '(]')", [':min_tstz' => $val[0], ':max_tstz' => $val[1]]); + break; + case 'date_range': + $data[$column] = new Expression(Schema::TYPE_DATE_RANGE . "(:min_date, :max_date, '(]')", [':min_date' => $val[0], ':max_date' => $val[1]]); + break; + } + } + + $command->insert('ranges', $data)->execute(); + } + + $rows = (new Query($db))->from('ranges')->all(); + + foreach ($rows as $row) { + $id = $row['id']; + + foreach ($row as $column => $value) { + if ($column === 'id') { + continue; + } + + $this->assertIsString($value); + $range = self::RANGES[$id][$column]; + + switch ($column) { + case 'int_range': + $parser = new RangeParser(Schema::TYPE_INT_4_RANGE); + $result = $parser->parse($value); + $min = $range[0] === null ? null : $range[0] + 1; + $max = $range[1] === null ? null : $range[1]; + + $this->assertSame($result, [$min, $max]); + break; + case 'bigint_range': + $parser = new RangeParser(Schema::TYPE_INT_8_RANGE); + $result = $parser->parse($value); + + if (PHP_INT_SIZE === 4) { + $min = $range[0] === null ? null : (float) $range[0] + 1; + $max = $range[1] === null ? null : (float) $range[1]; + } else { + $min = $range[0] === null ? null : (int) $range[0] + 1; + $max = $range[1] === null ? null : (int) $range[1]; + } + + $this->assertSame($result, [$min, $max]); + + break; + case 'num_range': + $parser = new RangeParser(Schema::TYPE_NUM_RANGE); + $result = $parser->parse($value); + $this->assertSame($result, $range); + + break; + case 'ts_range': + $parser = new RangeParser(Schema::TYPE_TS_RANGE); + $result = $parser->parse($value); + $min = $result[0] === null ? null : $result[0]->format('Y-m-d H:i:s'); + $max = $result[1] === null ? null : $result[1]->format('Y-m-d H:i:s'); + + $this->assertSame($range, [$min, $max]); + + break; + case 'ts_tz_range': + $parser = new RangeParser(Schema::TYPE_TS_TZ_RANGE); + $result = $parser->parse($value); + $min = $result[0] === null ? null : $result[0]->format('Y-m-d H:i:sP'); + $max = $result[1] === null ? null : $result[1]->format('Y-m-d H:i:sP'); + + $this->assertSame($range, [$min, $max]); + + break; + case 'date_range': + $interval = new DateInterval('P1D'); + $parser = new RangeParser(Schema::TYPE_DATE_RANGE); + $result = $parser->parse($value); + $min = $result[0] === null ? null : $result[0]->sub($interval)->format('Y-m-d'); + $max = $result[1] === null ? null : $result[1]->format('Y-m-d'); + + $this->assertSame($range, [$min, $max]); + + break; + } + } + } + } + + public function testExcludeUpperRanges() + { + $db = $this->getConnection(true); + $command = $db->createCommand(); + + foreach (self::RANGES as $id => $values) { + $data = ['id' => $id]; + + foreach ($values as $column => $val) { + switch ($column) { + case 'int_range': + $data[$column] = new Expression(Schema::TYPE_INT_4_RANGE . "(:min_int, :max_int, '[)')", [':min_int' => $val[0], ':max_int' => $val[1]]); + break; + case 'bigint_range': + $data[$column] = new Expression(Schema::TYPE_INT_8_RANGE . "(:min_bigint, :max_bigint, '[)')", [':min_bigint' => $val[0], ':max_bigint' => $val[1]]); + break; + case 'num_range': + $data[$column] = new Expression(Schema::TYPE_NUM_RANGE . "(:min_num, :max_num, '[)')", [':min_num' => $val[0], ':max_num' => $val[1]]); + break; + case 'ts_range': + $data[$column] = new Expression(Schema::TYPE_TS_RANGE . "(:min_ts, :max_ts, '[)')", [':min_ts' => $val[0], ':max_ts' => $val[1]]); + break; + case 'ts_tz_range': + $data[$column] = new Expression(Schema::TYPE_TS_TZ_RANGE . "(:min_tstz, :max_tstz, '[)')", [':min_tstz' => $val[0], ':max_tstz' => $val[1]]); + break; + case 'date_range': + $data[$column] = new Expression(Schema::TYPE_DATE_RANGE . "(:min_date, :max_date, '[)')", [':min_date' => $val[0], ':max_date' => $val[1]]); + break; + } + } + + $command->insert('ranges', $data)->execute(); + } + + $rows = (new Query($db))->from('ranges')->all(); + + foreach ($rows as $row) { + $id = $row['id']; + + foreach ($row as $column => $value) { + if ($column === 'id') { + continue; + } + + $this->assertIsString($value); + $range = self::RANGES[$id][$column]; + + switch ($column) { + case 'int_range': + $parser = new RangeParser(Schema::TYPE_INT_4_RANGE); + $result = $parser->parse($value); + $min = $range[0] === null ? null : $range[0]; + $max = $range[1] === null ? null : $range[1] - 1; + + $this->assertSame($result, [$min, $max]); + break; + case 'bigint_range': + $parser = new RangeParser(Schema::TYPE_INT_8_RANGE); + $result = $parser->parse($value); + + if (PHP_INT_SIZE === 4) { + $min = $range[0] === null ? null : (float) $range[0]; + $max = $range[1] === null ? null : (float) $range[1] - 1; + } else { + $min = $range[0] === null ? null : (int) $range[0]; + $max = $range[1] === null ? null : (int) $range[1] - 1; + } + + $this->assertSame($result, [$min, $max]); + + break; + case 'num_range': + $parser = new RangeParser(Schema::TYPE_NUM_RANGE); + $result = $parser->parse($value); + $this->assertSame($result, $range); + + break; + case 'ts_range': + $parser = new RangeParser(Schema::TYPE_TS_RANGE); + $result = $parser->parse($value); + $min = $result[0] === null ? null : $result[0]->format('Y-m-d H:i:s'); + $max = $result[1] === null ? null : $result[1]->format('Y-m-d H:i:s'); + + $this->assertSame($range, [$min, $max]); + + break; + case 'ts_tz_range': + $parser = new RangeParser(Schema::TYPE_TS_TZ_RANGE); + $result = $parser->parse($value); + $min = $result[0] === null ? null : $result[0]->format('Y-m-d H:i:sP'); + $max = $result[1] === null ? null : $result[1]->format('Y-m-d H:i:sP'); + + $this->assertSame($range, [$min, $max]); + + break; + case 'date_range': + $interval = new DateInterval('P1D'); + $parser = new RangeParser(Schema::TYPE_DATE_RANGE); + $result = $parser->parse($value); + $min = $result[0] === null ? null : $result[0]->format('Y-m-d'); + $max = $result[1] === null ? null : $result[1]->add($interval)->format('Y-m-d'); + + $this->assertSame($range, [$min, $max]); + + break; + } + } + } + } +} From e1e72f70361b031ac8a71eecd5d18a75e24b6994 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=94=D0=BC=D0=B8=D1=82=D1=80=D0=B8=D0=B9?= Date: Mon, 1 Nov 2021 22:59:58 +0300 Subject: [PATCH 2/6] New test and fixes --- .phpunit.result.cache | 2 +- src/RangeParser.php | 10 +- tests/Fixture/postgres.sql | 14 +- tests/RangeParserTest.php | 543 ++++++++++++++++++------------------- 4 files changed, 271 insertions(+), 298 deletions(-) diff --git a/.phpunit.result.cache b/.phpunit.result.cache index e8597d2d8..36fdd8270 100644 --- a/.phpunit.result.cache +++ b/.phpunit.result.cache @@ -1 +1 @@ -{"version":1,"defects":{"Yiisoft\\Db\\Pgsql\\Tests\\BatchQueryResultTest::testQuery":4,"Yiisoft\\Db\\Pgsql\\Tests\\BatchQueryResultTest::testBatchWithoutDbParameter":4,"Yiisoft\\Db\\Pgsql\\Tests\\BatchQueryResultTest::testBatchWithIndexBy":4,"Yiisoft\\Db\\Pgsql\\Tests\\ColumnSchemaTest::testPhpTypeCast":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testAddDropCheck":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testAddDropPrimaryKey":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testBooleanValuesInsert":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testBooleanValuesBatchInsert":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testLastInsertId":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testSaveSerializedObject":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testIssue15827":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testBatchInsertSQL with data set \"issue11242\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testBatchInsertSQL with data set \"wrongBehavior\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testBatchInsertSQL with data set \"batchInsert binds params from expression\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testBatchInsertSQL with data set \"batchInsert binds params from jsonExpression\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testBatchInsertSQL with data set \"batchInsert binds params from arrayExpression\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testBatchInsertSQL with data set \"batchInsert casts string to int according to the table schema\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testBatchInsertSQL with data set \"batchInsert casts JSON to JSONB when column is JSONB\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testBindParamsNonWhere with data set #0":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testBindParamsNonWhere with data set #1":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testBindParamsNonWhere with data set #2":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testInsertSelectFailed with data set #0":3,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testInsertSelectFailed with data set #1":3,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testInsertSelectFailed with data set #2":3,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testUpsert with data set \"regular values\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testUpsert with data set \"regular values with update part\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testUpsert with data set \"regular values without update part\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testUpsert with data set \"query\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testUpsert with data set \"query with update part\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testUpsert with data set \"query without update part\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testPrepareCancel":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testExecute":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testQuery":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testFetchMode":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testBatchInsert":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testBatchInsertWithYield":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testBatchInsertDataTypesLocale":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testInsert":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testNoTablenameReplacement":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testInsertSelect":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testInsertSelectAlias":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testInsertExpression":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testsInsertQueryAsColumnValue":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testCreateTable":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testDropTable":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testTruncateTable":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testRenameTable":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testAddDropForeignKey":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testCreateDropIndex":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testAddDropUnique":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testIntegrityViolation":3,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testQueryCache":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testColumnCase":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testTransaction":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testRetryHandler":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testCreateView":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testDropView":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testAlterTable":4,"Yiisoft\\Db\\Pgsql\\Tests\\ConnectionTest::testConnection":4,"Yiisoft\\Db\\Pgsql\\Tests\\ConnectionTest::testInitConnection":4,"Yiisoft\\Db\\Pgsql\\Tests\\ConnectionTest::testOpenClose":4,"Yiisoft\\Db\\Pgsql\\Tests\\ConnectionTest::testQuoteValue":4,"Yiisoft\\Db\\Pgsql\\Tests\\ConnectionTest::testTransactionIsolation":4,"Yiisoft\\Db\\Pgsql\\Tests\\ConnectionTest::testGetPdoAfterClose":3,"Yiisoft\\Db\\Pgsql\\Tests\\ConnectionTest::testServerStatusCacheWorks":4,"Yiisoft\\Db\\Pgsql\\Tests\\ConnectionTest::testServerStatusCacheCanBeDisabled":4,"Yiisoft\\Db\\Pgsql\\Tests\\ConnectionTest::testSerialize":4,"Yiisoft\\Db\\Pgsql\\Tests\\ConnectionTest::testTransaction":4,"Yiisoft\\Db\\Pgsql\\Tests\\ConnectionTest::testTransactionShortcutException":4,"Yiisoft\\Db\\Pgsql\\Tests\\ConnectionTest::testTransactionShortcutCorrect":4,"Yiisoft\\Db\\Pgsql\\Tests\\ConnectionTest::testTransactionShortcutCustom":4,"Yiisoft\\Db\\Pgsql\\Tests\\ConnectionTest::testNestedTransaction":4,"Yiisoft\\Db\\Pgsql\\Tests\\ConnectionTest::testNestedTransactionNotSupported":4,"Yiisoft\\Db\\Pgsql\\Tests\\ConnectionTest::testEnableQueryLog":4,"Yiisoft\\Db\\Pgsql\\Tests\\ConnectionTest::testExceptionContainsRawQuery":4,"Yiisoft\\Db\\Pgsql\\Tests\\ConnectionTest::testClone":4,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testCommentColumn":4,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testCommentTable":4,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testResetSequence":4,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testResetSequencePostgres12":4,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBatchInsert with data set #0":4,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBatchInsert with data set \"escape-danger-chars\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBatchInsert with data set #2":4,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBatchInsert with data set \"bool-false, bool2-null\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBatchInsert with data set #3":4,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBatchInsert with data set \"bool-false, time-now()\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testInsert with data set \"regular-values\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testInsert with data set \"params-and-expressions\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testInsert with data set \"carry passed params\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testInsert with data set \"carry passed params (query)\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testUpdate with data set #0":4,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testUpdate with data set #1":4,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testCheckIntegrity":4,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testGetColumnType":4,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testCreateTableColumnTypes":4,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testUpsert with data set \"regular values\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testUpsert with data set \"regular values with update part\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testUpsert with data set \"regular values without update part\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testUpsert with data set \"query\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testUpsert with data set \"query with update part\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testUpsert with data set \"query without update part\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testUpsert with data set \"values and expressions\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testUpsert with data set \"values and expressions with update part\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testUpsert with data set \"values and expressions without update part\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testUpsert with data set \"query, values and expressions with update part\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testUpsert with data set \"query, values and expressions without update part\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testUpsert with data set \"no columns to update\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testBooleanValues":4,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testLimitOffsetWithExpression":4,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testOne":4,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testExists":4,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testColumn":4,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testCount":4,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testEmulateExecution":4,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testMultipleLikeConditions":4,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testExpressionInFrom":4,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testQueryCache":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testCompositeFk":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testBooleanDefaultValues":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testGetSchemaNames":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testSequenceName":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testGeneratedValues":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testPartitionedTable":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testFindSchemaNames":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testParenthesisDefaultValue":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTimestampNullDefaultValue":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testGetTableNames with data set #0":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testGetTableNames with data set #1":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testGetTableSchemas with data set #0":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testGetTableSchemas with data set #1":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraints with data set \"1: primary key\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraints with data set \"1: check\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraints with data set \"1: unique\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraints with data set \"1: index\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraints with data set \"2: primary key\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraints with data set \"2: unique\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraints with data set \"2: index\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraints with data set \"2: check\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraints with data set \"3: primary key\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraints with data set \"3: foreign key\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraints with data set \"3: unique\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraints with data set \"3: index\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraints with data set \"3: check\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraints with data set \"4: primary key\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraints with data set \"4: unique\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraints with data set \"4: check\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoLowercase with data set \"1: primary key\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoLowercase with data set \"1: check\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoLowercase with data set \"1: unique\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoLowercase with data set \"1: index\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoLowercase with data set \"1: default\"":3,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoLowercase with data set \"2: primary key\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoLowercase with data set \"2: unique\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoLowercase with data set \"2: index\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoLowercase with data set \"2: check\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoLowercase with data set \"2: default\"":3,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoLowercase with data set \"3: primary key\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoLowercase with data set \"3: foreign key\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoLowercase with data set \"3: unique\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoLowercase with data set \"3: index\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoLowercase with data set \"3: check\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoLowercase with data set \"3: default\"":3,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoLowercase with data set \"4: primary key\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoLowercase with data set \"4: unique\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoLowercase with data set \"4: check\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoLowercase with data set \"4: default\"":3,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoUppercase with data set \"1: primary key\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoUppercase with data set \"1: check\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoUppercase with data set \"1: unique\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoUppercase with data set \"1: index\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoUppercase with data set \"1: default\"":3,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoUppercase with data set \"2: primary key\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoUppercase with data set \"2: unique\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoUppercase with data set \"2: index\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoUppercase with data set \"2: check\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoUppercase with data set \"2: default\"":3,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoUppercase with data set \"3: primary key\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoUppercase with data set \"3: foreign key\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoUppercase with data set \"3: unique\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoUppercase with data set \"3: index\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoUppercase with data set \"3: check\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoUppercase with data set \"3: default\"":3,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoUppercase with data set \"4: primary key\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoUppercase with data set \"4: unique\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoUppercase with data set \"4: check\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoUppercase with data set \"4: default\"":3,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testFindUniqueIndexes":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testInsert":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testGetTableSchemasWithAttrCase":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testGetNonExistingTableSchema":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testSchemaCache":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaCacheWithTablePrefixes with data set \"type (with '' prefix) against {{%type}} (with '' prefix)\"":1,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaCacheWithTablePrefixes with data set \"type (with '' prefix) against {{%pe}} (with 'ty' prefix)\"":1,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaCacheWithTablePrefixes with data set \"{{%type}} (with '' prefix) against type (with '' prefix)\"":1,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaCacheWithTablePrefixes with data set \"{{%type}} (with '' prefix) against {{%pe}} (with 'ty' prefix)\"":1,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaCacheWithTablePrefixes with data set \"{{%pe}} (with 'ty' prefix) against type (with '' prefix)\"":1,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaCacheWithTablePrefixes with data set \"{{%pe}} (with 'ty' prefix) against {{%type}} (with '' prefix)\"":1,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testRefreshTableSchema":1,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testColumnSchema":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testNegativeDefaultValues":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testContraintTablesExistance":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testGetColumnNoExist":4,"Yiisoft\\Db\\Pgsql\\Tests\\SqlDataProviderTest::testGetModels":4,"Yiisoft\\Db\\Pgsql\\Tests\\SqlDataProviderTest::testGetKeys":4,"Yiisoft\\Db\\Pgsql\\Tests\\SqlDataProviderTest::testWithSort":4,"Yiisoft\\Db\\Pgsql\\Tests\\SqlDataProviderTest::testTotalCount":4,"Yiisoft\\Db\\Pgsql\\Tests\\SqlDataProviderTest::testTotalCountWithParams":4,"Yiisoft\\Db\\Pgsql\\Tests\\RangeParserTest::testAutoRange":4,"Yiisoft\\Db\\Pgsql\\Tests\\RangeParserTest::testDateRange":4,"Yiisoft\\Db\\Pgsql\\Tests\\RangeParserTest::testIntRange":4,"Yiisoft\\Db\\Pgsql\\Tests\\RangeParserTest::testNumRange":4,"Warning":6,"Yiisoft\\Db\\Pgsql\\Tests\\RangeParserTest::testSimpleRanges":4,"Yiisoft\\Db\\Pgsql\\Tests\\RangeParserTest::testLowerRanges":4,"Yiisoft\\Db\\Pgsql\\Tests\\RangeParserTest::testUpperRanges":3,"Yiisoft\\Db\\Pgsql\\Tests\\RangeParserTest::testExcludeLowerRanges":4,"Yiisoft\\Db\\Pgsql\\Tests\\RangeParserTest::testExcludeUpperRanges":4},"times":{"Yiisoft\\Db\\Pgsql\\Tests\\ArrayParserTest::testParser":0.005,"Yiisoft\\Db\\Pgsql\\Tests\\BatchQueryResultTest::testQuery":0.002,"Yiisoft\\Db\\Pgsql\\Tests\\BatchQueryResultTest::testBatchWithoutDbParameter":0.003,"Yiisoft\\Db\\Pgsql\\Tests\\BatchQueryResultTest::testBatchWithIndexBy":0.001,"Yiisoft\\Db\\Pgsql\\Tests\\ColumnSchemaBuilderTest::testCustomTypes with data set #0":0.001,"Yiisoft\\Db\\Pgsql\\Tests\\ColumnSchemaBuilderTest::testCustomTypes with data set #1":0,"Yiisoft\\Db\\Pgsql\\Tests\\ColumnSchemaBuilderTest::testCustomTypes with data set #2":0,"Yiisoft\\Db\\Pgsql\\Tests\\ColumnSchemaBuilderTest::testCustomTypes with data set #3":0,"Yiisoft\\Db\\Pgsql\\Tests\\ColumnSchemaBuilderTest::testCustomTypes with data set #4":0,"Yiisoft\\Db\\Pgsql\\Tests\\ColumnSchemaTest::testPhpTypeCast":0,"Yiisoft\\Db\\Pgsql\\Tests\\ColumnSchemaTest::testPhpTypeCastBool":0.001,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testAddDropCheck":0.002,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testAddDropPrimaryKey":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testAutoQuoting":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testBooleanValuesInsert":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testBooleanValuesBatchInsert":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testLastInsertId":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testSaveSerializedObject":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testIssue15827":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testBatchInsertSQL with data set \"issue11242\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testBatchInsertSQL with data set \"wrongBehavior\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testBatchInsertSQL with data set \"batchInsert binds params from expression\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testBatchInsertSQL with data set \"batchInsert binds params from jsonExpression\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testBatchInsertSQL with data set \"batchInsert binds params from arrayExpression\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testBatchInsertSQL with data set \"batchInsert casts string to int according to the table schema\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testBatchInsertSQL with data set \"batchInsert casts JSON to JSONB when column is JSONB\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testBindParamsNonWhere with data set #0":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testBindParamsNonWhere with data set #1":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testBindParamsNonWhere with data set #2":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testGetRawSql with data set #0":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testGetRawSql with data set #1":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testGetRawSql with data set #2":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testGetRawSql with data set #3":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testGetRawSql with data set #4":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testGetRawSql with data set #5":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testInsertSelectFailed with data set #0":0.02,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testInsertSelectFailed with data set #1":0.001,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testInsertSelectFailed with data set #2":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testUpsert with data set \"regular values\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testUpsert with data set \"regular values with update part\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testUpsert with data set \"regular values without update part\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testUpsert with data set \"query\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testUpsert with data set \"query with update part\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testUpsert with data set \"query without update part\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testConstruct":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testGetSetSql":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testPrepareCancel":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testExecute":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testQuery":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testFetchMode":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testBatchInsert":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testBatchInsertWithYield":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testBatchInsertDataTypesLocale":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testInsert":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testNoTablenameReplacement":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testInsertSelect":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testInsertSelectAlias":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testInsertExpression":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testsInsertQueryAsColumnValue":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testCreateTable":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testDropTable":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testTruncateTable":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testRenameTable":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testAddDropForeignKey":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testCreateDropIndex":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testAddDropUnique":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testIntegrityViolation":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testQueryCache":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testColumnCase":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testTransaction":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testRetryHandler":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testCreateView":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testDropView":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testAlterTable":0,"Yiisoft\\Db\\Pgsql\\Tests\\ConnectionTest::testConnection":0,"Yiisoft\\Db\\Pgsql\\Tests\\ConnectionTest::testConstruct":0,"Yiisoft\\Db\\Pgsql\\Tests\\ConnectionTest::testGetDriverName":0,"Yiisoft\\Db\\Pgsql\\Tests\\ConnectionTest::testInitConnection":0,"Yiisoft\\Db\\Pgsql\\Tests\\ConnectionTest::testOpenClose":0,"Yiisoft\\Db\\Pgsql\\Tests\\ConnectionTest::testQuoteValue":0,"Yiisoft\\Db\\Pgsql\\Tests\\ConnectionTest::testQuoteTableName":0,"Yiisoft\\Db\\Pgsql\\Tests\\ConnectionTest::testQuoteColumnName":0,"Yiisoft\\Db\\Pgsql\\Tests\\ConnectionTest::testQuoteFullColumnName":0,"Yiisoft\\Db\\Pgsql\\Tests\\ConnectionTest::testTransactionIsolation":0,"Yiisoft\\Db\\Pgsql\\Tests\\ConnectionTest::testGetPdoAfterClose":0.001,"Yiisoft\\Db\\Pgsql\\Tests\\ConnectionTest::testServerStatusCacheWorks":0,"Yiisoft\\Db\\Pgsql\\Tests\\ConnectionTest::testServerStatusCacheCanBeDisabled":0,"Yiisoft\\Db\\Pgsql\\Tests\\ConnectionTest::testSerialize":0,"Yiisoft\\Db\\Pgsql\\Tests\\ConnectionTest::testTransaction":0,"Yiisoft\\Db\\Pgsql\\Tests\\ConnectionTest::testTransactionShortcutException":0,"Yiisoft\\Db\\Pgsql\\Tests\\ConnectionTest::testTransactionShortcutCorrect":0,"Yiisoft\\Db\\Pgsql\\Tests\\ConnectionTest::testTransactionShortcutCustom":0,"Yiisoft\\Db\\Pgsql\\Tests\\ConnectionTest::testNestedTransaction":0,"Yiisoft\\Db\\Pgsql\\Tests\\ConnectionTest::testNestedTransactionNotSupported":0,"Yiisoft\\Db\\Pgsql\\Tests\\ConnectionTest::testEnableQueryLog":0,"Yiisoft\\Db\\Pgsql\\Tests\\ConnectionTest::testExceptionContainsRawQuery":0,"Yiisoft\\Db\\Pgsql\\Tests\\ConnectionTest::testClone":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testAlterColumn":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testCommentColumn":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testCommentTable":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testResetSequence":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testResetSequencePostgres12":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testDropIndex":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testAddDropCheck with data set \"drop\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testAddDropCheck with data set \"add\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testAddDropForeignKey with data set \"drop\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testAddDropForeignKey with data set \"add\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testAddDropForeignKey with data set \"add (2 columns)\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testAddDropPrimaryKey with data set \"drop\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testAddDropPrimaryKey with data set \"add\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testAddDropPrimaryKey with data set \"add (2 columns)\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testAddDropUnique with data set \"drop\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testAddDropUnique with data set \"add\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testAddDropUnique with data set \"add (2 columns)\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBatchInsert with data set #0":0.001,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBatchInsert with data set \"escape-danger-chars\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBatchInsert with data set #1":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBatchInsert with data set #2":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBatchInsert with data set \"bool-false, bool2-null\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBatchInsert with data set #3":0.001,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBatchInsert with data set \"bool-false, time-now()\"":0.001,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #0":0.001,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #1":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #2":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #3":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #4":0.001,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #5":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #6":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #7":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #8":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #9":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #10":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #11":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #12":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #13":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #14":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #15":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #16":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #17":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #18":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #19":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #20":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #21":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #22":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #23":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #24":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #25":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #26":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #27":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #28":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #29":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #30":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set \"composite in\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set \"composite in (just one column)\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set \"composite in using array objects (just one column)\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #31":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #32":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #33":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #34":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #35":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #36":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #37":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #38":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set \"composite in using array objects\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #39":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #40":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #41":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #42":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #43":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #44":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #45":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #46":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #47":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #48":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #49":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #50":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #51":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #52":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #53":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #54":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #55":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #56":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #57":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #58":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #59":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #60":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #61":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #62":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #63":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #64":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #65":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #66":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #67":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #68":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #69":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #70":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #71":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #72":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #73":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #74":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #75":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #76":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #77":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #78":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #79":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #80":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #81":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set \"scalar can not be converted to array #1\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #82":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #83":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #84":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set \"array of arrays\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #85":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set \"array can contain nulls\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set \"traversable objects are supported\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #86":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #87":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #88":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #89":0.001,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #90":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #91":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set \"nested json\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set \"null value\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set \"null as array value\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set \"null as object value\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set \"query\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set \"query with type\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set \"array of json expressions\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set \"Items in ArrayExpression of type json should be casted to Json\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set \"Two dimension array of text\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set \"Three dimension array of booleans\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #92":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #93":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #94":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #95":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #96":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #97":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #98":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #99":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #100":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildFilterCondition with data set #0":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildFilterCondition with data set #1":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildFilterCondition with data set #2":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildFilterCondition with data set #3":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildFilterCondition with data set #4":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildFilterCondition with data set #5":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildFilterCondition with data set #6":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildFilterCondition with data set #7":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildFilterCondition with data set #8":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildFilterCondition with data set #9":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildFilterCondition with data set #10":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildFilterCondition with data set #11":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildFilterCondition with data set #12":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildFilterCondition with data set #13":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildFilterCondition with data set #14":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildFilterCondition with data set #15":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildFilterCondition with data set #16":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildFilterCondition with data set #17":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildFilterCondition with data set #18":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildFilterCondition with data set #19":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildFilterCondition with data set #20":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildFilterCondition with data set #21":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildFrom with data set #0":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildFrom with data set #1":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildFrom with data set #2":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildFrom with data set #3":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildLikeCondition with data set #0":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildLikeCondition with data set #1":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildLikeCondition with data set #2":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildLikeCondition with data set #3":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildLikeCondition with data set #4":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildLikeCondition with data set #5":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildLikeCondition with data set #6":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildLikeCondition with data set #7":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildLikeCondition with data set #8":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildLikeCondition with data set #9":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildLikeCondition with data set #10":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildLikeCondition with data set #11":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildLikeCondition with data set #12":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildLikeCondition with data set #13":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildLikeCondition with data set #14":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildLikeCondition with data set #15":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildLikeCondition with data set #16":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildLikeCondition with data set #17":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildLikeCondition with data set #18":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildLikeCondition with data set #19":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildLikeCondition with data set #20":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildLikeCondition with data set #21":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildLikeCondition with data set #22":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildLikeCondition with data set #23":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildLikeCondition with data set #24":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildLikeCondition with data set #25":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildWhereExists with data set #0":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildWhereExists with data set #1":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testCreateDropIndex with data set \"drop\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testCreateDropIndex with data set \"create\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testCreateDropIndex with data set \"create (2 columns)\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testCreateDropIndex with data set \"create unique\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testCreateDropIndex with data set \"create unique (2 columns)\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testDelete with data set #0":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testInsert with data set \"regular-values\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testInsert with data set \"params-and-expressions\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testInsert with data set \"carry passed params\"":0.001,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testInsert with data set \"carry passed params (query)\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testUpdate with data set #0":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testUpdate with data set #1":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testCheckIntegrity":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testGetColumnType":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testCreateTableColumnTypes":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildWhereExistsWithParameters":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildWhereExistsWithArrayParameters":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildUnion":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildWithQuery":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildWithQueryRecursive":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testSelectSubquery":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testComplexSelect":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testSelectExpression":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testFromIndexHint":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testFromSubquery":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testOrderBy":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testGroupBy":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testInitFixtures":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testUpsert with data set \"regular values\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testUpsert with data set \"regular values with update part\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testUpsert with data set \"regular values without update part\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testUpsert with data set \"query\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testUpsert with data set \"query with update part\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testUpsert with data set \"query without update part\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testUpsert with data set \"values and expressions\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testUpsert with data set \"values and expressions with update part\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testUpsert with data set \"values and expressions without update part\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testUpsert with data set \"query, values and expressions with update part\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testUpsert with data set \"query, values and expressions without update part\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testUpsert with data set \"no columns to update\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testIssue15653":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testBooleanValues":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testSelect":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testFrom":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testFromTableIsArrayWithExpression":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testWhere":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testFilterWhereWithHashFormat":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testFilterWhereWithOperatorFormat":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testFilterHavingWithHashFormat":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testFilterHavingWithOperatorFormat":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testFilterRecursively":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testGroup":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testHaving":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testOrder":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testLimitOffset":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testLimitOffsetWithExpression":0.001,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testOne":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testExists":0.001,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testColumn":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testCount":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testAndFilterCompare":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testEmulateExecution":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testMultipleLikeConditions":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testExpressionInFrom":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testQueryCache":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testQueryCreation":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testGetTableNamesIsFromArrayWithAlias":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testGetTableNamesIsFromArrayWithoutAlias":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testGetTableNamesIsFromString":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testGetTableNamesIsFromObjectgenerateException":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testGetTablesAliasesFromString":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testGetTableNamesIsFromPrefixedTableName":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testGetTableNamesIsFromTableNameWithDatabase":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testGetTableNamesIsFromAliasedExpression":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testGetTableNamesIsFromAliasedArrayWithExpression":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testGetTableNamesIsFromAliasedSubquery":0,"Yiisoft\\Db\\Pgsql\\Tests\\RangeParserTest::testAutoRange":0.286,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testCompositeFk":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testGetPDOType":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testBooleanDefaultValues":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testGetSchemaNames":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testSequenceName":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testGeneratedValues":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testPartitionedTable":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testFindSchemaNames":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testParenthesisDefaultValue":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTimestampNullDefaultValue":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testGetTableNames with data set #0":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testGetTableNames with data set #1":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testGetTableSchemas with data set #0":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testGetTableSchemas with data set #1":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraints with data set \"1: primary key\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraints with data set \"1: check\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraints with data set \"1: unique\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraints with data set \"1: index\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraints with data set \"1: default\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraints with data set \"2: primary key\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraints with data set \"2: unique\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraints with data set \"2: index\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraints with data set \"2: check\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraints with data set \"2: default\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraints with data set \"3: primary key\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraints with data set \"3: foreign key\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraints with data set \"3: unique\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraints with data set \"3: index\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraints with data set \"3: check\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraints with data set \"3: default\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraints with data set \"4: primary key\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraints with data set \"4: unique\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraints with data set \"4: check\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraints with data set \"4: default\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoLowercase with data set \"1: primary key\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoLowercase with data set \"1: check\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoLowercase with data set \"1: unique\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoLowercase with data set \"1: index\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoLowercase with data set \"1: default\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoLowercase with data set \"2: primary key\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoLowercase with data set \"2: unique\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoLowercase with data set \"2: index\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoLowercase with data set \"2: check\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoLowercase with data set \"2: default\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoLowercase with data set \"3: primary key\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoLowercase with data set \"3: foreign key\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoLowercase with data set \"3: unique\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoLowercase with data set \"3: index\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoLowercase with data set \"3: check\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoLowercase with data set \"3: default\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoLowercase with data set \"4: primary key\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoLowercase with data set \"4: unique\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoLowercase with data set \"4: check\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoLowercase with data set \"4: default\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoUppercase with data set \"1: primary key\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoUppercase with data set \"1: check\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoUppercase with data set \"1: unique\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoUppercase with data set \"1: index\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoUppercase with data set \"1: default\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoUppercase with data set \"2: primary key\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoUppercase with data set \"2: unique\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoUppercase with data set \"2: index\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoUppercase with data set \"2: check\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoUppercase with data set \"2: default\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoUppercase with data set \"3: primary key\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoUppercase with data set \"3: foreign key\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoUppercase with data set \"3: unique\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoUppercase with data set \"3: index\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoUppercase with data set \"3: check\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoUppercase with data set \"3: default\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoUppercase with data set \"4: primary key\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoUppercase with data set \"4: unique\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoUppercase with data set \"4: check\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoUppercase with data set \"4: default\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testFindUniqueIndexes":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testInsert":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testGetTableSchemasWithAttrCase":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testGetNonExistingTableSchema":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testSchemaCache":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaCacheWithTablePrefixes with data set \"type (with '' prefix) against {{%type}} (with '' prefix)\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaCacheWithTablePrefixes with data set \"type (with '' prefix) against {{%pe}} (with 'ty' prefix)\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaCacheWithTablePrefixes with data set \"{{%type}} (with '' prefix) against type (with '' prefix)\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaCacheWithTablePrefixes with data set \"{{%type}} (with '' prefix) against {{%pe}} (with 'ty' prefix)\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaCacheWithTablePrefixes with data set \"{{%pe}} (with 'ty' prefix) against type (with '' prefix)\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaCacheWithTablePrefixes with data set \"{{%pe}} (with 'ty' prefix) against {{%type}} (with '' prefix)\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testRefreshTableSchema":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testColumnSchema":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testColumnSchemaDbTypecastWithEmptyCharType":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testNegativeDefaultValues":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testContraintTablesExistance":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testGetColumnNoExist":0,"Yiisoft\\Db\\Pgsql\\Tests\\SqlDataProviderTest::testGetModels":0.001,"Yiisoft\\Db\\Pgsql\\Tests\\SqlDataProviderTest::testGetKeys":0,"Yiisoft\\Db\\Pgsql\\Tests\\SqlDataProviderTest::testWithSort":0.001,"Yiisoft\\Db\\Pgsql\\Tests\\SqlDataProviderTest::testTotalCount":0,"Yiisoft\\Db\\Pgsql\\Tests\\SqlDataProviderTest::testTotalCountWithParams":0,"Yiisoft\\Db\\Pgsql\\Tests\\RangeParserTest::testNumRange":0.248,"Yiisoft\\Db\\Pgsql\\Tests\\RangeParserTest::testIntRange":0.25,"Yiisoft\\Db\\Pgsql\\Tests\\RangeParserTest::testDateRange":0.259,"Warning":0.002,"Yiisoft\\Db\\Pgsql\\Tests\\RangeParserTest::testSimpleRanges":0.281,"Yiisoft\\Db\\Pgsql\\Tests\\RangeParserTest::testLowerRanges":0.262,"Yiisoft\\Db\\Pgsql\\Tests\\RangeParserTest::testUpperRanges":0.274,"Yiisoft\\Db\\Pgsql\\Tests\\RangeParserTest::testExcludeLowerRanges":0.24,"Yiisoft\\Db\\Pgsql\\Tests\\RangeParserTest::testExcludeUpperRanges":0.275}} \ No newline at end of file +{"version":1,"defects":{"Yiisoft\\Db\\Pgsql\\Tests\\BatchQueryResultTest::testQuery":4,"Yiisoft\\Db\\Pgsql\\Tests\\BatchQueryResultTest::testBatchWithoutDbParameter":4,"Yiisoft\\Db\\Pgsql\\Tests\\BatchQueryResultTest::testBatchWithIndexBy":4,"Yiisoft\\Db\\Pgsql\\Tests\\ColumnSchemaTest::testPhpTypeCast":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testAddDropCheck":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testAddDropPrimaryKey":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testBooleanValuesInsert":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testBooleanValuesBatchInsert":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testLastInsertId":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testSaveSerializedObject":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testIssue15827":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testBatchInsertSQL with data set \"issue11242\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testBatchInsertSQL with data set \"wrongBehavior\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testBatchInsertSQL with data set \"batchInsert binds params from expression\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testBatchInsertSQL with data set \"batchInsert binds params from jsonExpression\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testBatchInsertSQL with data set \"batchInsert binds params from arrayExpression\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testBatchInsertSQL with data set \"batchInsert casts string to int according to the table schema\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testBatchInsertSQL with data set \"batchInsert casts JSON to JSONB when column is JSONB\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testBindParamsNonWhere with data set #0":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testBindParamsNonWhere with data set #1":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testBindParamsNonWhere with data set #2":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testInsertSelectFailed with data set #0":3,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testInsertSelectFailed with data set #1":3,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testInsertSelectFailed with data set #2":3,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testUpsert with data set \"regular values\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testUpsert with data set \"regular values with update part\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testUpsert with data set \"regular values without update part\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testUpsert with data set \"query\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testUpsert with data set \"query with update part\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testUpsert with data set \"query without update part\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testPrepareCancel":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testExecute":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testQuery":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testFetchMode":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testBatchInsert":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testBatchInsertWithYield":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testBatchInsertDataTypesLocale":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testInsert":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testNoTablenameReplacement":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testInsertSelect":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testInsertSelectAlias":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testInsertExpression":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testsInsertQueryAsColumnValue":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testCreateTable":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testDropTable":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testTruncateTable":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testRenameTable":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testAddDropForeignKey":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testCreateDropIndex":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testAddDropUnique":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testIntegrityViolation":3,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testQueryCache":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testColumnCase":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testTransaction":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testRetryHandler":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testCreateView":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testDropView":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testAlterTable":4,"Yiisoft\\Db\\Pgsql\\Tests\\ConnectionTest::testConnection":4,"Yiisoft\\Db\\Pgsql\\Tests\\ConnectionTest::testInitConnection":4,"Yiisoft\\Db\\Pgsql\\Tests\\ConnectionTest::testOpenClose":4,"Yiisoft\\Db\\Pgsql\\Tests\\ConnectionTest::testQuoteValue":4,"Yiisoft\\Db\\Pgsql\\Tests\\ConnectionTest::testTransactionIsolation":4,"Yiisoft\\Db\\Pgsql\\Tests\\ConnectionTest::testGetPdoAfterClose":3,"Yiisoft\\Db\\Pgsql\\Tests\\ConnectionTest::testServerStatusCacheWorks":4,"Yiisoft\\Db\\Pgsql\\Tests\\ConnectionTest::testServerStatusCacheCanBeDisabled":4,"Yiisoft\\Db\\Pgsql\\Tests\\ConnectionTest::testSerialize":4,"Yiisoft\\Db\\Pgsql\\Tests\\ConnectionTest::testTransaction":4,"Yiisoft\\Db\\Pgsql\\Tests\\ConnectionTest::testTransactionShortcutException":4,"Yiisoft\\Db\\Pgsql\\Tests\\ConnectionTest::testTransactionShortcutCorrect":4,"Yiisoft\\Db\\Pgsql\\Tests\\ConnectionTest::testTransactionShortcutCustom":4,"Yiisoft\\Db\\Pgsql\\Tests\\ConnectionTest::testNestedTransaction":4,"Yiisoft\\Db\\Pgsql\\Tests\\ConnectionTest::testNestedTransactionNotSupported":4,"Yiisoft\\Db\\Pgsql\\Tests\\ConnectionTest::testEnableQueryLog":4,"Yiisoft\\Db\\Pgsql\\Tests\\ConnectionTest::testExceptionContainsRawQuery":4,"Yiisoft\\Db\\Pgsql\\Tests\\ConnectionTest::testClone":4,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testCommentColumn":4,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testCommentTable":4,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testResetSequence":4,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testResetSequencePostgres12":4,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBatchInsert with data set #0":4,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBatchInsert with data set \"escape-danger-chars\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBatchInsert with data set #2":4,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBatchInsert with data set \"bool-false, bool2-null\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBatchInsert with data set #3":4,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBatchInsert with data set \"bool-false, time-now()\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testInsert with data set \"regular-values\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testInsert with data set \"params-and-expressions\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testInsert with data set \"carry passed params\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testInsert with data set \"carry passed params (query)\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testUpdate with data set #0":4,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testUpdate with data set #1":4,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testCheckIntegrity":4,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testGetColumnType":4,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testCreateTableColumnTypes":4,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testUpsert with data set \"regular values\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testUpsert with data set \"regular values with update part\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testUpsert with data set \"regular values without update part\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testUpsert with data set \"query\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testUpsert with data set \"query with update part\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testUpsert with data set \"query without update part\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testUpsert with data set \"values and expressions\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testUpsert with data set \"values and expressions with update part\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testUpsert with data set \"values and expressions without update part\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testUpsert with data set \"query, values and expressions with update part\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testUpsert with data set \"query, values and expressions without update part\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testUpsert with data set \"no columns to update\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testBooleanValues":4,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testLimitOffsetWithExpression":4,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testOne":4,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testExists":4,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testColumn":4,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testCount":4,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testEmulateExecution":4,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testMultipleLikeConditions":4,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testExpressionInFrom":4,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testQueryCache":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testCompositeFk":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testBooleanDefaultValues":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testGetSchemaNames":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testSequenceName":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testGeneratedValues":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testPartitionedTable":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testFindSchemaNames":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testParenthesisDefaultValue":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTimestampNullDefaultValue":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testGetTableNames with data set #0":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testGetTableNames with data set #1":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testGetTableSchemas with data set #0":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testGetTableSchemas with data set #1":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraints with data set \"1: primary key\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraints with data set \"1: check\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraints with data set \"1: unique\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraints with data set \"1: index\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraints with data set \"2: primary key\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraints with data set \"2: unique\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraints with data set \"2: index\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraints with data set \"2: check\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraints with data set \"3: primary key\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraints with data set \"3: foreign key\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraints with data set \"3: unique\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraints with data set \"3: index\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraints with data set \"3: check\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraints with data set \"4: primary key\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraints with data set \"4: unique\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraints with data set \"4: check\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoLowercase with data set \"1: primary key\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoLowercase with data set \"1: check\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoLowercase with data set \"1: unique\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoLowercase with data set \"1: index\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoLowercase with data set \"1: default\"":3,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoLowercase with data set \"2: primary key\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoLowercase with data set \"2: unique\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoLowercase with data set \"2: index\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoLowercase with data set \"2: check\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoLowercase with data set \"2: default\"":3,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoLowercase with data set \"3: primary key\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoLowercase with data set \"3: foreign key\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoLowercase with data set \"3: unique\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoLowercase with data set \"3: index\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoLowercase with data set \"3: check\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoLowercase with data set \"3: default\"":3,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoLowercase with data set \"4: primary key\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoLowercase with data set \"4: unique\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoLowercase with data set \"4: check\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoLowercase with data set \"4: default\"":3,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoUppercase with data set \"1: primary key\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoUppercase with data set \"1: check\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoUppercase with data set \"1: unique\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoUppercase with data set \"1: index\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoUppercase with data set \"1: default\"":3,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoUppercase with data set \"2: primary key\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoUppercase with data set \"2: unique\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoUppercase with data set \"2: index\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoUppercase with data set \"2: check\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoUppercase with data set \"2: default\"":3,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoUppercase with data set \"3: primary key\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoUppercase with data set \"3: foreign key\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoUppercase with data set \"3: unique\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoUppercase with data set \"3: index\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoUppercase with data set \"3: check\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoUppercase with data set \"3: default\"":3,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoUppercase with data set \"4: primary key\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoUppercase with data set \"4: unique\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoUppercase with data set \"4: check\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoUppercase with data set \"4: default\"":3,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testFindUniqueIndexes":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testInsert":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testGetTableSchemasWithAttrCase":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testGetNonExistingTableSchema":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testSchemaCache":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaCacheWithTablePrefixes with data set \"type (with '' prefix) against {{%type}} (with '' prefix)\"":1,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaCacheWithTablePrefixes with data set \"type (with '' prefix) against {{%pe}} (with 'ty' prefix)\"":1,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaCacheWithTablePrefixes with data set \"{{%type}} (with '' prefix) against type (with '' prefix)\"":1,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaCacheWithTablePrefixes with data set \"{{%type}} (with '' prefix) against {{%pe}} (with 'ty' prefix)\"":1,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaCacheWithTablePrefixes with data set \"{{%pe}} (with 'ty' prefix) against type (with '' prefix)\"":1,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaCacheWithTablePrefixes with data set \"{{%pe}} (with 'ty' prefix) against {{%type}} (with '' prefix)\"":1,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testRefreshTableSchema":1,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testColumnSchema":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testNegativeDefaultValues":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testContraintTablesExistance":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testGetColumnNoExist":4,"Yiisoft\\Db\\Pgsql\\Tests\\SqlDataProviderTest::testGetModels":4,"Yiisoft\\Db\\Pgsql\\Tests\\SqlDataProviderTest::testGetKeys":4,"Yiisoft\\Db\\Pgsql\\Tests\\SqlDataProviderTest::testWithSort":4,"Yiisoft\\Db\\Pgsql\\Tests\\SqlDataProviderTest::testTotalCount":4,"Yiisoft\\Db\\Pgsql\\Tests\\SqlDataProviderTest::testTotalCountWithParams":4,"Yiisoft\\Db\\Pgsql\\Tests\\RangeParserTest::testAutoRange":4,"Yiisoft\\Db\\Pgsql\\Tests\\RangeParserTest::testDateRange":4,"Yiisoft\\Db\\Pgsql\\Tests\\RangeParserTest::testIntRange":4,"Yiisoft\\Db\\Pgsql\\Tests\\RangeParserTest::testNumRange":3,"Warning":6,"Yiisoft\\Db\\Pgsql\\Tests\\RangeParserTest::testSimpleRanges":4,"Yiisoft\\Db\\Pgsql\\Tests\\RangeParserTest::testLowerRanges":4,"Yiisoft\\Db\\Pgsql\\Tests\\RangeParserTest::testUpperRanges":3,"Yiisoft\\Db\\Pgsql\\Tests\\RangeParserTest::testExcludeLowerRanges":4,"Yiisoft\\Db\\Pgsql\\Tests\\RangeParserTest::testExcludeUpperRanges":4,"Yiisoft\\Db\\Pgsql\\Tests\\RangeParserTest::testIntRanges":3,"Yiisoft\\Db\\Pgsql\\Tests\\RangeParserTest::testIntRangesWoLower":4,"Yiisoft\\Db\\Pgsql\\Tests\\RangeParserTest::testTsTzRange":4},"times":{"Yiisoft\\Db\\Pgsql\\Tests\\ArrayParserTest::testParser":0.005,"Yiisoft\\Db\\Pgsql\\Tests\\BatchQueryResultTest::testQuery":0.002,"Yiisoft\\Db\\Pgsql\\Tests\\BatchQueryResultTest::testBatchWithoutDbParameter":0.003,"Yiisoft\\Db\\Pgsql\\Tests\\BatchQueryResultTest::testBatchWithIndexBy":0.001,"Yiisoft\\Db\\Pgsql\\Tests\\ColumnSchemaBuilderTest::testCustomTypes with data set #0":0.001,"Yiisoft\\Db\\Pgsql\\Tests\\ColumnSchemaBuilderTest::testCustomTypes with data set #1":0,"Yiisoft\\Db\\Pgsql\\Tests\\ColumnSchemaBuilderTest::testCustomTypes with data set #2":0,"Yiisoft\\Db\\Pgsql\\Tests\\ColumnSchemaBuilderTest::testCustomTypes with data set #3":0,"Yiisoft\\Db\\Pgsql\\Tests\\ColumnSchemaBuilderTest::testCustomTypes with data set #4":0,"Yiisoft\\Db\\Pgsql\\Tests\\ColumnSchemaTest::testPhpTypeCast":0,"Yiisoft\\Db\\Pgsql\\Tests\\ColumnSchemaTest::testPhpTypeCastBool":0.001,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testAddDropCheck":0.002,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testAddDropPrimaryKey":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testAutoQuoting":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testBooleanValuesInsert":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testBooleanValuesBatchInsert":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testLastInsertId":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testSaveSerializedObject":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testIssue15827":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testBatchInsertSQL with data set \"issue11242\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testBatchInsertSQL with data set \"wrongBehavior\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testBatchInsertSQL with data set \"batchInsert binds params from expression\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testBatchInsertSQL with data set \"batchInsert binds params from jsonExpression\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testBatchInsertSQL with data set \"batchInsert binds params from arrayExpression\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testBatchInsertSQL with data set \"batchInsert casts string to int according to the table schema\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testBatchInsertSQL with data set \"batchInsert casts JSON to JSONB when column is JSONB\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testBindParamsNonWhere with data set #0":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testBindParamsNonWhere with data set #1":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testBindParamsNonWhere with data set #2":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testGetRawSql with data set #0":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testGetRawSql with data set #1":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testGetRawSql with data set #2":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testGetRawSql with data set #3":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testGetRawSql with data set #4":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testGetRawSql with data set #5":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testInsertSelectFailed with data set #0":0.02,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testInsertSelectFailed with data set #1":0.001,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testInsertSelectFailed with data set #2":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testUpsert with data set \"regular values\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testUpsert with data set \"regular values with update part\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testUpsert with data set \"regular values without update part\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testUpsert with data set \"query\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testUpsert with data set \"query with update part\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testUpsert with data set \"query without update part\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testConstruct":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testGetSetSql":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testPrepareCancel":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testExecute":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testQuery":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testFetchMode":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testBatchInsert":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testBatchInsertWithYield":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testBatchInsertDataTypesLocale":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testInsert":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testNoTablenameReplacement":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testInsertSelect":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testInsertSelectAlias":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testInsertExpression":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testsInsertQueryAsColumnValue":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testCreateTable":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testDropTable":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testTruncateTable":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testRenameTable":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testAddDropForeignKey":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testCreateDropIndex":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testAddDropUnique":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testIntegrityViolation":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testQueryCache":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testColumnCase":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testTransaction":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testRetryHandler":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testCreateView":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testDropView":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testAlterTable":0,"Yiisoft\\Db\\Pgsql\\Tests\\ConnectionTest::testConnection":0,"Yiisoft\\Db\\Pgsql\\Tests\\ConnectionTest::testConstruct":0,"Yiisoft\\Db\\Pgsql\\Tests\\ConnectionTest::testGetDriverName":0,"Yiisoft\\Db\\Pgsql\\Tests\\ConnectionTest::testInitConnection":0,"Yiisoft\\Db\\Pgsql\\Tests\\ConnectionTest::testOpenClose":0,"Yiisoft\\Db\\Pgsql\\Tests\\ConnectionTest::testQuoteValue":0,"Yiisoft\\Db\\Pgsql\\Tests\\ConnectionTest::testQuoteTableName":0,"Yiisoft\\Db\\Pgsql\\Tests\\ConnectionTest::testQuoteColumnName":0,"Yiisoft\\Db\\Pgsql\\Tests\\ConnectionTest::testQuoteFullColumnName":0,"Yiisoft\\Db\\Pgsql\\Tests\\ConnectionTest::testTransactionIsolation":0,"Yiisoft\\Db\\Pgsql\\Tests\\ConnectionTest::testGetPdoAfterClose":0.001,"Yiisoft\\Db\\Pgsql\\Tests\\ConnectionTest::testServerStatusCacheWorks":0,"Yiisoft\\Db\\Pgsql\\Tests\\ConnectionTest::testServerStatusCacheCanBeDisabled":0,"Yiisoft\\Db\\Pgsql\\Tests\\ConnectionTest::testSerialize":0,"Yiisoft\\Db\\Pgsql\\Tests\\ConnectionTest::testTransaction":0,"Yiisoft\\Db\\Pgsql\\Tests\\ConnectionTest::testTransactionShortcutException":0,"Yiisoft\\Db\\Pgsql\\Tests\\ConnectionTest::testTransactionShortcutCorrect":0,"Yiisoft\\Db\\Pgsql\\Tests\\ConnectionTest::testTransactionShortcutCustom":0,"Yiisoft\\Db\\Pgsql\\Tests\\ConnectionTest::testNestedTransaction":0,"Yiisoft\\Db\\Pgsql\\Tests\\ConnectionTest::testNestedTransactionNotSupported":0,"Yiisoft\\Db\\Pgsql\\Tests\\ConnectionTest::testEnableQueryLog":0,"Yiisoft\\Db\\Pgsql\\Tests\\ConnectionTest::testExceptionContainsRawQuery":0,"Yiisoft\\Db\\Pgsql\\Tests\\ConnectionTest::testClone":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testAlterColumn":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testCommentColumn":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testCommentTable":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testResetSequence":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testResetSequencePostgres12":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testDropIndex":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testAddDropCheck with data set \"drop\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testAddDropCheck with data set \"add\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testAddDropForeignKey with data set \"drop\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testAddDropForeignKey with data set \"add\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testAddDropForeignKey with data set \"add (2 columns)\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testAddDropPrimaryKey with data set \"drop\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testAddDropPrimaryKey with data set \"add\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testAddDropPrimaryKey with data set \"add (2 columns)\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testAddDropUnique with data set \"drop\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testAddDropUnique with data set \"add\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testAddDropUnique with data set \"add (2 columns)\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBatchInsert with data set #0":0.001,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBatchInsert with data set \"escape-danger-chars\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBatchInsert with data set #1":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBatchInsert with data set #2":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBatchInsert with data set \"bool-false, bool2-null\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBatchInsert with data set #3":0.001,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBatchInsert with data set \"bool-false, time-now()\"":0.001,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #0":0.001,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #1":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #2":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #3":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #4":0.001,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #5":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #6":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #7":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #8":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #9":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #10":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #11":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #12":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #13":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #14":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #15":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #16":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #17":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #18":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #19":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #20":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #21":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #22":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #23":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #24":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #25":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #26":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #27":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #28":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #29":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #30":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set \"composite in\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set \"composite in (just one column)\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set \"composite in using array objects (just one column)\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #31":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #32":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #33":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #34":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #35":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #36":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #37":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #38":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set \"composite in using array objects\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #39":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #40":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #41":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #42":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #43":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #44":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #45":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #46":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #47":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #48":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #49":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #50":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #51":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #52":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #53":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #54":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #55":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #56":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #57":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #58":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #59":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #60":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #61":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #62":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #63":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #64":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #65":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #66":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #67":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #68":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #69":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #70":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #71":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #72":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #73":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #74":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #75":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #76":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #77":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #78":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #79":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #80":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #81":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set \"scalar can not be converted to array #1\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #82":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #83":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #84":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set \"array of arrays\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #85":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set \"array can contain nulls\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set \"traversable objects are supported\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #86":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #87":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #88":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #89":0.001,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #90":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #91":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set \"nested json\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set \"null value\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set \"null as array value\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set \"null as object value\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set \"query\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set \"query with type\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set \"array of json expressions\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set \"Items in ArrayExpression of type json should be casted to Json\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set \"Two dimension array of text\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set \"Three dimension array of booleans\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #92":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #93":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #94":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #95":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #96":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #97":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #98":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #99":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #100":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildFilterCondition with data set #0":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildFilterCondition with data set #1":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildFilterCondition with data set #2":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildFilterCondition with data set #3":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildFilterCondition with data set #4":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildFilterCondition with data set #5":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildFilterCondition with data set #6":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildFilterCondition with data set #7":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildFilterCondition with data set #8":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildFilterCondition with data set #9":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildFilterCondition with data set #10":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildFilterCondition with data set #11":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildFilterCondition with data set #12":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildFilterCondition with data set #13":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildFilterCondition with data set #14":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildFilterCondition with data set #15":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildFilterCondition with data set #16":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildFilterCondition with data set #17":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildFilterCondition with data set #18":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildFilterCondition with data set #19":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildFilterCondition with data set #20":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildFilterCondition with data set #21":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildFrom with data set #0":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildFrom with data set #1":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildFrom with data set #2":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildFrom with data set #3":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildLikeCondition with data set #0":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildLikeCondition with data set #1":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildLikeCondition with data set #2":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildLikeCondition with data set #3":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildLikeCondition with data set #4":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildLikeCondition with data set #5":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildLikeCondition with data set #6":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildLikeCondition with data set #7":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildLikeCondition with data set #8":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildLikeCondition with data set #9":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildLikeCondition with data set #10":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildLikeCondition with data set #11":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildLikeCondition with data set #12":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildLikeCondition with data set #13":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildLikeCondition with data set #14":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildLikeCondition with data set #15":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildLikeCondition with data set #16":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildLikeCondition with data set #17":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildLikeCondition with data set #18":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildLikeCondition with data set #19":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildLikeCondition with data set #20":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildLikeCondition with data set #21":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildLikeCondition with data set #22":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildLikeCondition with data set #23":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildLikeCondition with data set #24":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildLikeCondition with data set #25":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildWhereExists with data set #0":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildWhereExists with data set #1":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testCreateDropIndex with data set \"drop\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testCreateDropIndex with data set \"create\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testCreateDropIndex with data set \"create (2 columns)\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testCreateDropIndex with data set \"create unique\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testCreateDropIndex with data set \"create unique (2 columns)\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testDelete with data set #0":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testInsert with data set \"regular-values\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testInsert with data set \"params-and-expressions\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testInsert with data set \"carry passed params\"":0.001,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testInsert with data set \"carry passed params (query)\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testUpdate with data set #0":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testUpdate with data set #1":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testCheckIntegrity":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testGetColumnType":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testCreateTableColumnTypes":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildWhereExistsWithParameters":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildWhereExistsWithArrayParameters":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildUnion":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildWithQuery":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildWithQueryRecursive":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testSelectSubquery":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testComplexSelect":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testSelectExpression":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testFromIndexHint":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testFromSubquery":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testOrderBy":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testGroupBy":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testInitFixtures":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testUpsert with data set \"regular values\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testUpsert with data set \"regular values with update part\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testUpsert with data set \"regular values without update part\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testUpsert with data set \"query\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testUpsert with data set \"query with update part\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testUpsert with data set \"query without update part\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testUpsert with data set \"values and expressions\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testUpsert with data set \"values and expressions with update part\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testUpsert with data set \"values and expressions without update part\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testUpsert with data set \"query, values and expressions with update part\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testUpsert with data set \"query, values and expressions without update part\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testUpsert with data set \"no columns to update\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testIssue15653":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testBooleanValues":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testSelect":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testFrom":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testFromTableIsArrayWithExpression":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testWhere":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testFilterWhereWithHashFormat":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testFilterWhereWithOperatorFormat":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testFilterHavingWithHashFormat":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testFilterHavingWithOperatorFormat":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testFilterRecursively":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testGroup":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testHaving":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testOrder":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testLimitOffset":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testLimitOffsetWithExpression":0.001,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testOne":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testExists":0.001,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testColumn":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testCount":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testAndFilterCompare":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testEmulateExecution":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testMultipleLikeConditions":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testExpressionInFrom":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testQueryCache":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testQueryCreation":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testGetTableNamesIsFromArrayWithAlias":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testGetTableNamesIsFromArrayWithoutAlias":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testGetTableNamesIsFromString":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testGetTableNamesIsFromObjectgenerateException":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testGetTablesAliasesFromString":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testGetTableNamesIsFromPrefixedTableName":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testGetTableNamesIsFromTableNameWithDatabase":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testGetTableNamesIsFromAliasedExpression":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testGetTableNamesIsFromAliasedArrayWithExpression":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testGetTableNamesIsFromAliasedSubquery":0,"Yiisoft\\Db\\Pgsql\\Tests\\RangeParserTest::testAutoRange":0.286,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testCompositeFk":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testGetPDOType":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testBooleanDefaultValues":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testGetSchemaNames":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testSequenceName":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testGeneratedValues":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testPartitionedTable":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testFindSchemaNames":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testParenthesisDefaultValue":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTimestampNullDefaultValue":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testGetTableNames with data set #0":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testGetTableNames with data set #1":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testGetTableSchemas with data set #0":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testGetTableSchemas with data set #1":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraints with data set \"1: primary key\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraints with data set \"1: check\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraints with data set \"1: unique\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraints with data set \"1: index\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraints with data set \"1: default\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraints with data set \"2: primary key\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraints with data set \"2: unique\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraints with data set \"2: index\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraints with data set \"2: check\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraints with data set \"2: default\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraints with data set \"3: primary key\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraints with data set \"3: foreign key\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraints with data set \"3: unique\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraints with data set \"3: index\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraints with data set \"3: check\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraints with data set \"3: default\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraints with data set \"4: primary key\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraints with data set \"4: unique\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraints with data set \"4: check\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraints with data set \"4: default\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoLowercase with data set \"1: primary key\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoLowercase with data set \"1: check\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoLowercase with data set \"1: unique\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoLowercase with data set \"1: index\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoLowercase with data set \"1: default\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoLowercase with data set \"2: primary key\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoLowercase with data set \"2: unique\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoLowercase with data set \"2: index\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoLowercase with data set \"2: check\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoLowercase with data set \"2: default\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoLowercase with data set \"3: primary key\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoLowercase with data set \"3: foreign key\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoLowercase with data set \"3: unique\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoLowercase with data set \"3: index\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoLowercase with data set \"3: check\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoLowercase with data set \"3: default\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoLowercase with data set \"4: primary key\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoLowercase with data set \"4: unique\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoLowercase with data set \"4: check\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoLowercase with data set \"4: default\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoUppercase with data set \"1: primary key\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoUppercase with data set \"1: check\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoUppercase with data set \"1: unique\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoUppercase with data set \"1: index\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoUppercase with data set \"1: default\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoUppercase with data set \"2: primary key\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoUppercase with data set \"2: unique\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoUppercase with data set \"2: index\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoUppercase with data set \"2: check\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoUppercase with data set \"2: default\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoUppercase with data set \"3: primary key\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoUppercase with data set \"3: foreign key\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoUppercase with data set \"3: unique\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoUppercase with data set \"3: index\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoUppercase with data set \"3: check\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoUppercase with data set \"3: default\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoUppercase with data set \"4: primary key\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoUppercase with data set \"4: unique\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoUppercase with data set \"4: check\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoUppercase with data set \"4: default\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testFindUniqueIndexes":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testInsert":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testGetTableSchemasWithAttrCase":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testGetNonExistingTableSchema":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testSchemaCache":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaCacheWithTablePrefixes with data set \"type (with '' prefix) against {{%type}} (with '' prefix)\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaCacheWithTablePrefixes with data set \"type (with '' prefix) against {{%pe}} (with 'ty' prefix)\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaCacheWithTablePrefixes with data set \"{{%type}} (with '' prefix) against type (with '' prefix)\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaCacheWithTablePrefixes with data set \"{{%type}} (with '' prefix) against {{%pe}} (with 'ty' prefix)\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaCacheWithTablePrefixes with data set \"{{%pe}} (with 'ty' prefix) against type (with '' prefix)\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaCacheWithTablePrefixes with data set \"{{%pe}} (with 'ty' prefix) against {{%type}} (with '' prefix)\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testRefreshTableSchema":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testColumnSchema":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testColumnSchemaDbTypecastWithEmptyCharType":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testNegativeDefaultValues":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testContraintTablesExistance":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testGetColumnNoExist":0,"Yiisoft\\Db\\Pgsql\\Tests\\SqlDataProviderTest::testGetModels":0.001,"Yiisoft\\Db\\Pgsql\\Tests\\SqlDataProviderTest::testGetKeys":0,"Yiisoft\\Db\\Pgsql\\Tests\\SqlDataProviderTest::testWithSort":0.001,"Yiisoft\\Db\\Pgsql\\Tests\\SqlDataProviderTest::testTotalCount":0,"Yiisoft\\Db\\Pgsql\\Tests\\SqlDataProviderTest::testTotalCountWithParams":0,"Yiisoft\\Db\\Pgsql\\Tests\\RangeParserTest::testNumRange":0.24,"Yiisoft\\Db\\Pgsql\\Tests\\RangeParserTest::testIntRange":0.25,"Yiisoft\\Db\\Pgsql\\Tests\\RangeParserTest::testDateRange":0.232,"Warning":0.002,"Yiisoft\\Db\\Pgsql\\Tests\\RangeParserTest::testSimpleRanges":0.235,"Yiisoft\\Db\\Pgsql\\Tests\\RangeParserTest::testLowerRanges":0.262,"Yiisoft\\Db\\Pgsql\\Tests\\RangeParserTest::testUpperRanges":0.274,"Yiisoft\\Db\\Pgsql\\Tests\\RangeParserTest::testExcludeLowerRanges":0.267,"Yiisoft\\Db\\Pgsql\\Tests\\RangeParserTest::testExcludeUpperRanges":0.248,"Yiisoft\\Db\\Pgsql\\Tests\\RangeParserTest::testIntRanges":0.252,"Yiisoft\\Db\\Pgsql\\Tests\\RangeParserTest::testIntRangesWoLower":0.259,"Yiisoft\\Db\\Pgsql\\Tests\\RangeParserTest::testIntRangesWoUpper":0.259,"Yiisoft\\Db\\Pgsql\\Tests\\RangeParserTest::testDateRangeWoLower":0.286,"Yiisoft\\Db\\Pgsql\\Tests\\RangeParserTest::testDateRangeWoUpper":0.239,"Yiisoft\\Db\\Pgsql\\Tests\\RangeParserTest::testTsRange":0.251,"Yiisoft\\Db\\Pgsql\\Tests\\RangeParserTest::testTsTzRange":0.251}} \ No newline at end of file diff --git a/src/RangeParser.php b/src/RangeParser.php index 964e30ced..e17b716c3 100644 --- a/src/RangeParser.php +++ b/src/RangeParser.php @@ -39,14 +39,14 @@ public function parse(?string $value): ?array return null; } - if (!preg_match('/^(\[|\()([^,]*),([^\)\]]*)(\)|\])$/', $value, $matches)) { + if (!preg_match('/^(?P\[|\()(?P[^,]*),(?P[^\)\]]*)(?P\)|\])$/', $value, $matches)) { throw new InvalidArgumentException(); } - $lower = $matches[2] ? trim($matches[2], '"') : null; - $upper = $matches[3] ? trim($matches[3], '"') : null; - $includeLower = $matches[1] === '['; - $includeUpper = $matches[4] === ']'; + $lower = $matches['lower'] ? trim($matches['lower'], '"') : null; + $upper = $matches['upper'] ? trim($matches['upper'], '"') : null; + $includeLower = $matches['open'] === '['; + $includeUpper = $matches['close'] === ']'; if ($lower === null && $upper === null) { return [null, null]; diff --git a/tests/Fixture/postgres.sql b/tests/Fixture/postgres.sql index e76e3cf55..d0a25ad17 100644 --- a/tests/Fixture/postgres.sql +++ b/tests/Fixture/postgres.sql @@ -429,10 +429,10 @@ CREATE TABLE "T_upsert_1" CREATE TABLE "ranges" ( "id" INT2 NOT NULL PRIMARY KEY, - "int_range" int4range NOT NULL, - "bigint_range" int8range NOT NULL, - "num_range" numrange NOT NULL, - "ts_range" tsrange NOT NULL, - "ts_tz_range" tstzrange NOT NULL, - "date_range" daterange NOT NULL -); \ No newline at end of file + "int_range" int4range, + "bigint_range" int8range, + "num_range" numrange, + "ts_range" tsrange, + "ts_tz_range" tstzrange, + "date_range" daterange +); diff --git a/tests/RangeParserTest.php b/tests/RangeParserTest.php index 490ec5a0c..c767675a1 100644 --- a/tests/RangeParserTest.php +++ b/tests/RangeParserTest.php @@ -37,332 +37,305 @@ final class RangeParserTest extends TestCase 'ts_tz_range' => [null, '2019-10-20 15:10:00+00:00'], 'date_range' => [null, '2021-01-01'], ], + 4 => [ + 'int_range' => [-100, 10], + 'bigint_range' => ['-2147483650', '2147483650'], + 'num_range' => [-13.2, 20.7], + 'ts_range' => [null, '2018-10-20 15:10:00'], + 'ts_tz_range' => [null, '2019-10-20 15:10:00+00:00'], + 'date_range' => [null, '2021-01-01'], + ] ]; - public function testSimpleRanges(): void + private function getData(int $id, bool $exludeLower = false, bool $excludeUpper = false, string ...$columns): array + { + $data = ['id' => $id]; + + foreach ($columns as $column) { + $range = self::RANGES[$id][$column]; + + switch ($column) { + case 'int_range': + $expression = Schema::TYPE_INT_4_RANGE; + break; + case 'bigint_range': + $expression = Schema::TYPE_INT_8_RANGE; + break; + case 'num_range': + $expression = Schema::TYPE_NUM_RANGE; + break; + case 'date_range': + $expression = Schema::TYPE_DATE_RANGE; + break; + case 'ts_range': + $expression = Schema::TYPE_TS_RANGE; + break; + case 'ts_tz_range': + $expression = Schema::TYPE_TS_TZ_RANGE; + break; + } + + $expression .= '('; + $expression .= ':min_' . $column . ','; + $expression .= ':max_' . $column . ','; + $expression .= "'"; + $expression .= $exludeLower ? '(' : '['; + $expression .= $excludeUpper ? ')' : ']'; + $expression .= "'"; + $expression .= ')'; + + $data[$column] = new Expression($expression, [':min_' . $column => $range[0], ':max_' . $column => $range[1]]); + } + + return $data; + } + + public function testIntRanges(): void { + $ids = array_keys(self::RANGES); $db = $this->getConnection(true); $command = $db->createCommand(); - foreach (self::RANGES as $id => $values) { - $data = ['id' => $id]; - - foreach ($values as $column => $val) { - switch ($column) { - case 'int_range': - $data[$column] = new Expression(Schema::TYPE_INT_4_RANGE . "(:min_int, :max_int, '[]')", [':min_int' => $val[0], ':max_int' => $val[1]]); - break; - case 'bigint_range': - $data[$column] = new Expression(Schema::TYPE_INT_8_RANGE . "(:min_bigint, :max_bigint, '[]')", [':min_bigint' => $val[0], ':max_bigint' => $val[1]]); - break; - case 'num_range': - $data[$column] = new Expression(Schema::TYPE_NUM_RANGE . "(:min_num, :max_num, '[]')", [':min_num' => $val[0], ':max_num' => $val[1]]); - break; - case 'ts_range': - $data[$column] = new Expression(Schema::TYPE_TS_RANGE . "(:min_ts, :max_ts, '[]')", [':min_ts' => $val[0], ':max_ts' => $val[1]]); - break; - case 'ts_tz_range': - $data[$column] = new Expression(Schema::TYPE_TS_TZ_RANGE . "(:min_tstz, :max_tstz, '[]')", [':min_tstz' => $val[0], ':max_tstz' => $val[1]]); - break; - case 'date_range': - $data[$column] = new Expression(Schema::TYPE_DATE_RANGE . "(:min_date, :max_date, '[]')", [':min_date' => $val[0], ':max_date' => $val[1]]); - break; - } + foreach ($ids as $id) { + $data = $this->getData($id, false, false, 'int_range', 'bigint_range'); + $command->insert('ranges', $data)->execute(); + } + + $rows = (new Query($db))->select(['id', 'int_range', 'bigint_range'])->from('ranges')->all(); + $intParser = new RangeParser(Schema::TYPE_INT_4_RANGE); + $bigIntParser = new RangeParser(Schema::TYPE_INT_8_RANGE); + + foreach ($rows as $row) { + $range = self::RANGES[$row['id']]; + $this->assertIsString($row['int_range']); + $this->assertIsString($row['bigint_range']); + $this->assertSame($intParser->parse($row['int_range']), $range['int_range']); + + if (PHP_INT_SIZE === 8) { + $map = array_map(fn ($value) => $value ? (int) $value : null, $range['bigint_range']); + } else { + $map = array_map(fn ($value) => $value ? (float) $value : null, $range['bigint_range']); } + $this->assertSame($intParser->parse($row['bigint_range']), $map); + } + } + + public function testIntRangesWoLower(): void + { + $ids = array_keys(self::RANGES); + $db = $this->getConnection(true); + $command = $db->createCommand(); + + foreach ($ids as $id) { + $data = $this->getData($id, true, false, 'int_range', 'bigint_range'); $command->insert('ranges', $data)->execute(); } - $rows = (new Query($db))->from('ranges')->all(); + $rows = (new Query($db))->select(['id', 'int_range', 'bigint_range'])->from('ranges')->all(); + $intParser = new RangeParser(Schema::TYPE_INT_4_RANGE); + $bigIntParser = new RangeParser(Schema::TYPE_INT_8_RANGE); foreach ($rows as $row) { - $id = $row['id']; - - foreach ($row as $column => $value) { - if ($column === 'id') { - continue; - } - - $this->assertIsString($value); - $range = self::RANGES[$id][$column]; - - switch ($column) { - case 'int_range': - $parser = new RangeParser(Schema::TYPE_INT_4_RANGE); - $result = $parser->parse($value); - $this->assertSame($result, $range); - break; - case 'bigint_range': - $parser = new RangeParser(Schema::TYPE_INT_8_RANGE); - $result = $parser->parse($value); - - - if (PHP_INT_SIZE === 4) { - $min = $range[0] === null ? null : (float) $range[0]; - $max = $range[1] === null ? null : (float) $range[1]; - } else { - $min = $range[0] === null ? null : (int) $range[0]; - $max = $range[1] === null ? null : (int) $range[1]; - } - - $this->assertSame($result, [$min, $max]); - - break; - case 'num_range': - $parser = new RangeParser(Schema::TYPE_NUM_RANGE); - $result = $parser->parse($value); - $this->assertSame($result, $range); - - break; - case 'ts_range': - $parser = new RangeParser(Schema::TYPE_TS_RANGE); - $result = $parser->parse($value); - $min = $result[0] === null ? null : $result[0]->format('Y-m-d H:i:s'); - $max = $result[1] === null ? null : $result[1]->format('Y-m-d H:i:s'); - - $this->assertSame($range, [$min, $max]); - - break; - case 'ts_tz_range': - $parser = new RangeParser(Schema::TYPE_TS_TZ_RANGE); - $result = $parser->parse($value); - $min = $result[0] === null ? null : $result[0]->format('Y-m-d H:i:sP'); - $max = $result[1] === null ? null : $result[1]->format('Y-m-d H:i:sP'); - - $this->assertSame($range, [$min, $max]); - - break; - case 'date_range': - $parser = new RangeParser(Schema::TYPE_DATE_RANGE); - $result = $parser->parse($value); - $min = $result[0] === null ? null : $result[0]->format('Y-m-d'); - $max = $result[1] === null ? null : $result[1]->format('Y-m-d'); - - $this->assertSame($range, [$min, $max]); - - break; - } + $range = self::RANGES[$row['id']]; + $this->assertIsString($row['int_range']); + $this->assertIsString($row['bigint_range']); + $min = $range['int_range'][0] === null ? null : $range['int_range'][0] + 1; + $max = $range['int_range'][1] === null ? null : $range['int_range'][1]; + $this->assertSame($intParser->parse($row['int_range']), [$min, $max]); + + if (PHP_INT_SIZE === 8) { + $map = array_map(fn ($value) => $value ? (int) $value : null, $range['bigint_range']); + } else { + $map = array_map(fn ($value) => $value ? (float) $value : null, $range['bigint_range']); } + + $min = $map[0] === null ? null : $map[0] + 1; + $max = $map[1] === null ? null : $map[1]; + + $this->assertSame($intParser->parse($row['bigint_range']), [$min, $max]); } } - public function testExcludeLowerRanges() + public function testIntRangesWoUpper(): void { + $ids = array_keys(self::RANGES); $db = $this->getConnection(true); $command = $db->createCommand(); - foreach (self::RANGES as $id => $values) { - $data = ['id' => $id]; - - foreach ($values as $column => $val) { - switch ($column) { - case 'int_range': - $data[$column] = new Expression(Schema::TYPE_INT_4_RANGE . "(:min_int, :max_int, '(]')", [':min_int' => $val[0], ':max_int' => $val[1]]); - break; - case 'bigint_range': - $data[$column] = new Expression(Schema::TYPE_INT_8_RANGE . "(:min_bigint, :max_bigint, '(]')", [':min_bigint' => $val[0], ':max_bigint' => $val[1]]); - break; - case 'num_range': - $data[$column] = new Expression(Schema::TYPE_NUM_RANGE . "(:min_num, :max_num, '(]')", [':min_num' => $val[0], ':max_num' => $val[1]]); - break; - case 'ts_range': - $data[$column] = new Expression(Schema::TYPE_TS_RANGE . "(:min_ts, :max_ts, '(]')", [':min_ts' => $val[0], ':max_ts' => $val[1]]); - break; - case 'ts_tz_range': - $data[$column] = new Expression(Schema::TYPE_TS_TZ_RANGE . "(:min_tstz, :max_tstz, '(]')", [':min_tstz' => $val[0], ':max_tstz' => $val[1]]); - break; - case 'date_range': - $data[$column] = new Expression(Schema::TYPE_DATE_RANGE . "(:min_date, :max_date, '(]')", [':min_date' => $val[0], ':max_date' => $val[1]]); - break; - } + foreach ($ids as $id) { + $data = $this->getData($id, false, true, 'int_range', 'bigint_range'); + $command->insert('ranges', $data)->execute(); + } + + $rows = (new Query($db))->select(['id', 'int_range', 'bigint_range'])->from('ranges')->all(); + $intParser = new RangeParser(Schema::TYPE_INT_4_RANGE); + $bigIntParser = new RangeParser(Schema::TYPE_INT_8_RANGE); + + foreach ($rows as $row) { + $range = self::RANGES[$row['id']]; + $this->assertIsString($row['int_range']); + $this->assertIsString($row['bigint_range']); + $min = $range['int_range'][0] === null ? null : $range['int_range'][0]; + $max = $range['int_range'][1] === null ? null : $range['int_range'][1] - 1; + $this->assertSame($intParser->parse($row['int_range']), [$min, $max]); + + if (PHP_INT_SIZE === 8) { + $map = array_map(fn ($value) => $value ? (int) $value : null, $range['bigint_range']); + } else { + $map = array_map(fn ($value) => $value ? (float) $value : null, $range['bigint_range']); } + $min = $map[0] === null ? null : $map[0]; + $max = $map[1] === null ? null : $map[1] - 1; + + $this->assertSame($intParser->parse($row['bigint_range']), [$min, $max]); + } + } + + public function testDateRange(): void + { + $ids = array_keys(self::RANGES); + $db = $this->getConnection(true); + $command = $db->createCommand(); + + foreach ($ids as $id) { + $data = $this->getData($id, false, false, 'date_range', ); $command->insert('ranges', $data)->execute(); } - $rows = (new Query($db))->from('ranges')->all(); + $rows = (new Query($db))->select(['id', 'date_range'])->from('ranges')->all(); + $parser = new RangeParser(Schema::TYPE_DATE_RANGE); foreach ($rows as $row) { - $id = $row['id']; - - foreach ($row as $column => $value) { - if ($column === 'id') { - continue; - } - - $this->assertIsString($value); - $range = self::RANGES[$id][$column]; - - switch ($column) { - case 'int_range': - $parser = new RangeParser(Schema::TYPE_INT_4_RANGE); - $result = $parser->parse($value); - $min = $range[0] === null ? null : $range[0] + 1; - $max = $range[1] === null ? null : $range[1]; - - $this->assertSame($result, [$min, $max]); - break; - case 'bigint_range': - $parser = new RangeParser(Schema::TYPE_INT_8_RANGE); - $result = $parser->parse($value); - - if (PHP_INT_SIZE === 4) { - $min = $range[0] === null ? null : (float) $range[0] + 1; - $max = $range[1] === null ? null : (float) $range[1]; - } else { - $min = $range[0] === null ? null : (int) $range[0] + 1; - $max = $range[1] === null ? null : (int) $range[1]; - } - - $this->assertSame($result, [$min, $max]); - - break; - case 'num_range': - $parser = new RangeParser(Schema::TYPE_NUM_RANGE); - $result = $parser->parse($value); - $this->assertSame($result, $range); - - break; - case 'ts_range': - $parser = new RangeParser(Schema::TYPE_TS_RANGE); - $result = $parser->parse($value); - $min = $result[0] === null ? null : $result[0]->format('Y-m-d H:i:s'); - $max = $result[1] === null ? null : $result[1]->format('Y-m-d H:i:s'); - - $this->assertSame($range, [$min, $max]); - - break; - case 'ts_tz_range': - $parser = new RangeParser(Schema::TYPE_TS_TZ_RANGE); - $result = $parser->parse($value); - $min = $result[0] === null ? null : $result[0]->format('Y-m-d H:i:sP'); - $max = $result[1] === null ? null : $result[1]->format('Y-m-d H:i:sP'); - - $this->assertSame($range, [$min, $max]); - - break; - case 'date_range': - $interval = new DateInterval('P1D'); - $parser = new RangeParser(Schema::TYPE_DATE_RANGE); - $result = $parser->parse($value); - $min = $result[0] === null ? null : $result[0]->sub($interval)->format('Y-m-d'); - $max = $result[1] === null ? null : $result[1]->format('Y-m-d'); - - $this->assertSame($range, [$min, $max]); - - break; - } - } + $range = self::RANGES[$row['id']]['date_range']; + $result = $parser->parse($row['date_range']); + $min = $result[0] === null ? null : $result[0]->format('Y-m-d'); + $max = $result[1] === null ? null : $result[1]->format('Y-m-d'); + + $this->assertIsString($row['date_range']); + $this->assertSame($range, [$min, $max]); } } - public function testExcludeUpperRanges() + public function testDateRangeWoLower(): void { + $ids = array_keys(self::RANGES); $db = $this->getConnection(true); $command = $db->createCommand(); - foreach (self::RANGES as $id => $values) { - $data = ['id' => $id]; - - foreach ($values as $column => $val) { - switch ($column) { - case 'int_range': - $data[$column] = new Expression(Schema::TYPE_INT_4_RANGE . "(:min_int, :max_int, '[)')", [':min_int' => $val[0], ':max_int' => $val[1]]); - break; - case 'bigint_range': - $data[$column] = new Expression(Schema::TYPE_INT_8_RANGE . "(:min_bigint, :max_bigint, '[)')", [':min_bigint' => $val[0], ':max_bigint' => $val[1]]); - break; - case 'num_range': - $data[$column] = new Expression(Schema::TYPE_NUM_RANGE . "(:min_num, :max_num, '[)')", [':min_num' => $val[0], ':max_num' => $val[1]]); - break; - case 'ts_range': - $data[$column] = new Expression(Schema::TYPE_TS_RANGE . "(:min_ts, :max_ts, '[)')", [':min_ts' => $val[0], ':max_ts' => $val[1]]); - break; - case 'ts_tz_range': - $data[$column] = new Expression(Schema::TYPE_TS_TZ_RANGE . "(:min_tstz, :max_tstz, '[)')", [':min_tstz' => $val[0], ':max_tstz' => $val[1]]); - break; - case 'date_range': - $data[$column] = new Expression(Schema::TYPE_DATE_RANGE . "(:min_date, :max_date, '[)')", [':min_date' => $val[0], ':max_date' => $val[1]]); - break; - } - } + foreach ($ids as $id) { + $data = $this->getData($id, true, false, 'date_range', ); + $command->insert('ranges', $data)->execute(); + } + + $rows = (new Query($db))->select(['id', 'date_range'])->from('ranges')->all(); + $parser = new RangeParser(Schema::TYPE_DATE_RANGE); + $interval = new DateInterval('P1D'); + + foreach ($rows as $row) { + $range = self::RANGES[$row['id']]['date_range']; + $result = $parser->parse($row['date_range']); + $min = $result[0] === null ? null : $result[0]->sub($interval)->format('Y-m-d'); + $max = $result[1] === null ? null : $result[1]->format('Y-m-d'); + $this->assertIsString($row['date_range']); + $this->assertSame($range, [$min, $max]); + } + } + + public function testDateRangeWoUpper(): void + { + $ids = array_keys(self::RANGES); + $db = $this->getConnection(true); + $command = $db->createCommand(); + + foreach ($ids as $id) { + $data = $this->getData($id, false, true, 'date_range', ); $command->insert('ranges', $data)->execute(); } - $rows = (new Query($db))->from('ranges')->all(); + $rows = (new Query($db))->select(['id', 'date_range'])->from('ranges')->all(); + $parser = new RangeParser(Schema::TYPE_DATE_RANGE); + $interval = new DateInterval('P1D'); foreach ($rows as $row) { - $id = $row['id']; - - foreach ($row as $column => $value) { - if ($column === 'id') { - continue; - } - - $this->assertIsString($value); - $range = self::RANGES[$id][$column]; - - switch ($column) { - case 'int_range': - $parser = new RangeParser(Schema::TYPE_INT_4_RANGE); - $result = $parser->parse($value); - $min = $range[0] === null ? null : $range[0]; - $max = $range[1] === null ? null : $range[1] - 1; - - $this->assertSame($result, [$min, $max]); - break; - case 'bigint_range': - $parser = new RangeParser(Schema::TYPE_INT_8_RANGE); - $result = $parser->parse($value); - - if (PHP_INT_SIZE === 4) { - $min = $range[0] === null ? null : (float) $range[0]; - $max = $range[1] === null ? null : (float) $range[1] - 1; - } else { - $min = $range[0] === null ? null : (int) $range[0]; - $max = $range[1] === null ? null : (int) $range[1] - 1; - } - - $this->assertSame($result, [$min, $max]); - - break; - case 'num_range': - $parser = new RangeParser(Schema::TYPE_NUM_RANGE); - $result = $parser->parse($value); - $this->assertSame($result, $range); - - break; - case 'ts_range': - $parser = new RangeParser(Schema::TYPE_TS_RANGE); - $result = $parser->parse($value); - $min = $result[0] === null ? null : $result[0]->format('Y-m-d H:i:s'); - $max = $result[1] === null ? null : $result[1]->format('Y-m-d H:i:s'); - - $this->assertSame($range, [$min, $max]); - - break; - case 'ts_tz_range': - $parser = new RangeParser(Schema::TYPE_TS_TZ_RANGE); - $result = $parser->parse($value); - $min = $result[0] === null ? null : $result[0]->format('Y-m-d H:i:sP'); - $max = $result[1] === null ? null : $result[1]->format('Y-m-d H:i:sP'); - - $this->assertSame($range, [$min, $max]); - - break; - case 'date_range': - $interval = new DateInterval('P1D'); - $parser = new RangeParser(Schema::TYPE_DATE_RANGE); - $result = $parser->parse($value); - $min = $result[0] === null ? null : $result[0]->format('Y-m-d'); - $max = $result[1] === null ? null : $result[1]->add($interval)->format('Y-m-d'); - - $this->assertSame($range, [$min, $max]); - - break; - } - } + $range = self::RANGES[$row['id']]['date_range']; + $result = $parser->parse($row['date_range']); + $min = $result[0] === null ? null : $result[0]->format('Y-m-d'); + $max = $result[1] === null ? null : $result[1]->add($interval)->format('Y-m-d'); + + $this->assertIsString($row['date_range']); + $this->assertSame($range, [$min, $max]); + } + } + + public function testNumRange(): void + { + $ids = array_keys(self::RANGES); + $db = $this->getConnection(true); + $command = $db->createCommand(); + + foreach ($ids as $id) { + $data = $this->getData($id, false, false, 'num_range'); + $command->insert('ranges', $data)->execute(); + } + + $rows = (new Query($db))->select(['id', 'num_range'])->from('ranges')->all(); + $parser = new RangeParser(Schema::TYPE_NUM_RANGE); + + foreach ($rows as $row) { + $range = self::RANGES[$row['id']]; + $this->assertIsString($row['num_range']); + $this->assertSame($parser->parse($row['num_range']), $range['num_range']); + } + } + + public function testTsRange(): void + { + $ids = array_keys(self::RANGES); + $db = $this->getConnection(true); + $command = $db->createCommand(); + + foreach ($ids as $id) { + $data = $this->getData($id, false, false, 'ts_range'); + $command->insert('ranges', $data)->execute(); + } + + $rows = (new Query($db))->select(['id', 'ts_range'])->from('ranges')->all(); + $parser = new RangeParser(Schema::TYPE_TS_RANGE); + + foreach ($rows as $row) { + $range = self::RANGES[$row['id']]; + $result = $parser->parse($row['ts_range']); + $min = $result[0] === null ? null : $result[0]->format('Y-m-d H:i:s'); + $max = $result[1] === null ? null : $result[1]->format('Y-m-d H:i:s'); + $this->assertIsString($row['ts_range']); + $this->assertSame([$min, $max], $range['ts_range']); + } + } + + public function testTsTzRange(): void + { + $ids = array_keys(self::RANGES); + $db = $this->getConnection(true); + $command = $db->createCommand(); + + foreach ($ids as $id) { + $data = $this->getData($id, false, false, 'ts_tz_range'); + $command->insert('ranges', $data)->execute(); + } + + $rows = (new Query($db))->select(['id', 'ts_tz_range'])->from('ranges')->all(); + $parser = new RangeParser(Schema::TYPE_TS_TZ_RANGE); + + foreach ($rows as $row) { + $range = self::RANGES[$row['id']]; + $result = $parser->parse($row['ts_tz_range']); + $min = $result[0] === null ? null : $result[0]->format('Y-m-d H:i:sP'); + $max = $result[1] === null ? null : $result[1]->format('Y-m-d H:i:sP'); + $this->assertIsString($row['ts_tz_range']); + $this->assertSame([$min, $max], $range['ts_tz_range']); } } } From 3d838304eae70e10f1cbcf674b0b99c1cf3eef4c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=94=D0=BC=D0=B8=D1=82=D1=80=D0=B8=D0=B9?= Date: Tue, 2 Nov 2021 17:53:31 +0300 Subject: [PATCH 3/6] Fix .gitignore --- .gitignore | 1 + .phpunit.result.cache | 1 - tests/RangeParserTest.php | 2 +- 3 files changed, 2 insertions(+), 2 deletions(-) delete mode 100644 .phpunit.result.cache diff --git a/.gitignore b/.gitignore index ac9dbbfc6..617677cef 100644 --- a/.gitignore +++ b/.gitignore @@ -32,6 +32,7 @@ composer.phar # phpunit itself is not needed phpunit.phar phpunit.result.cache +.phpunit.result.cache # local phpunit config /phpunit.xml diff --git a/.phpunit.result.cache b/.phpunit.result.cache deleted file mode 100644 index 36fdd8270..000000000 --- a/.phpunit.result.cache +++ /dev/null @@ -1 +0,0 @@ -{"version":1,"defects":{"Yiisoft\\Db\\Pgsql\\Tests\\BatchQueryResultTest::testQuery":4,"Yiisoft\\Db\\Pgsql\\Tests\\BatchQueryResultTest::testBatchWithoutDbParameter":4,"Yiisoft\\Db\\Pgsql\\Tests\\BatchQueryResultTest::testBatchWithIndexBy":4,"Yiisoft\\Db\\Pgsql\\Tests\\ColumnSchemaTest::testPhpTypeCast":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testAddDropCheck":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testAddDropPrimaryKey":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testBooleanValuesInsert":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testBooleanValuesBatchInsert":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testLastInsertId":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testSaveSerializedObject":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testIssue15827":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testBatchInsertSQL with data set \"issue11242\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testBatchInsertSQL with data set \"wrongBehavior\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testBatchInsertSQL with data set \"batchInsert binds params from expression\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testBatchInsertSQL with data set \"batchInsert binds params from jsonExpression\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testBatchInsertSQL with data set \"batchInsert binds params from arrayExpression\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testBatchInsertSQL with data set \"batchInsert casts string to int according to the table schema\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testBatchInsertSQL with data set \"batchInsert casts JSON to JSONB when column is JSONB\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testBindParamsNonWhere with data set #0":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testBindParamsNonWhere with data set #1":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testBindParamsNonWhere with data set #2":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testInsertSelectFailed with data set #0":3,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testInsertSelectFailed with data set #1":3,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testInsertSelectFailed with data set #2":3,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testUpsert with data set \"regular values\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testUpsert with data set \"regular values with update part\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testUpsert with data set \"regular values without update part\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testUpsert with data set \"query\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testUpsert with data set \"query with update part\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testUpsert with data set \"query without update part\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testPrepareCancel":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testExecute":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testQuery":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testFetchMode":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testBatchInsert":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testBatchInsertWithYield":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testBatchInsertDataTypesLocale":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testInsert":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testNoTablenameReplacement":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testInsertSelect":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testInsertSelectAlias":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testInsertExpression":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testsInsertQueryAsColumnValue":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testCreateTable":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testDropTable":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testTruncateTable":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testRenameTable":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testAddDropForeignKey":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testCreateDropIndex":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testAddDropUnique":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testIntegrityViolation":3,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testQueryCache":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testColumnCase":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testTransaction":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testRetryHandler":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testCreateView":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testDropView":4,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testAlterTable":4,"Yiisoft\\Db\\Pgsql\\Tests\\ConnectionTest::testConnection":4,"Yiisoft\\Db\\Pgsql\\Tests\\ConnectionTest::testInitConnection":4,"Yiisoft\\Db\\Pgsql\\Tests\\ConnectionTest::testOpenClose":4,"Yiisoft\\Db\\Pgsql\\Tests\\ConnectionTest::testQuoteValue":4,"Yiisoft\\Db\\Pgsql\\Tests\\ConnectionTest::testTransactionIsolation":4,"Yiisoft\\Db\\Pgsql\\Tests\\ConnectionTest::testGetPdoAfterClose":3,"Yiisoft\\Db\\Pgsql\\Tests\\ConnectionTest::testServerStatusCacheWorks":4,"Yiisoft\\Db\\Pgsql\\Tests\\ConnectionTest::testServerStatusCacheCanBeDisabled":4,"Yiisoft\\Db\\Pgsql\\Tests\\ConnectionTest::testSerialize":4,"Yiisoft\\Db\\Pgsql\\Tests\\ConnectionTest::testTransaction":4,"Yiisoft\\Db\\Pgsql\\Tests\\ConnectionTest::testTransactionShortcutException":4,"Yiisoft\\Db\\Pgsql\\Tests\\ConnectionTest::testTransactionShortcutCorrect":4,"Yiisoft\\Db\\Pgsql\\Tests\\ConnectionTest::testTransactionShortcutCustom":4,"Yiisoft\\Db\\Pgsql\\Tests\\ConnectionTest::testNestedTransaction":4,"Yiisoft\\Db\\Pgsql\\Tests\\ConnectionTest::testNestedTransactionNotSupported":4,"Yiisoft\\Db\\Pgsql\\Tests\\ConnectionTest::testEnableQueryLog":4,"Yiisoft\\Db\\Pgsql\\Tests\\ConnectionTest::testExceptionContainsRawQuery":4,"Yiisoft\\Db\\Pgsql\\Tests\\ConnectionTest::testClone":4,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testCommentColumn":4,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testCommentTable":4,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testResetSequence":4,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testResetSequencePostgres12":4,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBatchInsert with data set #0":4,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBatchInsert with data set \"escape-danger-chars\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBatchInsert with data set #2":4,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBatchInsert with data set \"bool-false, bool2-null\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBatchInsert with data set #3":4,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBatchInsert with data set \"bool-false, time-now()\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testInsert with data set \"regular-values\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testInsert with data set \"params-and-expressions\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testInsert with data set \"carry passed params\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testInsert with data set \"carry passed params (query)\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testUpdate with data set #0":4,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testUpdate with data set #1":4,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testCheckIntegrity":4,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testGetColumnType":4,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testCreateTableColumnTypes":4,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testUpsert with data set \"regular values\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testUpsert with data set \"regular values with update part\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testUpsert with data set \"regular values without update part\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testUpsert with data set \"query\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testUpsert with data set \"query with update part\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testUpsert with data set \"query without update part\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testUpsert with data set \"values and expressions\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testUpsert with data set \"values and expressions with update part\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testUpsert with data set \"values and expressions without update part\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testUpsert with data set \"query, values and expressions with update part\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testUpsert with data set \"query, values and expressions without update part\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testUpsert with data set \"no columns to update\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testBooleanValues":4,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testLimitOffsetWithExpression":4,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testOne":4,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testExists":4,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testColumn":4,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testCount":4,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testEmulateExecution":4,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testMultipleLikeConditions":4,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testExpressionInFrom":4,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testQueryCache":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testCompositeFk":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testBooleanDefaultValues":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testGetSchemaNames":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testSequenceName":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testGeneratedValues":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testPartitionedTable":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testFindSchemaNames":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testParenthesisDefaultValue":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTimestampNullDefaultValue":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testGetTableNames with data set #0":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testGetTableNames with data set #1":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testGetTableSchemas with data set #0":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testGetTableSchemas with data set #1":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraints with data set \"1: primary key\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraints with data set \"1: check\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraints with data set \"1: unique\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraints with data set \"1: index\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraints with data set \"2: primary key\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraints with data set \"2: unique\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraints with data set \"2: index\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraints with data set \"2: check\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraints with data set \"3: primary key\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraints with data set \"3: foreign key\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraints with data set \"3: unique\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraints with data set \"3: index\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraints with data set \"3: check\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraints with data set \"4: primary key\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraints with data set \"4: unique\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraints with data set \"4: check\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoLowercase with data set \"1: primary key\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoLowercase with data set \"1: check\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoLowercase with data set \"1: unique\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoLowercase with data set \"1: index\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoLowercase with data set \"1: default\"":3,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoLowercase with data set \"2: primary key\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoLowercase with data set \"2: unique\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoLowercase with data set \"2: index\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoLowercase with data set \"2: check\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoLowercase with data set \"2: default\"":3,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoLowercase with data set \"3: primary key\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoLowercase with data set \"3: foreign key\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoLowercase with data set \"3: unique\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoLowercase with data set \"3: index\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoLowercase with data set \"3: check\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoLowercase with data set \"3: default\"":3,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoLowercase with data set \"4: primary key\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoLowercase with data set \"4: unique\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoLowercase with data set \"4: check\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoLowercase with data set \"4: default\"":3,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoUppercase with data set \"1: primary key\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoUppercase with data set \"1: check\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoUppercase with data set \"1: unique\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoUppercase with data set \"1: index\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoUppercase with data set \"1: default\"":3,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoUppercase with data set \"2: primary key\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoUppercase with data set \"2: unique\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoUppercase with data set \"2: index\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoUppercase with data set \"2: check\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoUppercase with data set \"2: default\"":3,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoUppercase with data set \"3: primary key\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoUppercase with data set \"3: foreign key\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoUppercase with data set \"3: unique\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoUppercase with data set \"3: index\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoUppercase with data set \"3: check\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoUppercase with data set \"3: default\"":3,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoUppercase with data set \"4: primary key\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoUppercase with data set \"4: unique\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoUppercase with data set \"4: check\"":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoUppercase with data set \"4: default\"":3,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testFindUniqueIndexes":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testInsert":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testGetTableSchemasWithAttrCase":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testGetNonExistingTableSchema":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testSchemaCache":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaCacheWithTablePrefixes with data set \"type (with '' prefix) against {{%type}} (with '' prefix)\"":1,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaCacheWithTablePrefixes with data set \"type (with '' prefix) against {{%pe}} (with 'ty' prefix)\"":1,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaCacheWithTablePrefixes with data set \"{{%type}} (with '' prefix) against type (with '' prefix)\"":1,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaCacheWithTablePrefixes with data set \"{{%type}} (with '' prefix) against {{%pe}} (with 'ty' prefix)\"":1,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaCacheWithTablePrefixes with data set \"{{%pe}} (with 'ty' prefix) against type (with '' prefix)\"":1,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaCacheWithTablePrefixes with data set \"{{%pe}} (with 'ty' prefix) against {{%type}} (with '' prefix)\"":1,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testRefreshTableSchema":1,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testColumnSchema":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testNegativeDefaultValues":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testContraintTablesExistance":4,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testGetColumnNoExist":4,"Yiisoft\\Db\\Pgsql\\Tests\\SqlDataProviderTest::testGetModels":4,"Yiisoft\\Db\\Pgsql\\Tests\\SqlDataProviderTest::testGetKeys":4,"Yiisoft\\Db\\Pgsql\\Tests\\SqlDataProviderTest::testWithSort":4,"Yiisoft\\Db\\Pgsql\\Tests\\SqlDataProviderTest::testTotalCount":4,"Yiisoft\\Db\\Pgsql\\Tests\\SqlDataProviderTest::testTotalCountWithParams":4,"Yiisoft\\Db\\Pgsql\\Tests\\RangeParserTest::testAutoRange":4,"Yiisoft\\Db\\Pgsql\\Tests\\RangeParserTest::testDateRange":4,"Yiisoft\\Db\\Pgsql\\Tests\\RangeParserTest::testIntRange":4,"Yiisoft\\Db\\Pgsql\\Tests\\RangeParserTest::testNumRange":3,"Warning":6,"Yiisoft\\Db\\Pgsql\\Tests\\RangeParserTest::testSimpleRanges":4,"Yiisoft\\Db\\Pgsql\\Tests\\RangeParserTest::testLowerRanges":4,"Yiisoft\\Db\\Pgsql\\Tests\\RangeParserTest::testUpperRanges":3,"Yiisoft\\Db\\Pgsql\\Tests\\RangeParserTest::testExcludeLowerRanges":4,"Yiisoft\\Db\\Pgsql\\Tests\\RangeParserTest::testExcludeUpperRanges":4,"Yiisoft\\Db\\Pgsql\\Tests\\RangeParserTest::testIntRanges":3,"Yiisoft\\Db\\Pgsql\\Tests\\RangeParserTest::testIntRangesWoLower":4,"Yiisoft\\Db\\Pgsql\\Tests\\RangeParserTest::testTsTzRange":4},"times":{"Yiisoft\\Db\\Pgsql\\Tests\\ArrayParserTest::testParser":0.005,"Yiisoft\\Db\\Pgsql\\Tests\\BatchQueryResultTest::testQuery":0.002,"Yiisoft\\Db\\Pgsql\\Tests\\BatchQueryResultTest::testBatchWithoutDbParameter":0.003,"Yiisoft\\Db\\Pgsql\\Tests\\BatchQueryResultTest::testBatchWithIndexBy":0.001,"Yiisoft\\Db\\Pgsql\\Tests\\ColumnSchemaBuilderTest::testCustomTypes with data set #0":0.001,"Yiisoft\\Db\\Pgsql\\Tests\\ColumnSchemaBuilderTest::testCustomTypes with data set #1":0,"Yiisoft\\Db\\Pgsql\\Tests\\ColumnSchemaBuilderTest::testCustomTypes with data set #2":0,"Yiisoft\\Db\\Pgsql\\Tests\\ColumnSchemaBuilderTest::testCustomTypes with data set #3":0,"Yiisoft\\Db\\Pgsql\\Tests\\ColumnSchemaBuilderTest::testCustomTypes with data set #4":0,"Yiisoft\\Db\\Pgsql\\Tests\\ColumnSchemaTest::testPhpTypeCast":0,"Yiisoft\\Db\\Pgsql\\Tests\\ColumnSchemaTest::testPhpTypeCastBool":0.001,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testAddDropCheck":0.002,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testAddDropPrimaryKey":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testAutoQuoting":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testBooleanValuesInsert":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testBooleanValuesBatchInsert":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testLastInsertId":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testSaveSerializedObject":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testIssue15827":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testBatchInsertSQL with data set \"issue11242\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testBatchInsertSQL with data set \"wrongBehavior\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testBatchInsertSQL with data set \"batchInsert binds params from expression\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testBatchInsertSQL with data set \"batchInsert binds params from jsonExpression\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testBatchInsertSQL with data set \"batchInsert binds params from arrayExpression\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testBatchInsertSQL with data set \"batchInsert casts string to int according to the table schema\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testBatchInsertSQL with data set \"batchInsert casts JSON to JSONB when column is JSONB\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testBindParamsNonWhere with data set #0":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testBindParamsNonWhere with data set #1":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testBindParamsNonWhere with data set #2":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testGetRawSql with data set #0":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testGetRawSql with data set #1":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testGetRawSql with data set #2":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testGetRawSql with data set #3":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testGetRawSql with data set #4":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testGetRawSql with data set #5":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testInsertSelectFailed with data set #0":0.02,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testInsertSelectFailed with data set #1":0.001,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testInsertSelectFailed with data set #2":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testUpsert with data set \"regular values\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testUpsert with data set \"regular values with update part\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testUpsert with data set \"regular values without update part\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testUpsert with data set \"query\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testUpsert with data set \"query with update part\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testUpsert with data set \"query without update part\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testConstruct":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testGetSetSql":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testPrepareCancel":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testExecute":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testQuery":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testFetchMode":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testBatchInsert":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testBatchInsertWithYield":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testBatchInsertDataTypesLocale":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testInsert":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testNoTablenameReplacement":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testInsertSelect":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testInsertSelectAlias":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testInsertExpression":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testsInsertQueryAsColumnValue":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testCreateTable":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testDropTable":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testTruncateTable":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testRenameTable":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testAddDropForeignKey":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testCreateDropIndex":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testAddDropUnique":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testIntegrityViolation":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testQueryCache":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testColumnCase":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testTransaction":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testRetryHandler":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testCreateView":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testDropView":0,"Yiisoft\\Db\\Pgsql\\Tests\\CommandTest::testAlterTable":0,"Yiisoft\\Db\\Pgsql\\Tests\\ConnectionTest::testConnection":0,"Yiisoft\\Db\\Pgsql\\Tests\\ConnectionTest::testConstruct":0,"Yiisoft\\Db\\Pgsql\\Tests\\ConnectionTest::testGetDriverName":0,"Yiisoft\\Db\\Pgsql\\Tests\\ConnectionTest::testInitConnection":0,"Yiisoft\\Db\\Pgsql\\Tests\\ConnectionTest::testOpenClose":0,"Yiisoft\\Db\\Pgsql\\Tests\\ConnectionTest::testQuoteValue":0,"Yiisoft\\Db\\Pgsql\\Tests\\ConnectionTest::testQuoteTableName":0,"Yiisoft\\Db\\Pgsql\\Tests\\ConnectionTest::testQuoteColumnName":0,"Yiisoft\\Db\\Pgsql\\Tests\\ConnectionTest::testQuoteFullColumnName":0,"Yiisoft\\Db\\Pgsql\\Tests\\ConnectionTest::testTransactionIsolation":0,"Yiisoft\\Db\\Pgsql\\Tests\\ConnectionTest::testGetPdoAfterClose":0.001,"Yiisoft\\Db\\Pgsql\\Tests\\ConnectionTest::testServerStatusCacheWorks":0,"Yiisoft\\Db\\Pgsql\\Tests\\ConnectionTest::testServerStatusCacheCanBeDisabled":0,"Yiisoft\\Db\\Pgsql\\Tests\\ConnectionTest::testSerialize":0,"Yiisoft\\Db\\Pgsql\\Tests\\ConnectionTest::testTransaction":0,"Yiisoft\\Db\\Pgsql\\Tests\\ConnectionTest::testTransactionShortcutException":0,"Yiisoft\\Db\\Pgsql\\Tests\\ConnectionTest::testTransactionShortcutCorrect":0,"Yiisoft\\Db\\Pgsql\\Tests\\ConnectionTest::testTransactionShortcutCustom":0,"Yiisoft\\Db\\Pgsql\\Tests\\ConnectionTest::testNestedTransaction":0,"Yiisoft\\Db\\Pgsql\\Tests\\ConnectionTest::testNestedTransactionNotSupported":0,"Yiisoft\\Db\\Pgsql\\Tests\\ConnectionTest::testEnableQueryLog":0,"Yiisoft\\Db\\Pgsql\\Tests\\ConnectionTest::testExceptionContainsRawQuery":0,"Yiisoft\\Db\\Pgsql\\Tests\\ConnectionTest::testClone":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testAlterColumn":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testCommentColumn":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testCommentTable":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testResetSequence":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testResetSequencePostgres12":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testDropIndex":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testAddDropCheck with data set \"drop\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testAddDropCheck with data set \"add\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testAddDropForeignKey with data set \"drop\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testAddDropForeignKey with data set \"add\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testAddDropForeignKey with data set \"add (2 columns)\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testAddDropPrimaryKey with data set \"drop\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testAddDropPrimaryKey with data set \"add\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testAddDropPrimaryKey with data set \"add (2 columns)\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testAddDropUnique with data set \"drop\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testAddDropUnique with data set \"add\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testAddDropUnique with data set \"add (2 columns)\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBatchInsert with data set #0":0.001,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBatchInsert with data set \"escape-danger-chars\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBatchInsert with data set #1":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBatchInsert with data set #2":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBatchInsert with data set \"bool-false, bool2-null\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBatchInsert with data set #3":0.001,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBatchInsert with data set \"bool-false, time-now()\"":0.001,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #0":0.001,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #1":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #2":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #3":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #4":0.001,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #5":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #6":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #7":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #8":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #9":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #10":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #11":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #12":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #13":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #14":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #15":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #16":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #17":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #18":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #19":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #20":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #21":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #22":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #23":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #24":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #25":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #26":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #27":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #28":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #29":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #30":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set \"composite in\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set \"composite in (just one column)\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set \"composite in using array objects (just one column)\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #31":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #32":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #33":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #34":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #35":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #36":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #37":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #38":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set \"composite in using array objects\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #39":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #40":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #41":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #42":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #43":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #44":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #45":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #46":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #47":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #48":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #49":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #50":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #51":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #52":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #53":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #54":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #55":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #56":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #57":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #58":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #59":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #60":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #61":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #62":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #63":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #64":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #65":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #66":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #67":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #68":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #69":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #70":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #71":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #72":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #73":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #74":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #75":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #76":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #77":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #78":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #79":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #80":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #81":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set \"scalar can not be converted to array #1\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #82":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #83":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #84":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set \"array of arrays\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #85":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set \"array can contain nulls\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set \"traversable objects are supported\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #86":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #87":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #88":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #89":0.001,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #90":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #91":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set \"nested json\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set \"null value\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set \"null as array value\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set \"null as object value\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set \"query\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set \"query with type\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set \"array of json expressions\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set \"Items in ArrayExpression of type json should be casted to Json\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set \"Two dimension array of text\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set \"Three dimension array of booleans\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #92":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #93":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #94":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #95":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #96":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #97":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #98":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #99":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildCondition with data set #100":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildFilterCondition with data set #0":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildFilterCondition with data set #1":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildFilterCondition with data set #2":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildFilterCondition with data set #3":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildFilterCondition with data set #4":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildFilterCondition with data set #5":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildFilterCondition with data set #6":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildFilterCondition with data set #7":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildFilterCondition with data set #8":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildFilterCondition with data set #9":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildFilterCondition with data set #10":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildFilterCondition with data set #11":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildFilterCondition with data set #12":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildFilterCondition with data set #13":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildFilterCondition with data set #14":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildFilterCondition with data set #15":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildFilterCondition with data set #16":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildFilterCondition with data set #17":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildFilterCondition with data set #18":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildFilterCondition with data set #19":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildFilterCondition with data set #20":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildFilterCondition with data set #21":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildFrom with data set #0":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildFrom with data set #1":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildFrom with data set #2":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildFrom with data set #3":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildLikeCondition with data set #0":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildLikeCondition with data set #1":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildLikeCondition with data set #2":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildLikeCondition with data set #3":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildLikeCondition with data set #4":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildLikeCondition with data set #5":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildLikeCondition with data set #6":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildLikeCondition with data set #7":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildLikeCondition with data set #8":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildLikeCondition with data set #9":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildLikeCondition with data set #10":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildLikeCondition with data set #11":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildLikeCondition with data set #12":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildLikeCondition with data set #13":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildLikeCondition with data set #14":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildLikeCondition with data set #15":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildLikeCondition with data set #16":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildLikeCondition with data set #17":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildLikeCondition with data set #18":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildLikeCondition with data set #19":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildLikeCondition with data set #20":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildLikeCondition with data set #21":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildLikeCondition with data set #22":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildLikeCondition with data set #23":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildLikeCondition with data set #24":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildLikeCondition with data set #25":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildWhereExists with data set #0":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildWhereExists with data set #1":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testCreateDropIndex with data set \"drop\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testCreateDropIndex with data set \"create\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testCreateDropIndex with data set \"create (2 columns)\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testCreateDropIndex with data set \"create unique\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testCreateDropIndex with data set \"create unique (2 columns)\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testDelete with data set #0":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testInsert with data set \"regular-values\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testInsert with data set \"params-and-expressions\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testInsert with data set \"carry passed params\"":0.001,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testInsert with data set \"carry passed params (query)\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testUpdate with data set #0":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testUpdate with data set #1":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testCheckIntegrity":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testGetColumnType":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testCreateTableColumnTypes":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildWhereExistsWithParameters":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildWhereExistsWithArrayParameters":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildUnion":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildWithQuery":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testBuildWithQueryRecursive":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testSelectSubquery":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testComplexSelect":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testSelectExpression":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testFromIndexHint":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testFromSubquery":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testOrderBy":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testGroupBy":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testInitFixtures":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testUpsert with data set \"regular values\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testUpsert with data set \"regular values with update part\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testUpsert with data set \"regular values without update part\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testUpsert with data set \"query\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testUpsert with data set \"query with update part\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testUpsert with data set \"query without update part\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testUpsert with data set \"values and expressions\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testUpsert with data set \"values and expressions with update part\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testUpsert with data set \"values and expressions without update part\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testUpsert with data set \"query, values and expressions with update part\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testUpsert with data set \"query, values and expressions without update part\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testUpsert with data set \"no columns to update\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryBuilderTest::testIssue15653":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testBooleanValues":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testSelect":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testFrom":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testFromTableIsArrayWithExpression":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testWhere":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testFilterWhereWithHashFormat":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testFilterWhereWithOperatorFormat":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testFilterHavingWithHashFormat":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testFilterHavingWithOperatorFormat":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testFilterRecursively":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testGroup":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testHaving":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testOrder":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testLimitOffset":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testLimitOffsetWithExpression":0.001,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testOne":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testExists":0.001,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testColumn":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testCount":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testAndFilterCompare":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testEmulateExecution":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testMultipleLikeConditions":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testExpressionInFrom":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testQueryCache":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testQueryCreation":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testGetTableNamesIsFromArrayWithAlias":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testGetTableNamesIsFromArrayWithoutAlias":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testGetTableNamesIsFromString":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testGetTableNamesIsFromObjectgenerateException":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testGetTablesAliasesFromString":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testGetTableNamesIsFromPrefixedTableName":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testGetTableNamesIsFromTableNameWithDatabase":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testGetTableNamesIsFromAliasedExpression":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testGetTableNamesIsFromAliasedArrayWithExpression":0,"Yiisoft\\Db\\Pgsql\\Tests\\QueryTest::testGetTableNamesIsFromAliasedSubquery":0,"Yiisoft\\Db\\Pgsql\\Tests\\RangeParserTest::testAutoRange":0.286,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testCompositeFk":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testGetPDOType":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testBooleanDefaultValues":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testGetSchemaNames":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testSequenceName":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testGeneratedValues":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testPartitionedTable":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testFindSchemaNames":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testParenthesisDefaultValue":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTimestampNullDefaultValue":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testGetTableNames with data set #0":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testGetTableNames with data set #1":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testGetTableSchemas with data set #0":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testGetTableSchemas with data set #1":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraints with data set \"1: primary key\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraints with data set \"1: check\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraints with data set \"1: unique\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraints with data set \"1: index\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraints with data set \"1: default\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraints with data set \"2: primary key\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraints with data set \"2: unique\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraints with data set \"2: index\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraints with data set \"2: check\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraints with data set \"2: default\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraints with data set \"3: primary key\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraints with data set \"3: foreign key\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraints with data set \"3: unique\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraints with data set \"3: index\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraints with data set \"3: check\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraints with data set \"3: default\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraints with data set \"4: primary key\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraints with data set \"4: unique\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraints with data set \"4: check\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraints with data set \"4: default\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoLowercase with data set \"1: primary key\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoLowercase with data set \"1: check\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoLowercase with data set \"1: unique\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoLowercase with data set \"1: index\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoLowercase with data set \"1: default\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoLowercase with data set \"2: primary key\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoLowercase with data set \"2: unique\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoLowercase with data set \"2: index\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoLowercase with data set \"2: check\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoLowercase with data set \"2: default\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoLowercase with data set \"3: primary key\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoLowercase with data set \"3: foreign key\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoLowercase with data set \"3: unique\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoLowercase with data set \"3: index\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoLowercase with data set \"3: check\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoLowercase with data set \"3: default\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoLowercase with data set \"4: primary key\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoLowercase with data set \"4: unique\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoLowercase with data set \"4: check\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoLowercase with data set \"4: default\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoUppercase with data set \"1: primary key\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoUppercase with data set \"1: check\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoUppercase with data set \"1: unique\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoUppercase with data set \"1: index\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoUppercase with data set \"1: default\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoUppercase with data set \"2: primary key\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoUppercase with data set \"2: unique\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoUppercase with data set \"2: index\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoUppercase with data set \"2: check\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoUppercase with data set \"2: default\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoUppercase with data set \"3: primary key\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoUppercase with data set \"3: foreign key\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoUppercase with data set \"3: unique\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoUppercase with data set \"3: index\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoUppercase with data set \"3: check\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoUppercase with data set \"3: default\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoUppercase with data set \"4: primary key\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoUppercase with data set \"4: unique\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoUppercase with data set \"4: check\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaConstraintsWithPdoUppercase with data set \"4: default\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testFindUniqueIndexes":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testInsert":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testGetTableSchemasWithAttrCase":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testGetNonExistingTableSchema":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testSchemaCache":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaCacheWithTablePrefixes with data set \"type (with '' prefix) against {{%type}} (with '' prefix)\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaCacheWithTablePrefixes with data set \"type (with '' prefix) against {{%pe}} (with 'ty' prefix)\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaCacheWithTablePrefixes with data set \"{{%type}} (with '' prefix) against type (with '' prefix)\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaCacheWithTablePrefixes with data set \"{{%type}} (with '' prefix) against {{%pe}} (with 'ty' prefix)\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaCacheWithTablePrefixes with data set \"{{%pe}} (with 'ty' prefix) against type (with '' prefix)\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testTableSchemaCacheWithTablePrefixes with data set \"{{%pe}} (with 'ty' prefix) against {{%type}} (with '' prefix)\"":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testRefreshTableSchema":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testColumnSchema":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testColumnSchemaDbTypecastWithEmptyCharType":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testNegativeDefaultValues":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testContraintTablesExistance":0,"Yiisoft\\Db\\Pgsql\\Tests\\SchemaTest::testGetColumnNoExist":0,"Yiisoft\\Db\\Pgsql\\Tests\\SqlDataProviderTest::testGetModels":0.001,"Yiisoft\\Db\\Pgsql\\Tests\\SqlDataProviderTest::testGetKeys":0,"Yiisoft\\Db\\Pgsql\\Tests\\SqlDataProviderTest::testWithSort":0.001,"Yiisoft\\Db\\Pgsql\\Tests\\SqlDataProviderTest::testTotalCount":0,"Yiisoft\\Db\\Pgsql\\Tests\\SqlDataProviderTest::testTotalCountWithParams":0,"Yiisoft\\Db\\Pgsql\\Tests\\RangeParserTest::testNumRange":0.24,"Yiisoft\\Db\\Pgsql\\Tests\\RangeParserTest::testIntRange":0.25,"Yiisoft\\Db\\Pgsql\\Tests\\RangeParserTest::testDateRange":0.232,"Warning":0.002,"Yiisoft\\Db\\Pgsql\\Tests\\RangeParserTest::testSimpleRanges":0.235,"Yiisoft\\Db\\Pgsql\\Tests\\RangeParserTest::testLowerRanges":0.262,"Yiisoft\\Db\\Pgsql\\Tests\\RangeParserTest::testUpperRanges":0.274,"Yiisoft\\Db\\Pgsql\\Tests\\RangeParserTest::testExcludeLowerRanges":0.267,"Yiisoft\\Db\\Pgsql\\Tests\\RangeParserTest::testExcludeUpperRanges":0.248,"Yiisoft\\Db\\Pgsql\\Tests\\RangeParserTest::testIntRanges":0.252,"Yiisoft\\Db\\Pgsql\\Tests\\RangeParserTest::testIntRangesWoLower":0.259,"Yiisoft\\Db\\Pgsql\\Tests\\RangeParserTest::testIntRangesWoUpper":0.259,"Yiisoft\\Db\\Pgsql\\Tests\\RangeParserTest::testDateRangeWoLower":0.286,"Yiisoft\\Db\\Pgsql\\Tests\\RangeParserTest::testDateRangeWoUpper":0.239,"Yiisoft\\Db\\Pgsql\\Tests\\RangeParserTest::testTsRange":0.251,"Yiisoft\\Db\\Pgsql\\Tests\\RangeParserTest::testTsTzRange":0.251}} \ No newline at end of file diff --git a/tests/RangeParserTest.php b/tests/RangeParserTest.php index c767675a1..f10725583 100644 --- a/tests/RangeParserTest.php +++ b/tests/RangeParserTest.php @@ -44,7 +44,7 @@ final class RangeParserTest extends TestCase 'ts_range' => [null, '2018-10-20 15:10:00'], 'ts_tz_range' => [null, '2019-10-20 15:10:00+00:00'], 'date_range' => [null, '2021-01-01'], - ] + ], ]; private function getData(int $id, bool $exludeLower = false, bool $excludeUpper = false, string ...$columns): array From cb849e8bd8581af02d1b46a20b8b228343331998 Mon Sep 17 00:00:00 2001 From: darkdef Date: Sat, 13 Nov 2021 20:49:02 +0300 Subject: [PATCH 4/6] fix for tests --- tests/Fixture/postgres.sql | 2 +- tests/RangeParserTest.php | 447 ++++++++++++------------------------- 2 files changed, 142 insertions(+), 307 deletions(-) diff --git a/tests/Fixture/postgres.sql b/tests/Fixture/postgres.sql index d0a25ad17..eeb20d6e7 100644 --- a/tests/Fixture/postgres.sql +++ b/tests/Fixture/postgres.sql @@ -428,7 +428,7 @@ CREATE TABLE "T_upsert_1" CREATE TABLE "ranges" ( - "id" INT2 NOT NULL PRIMARY KEY, + "id" SERIAL NOT NULL PRIMARY KEY, "int_range" int4range, "bigint_range" int8range, "num_range" numrange, diff --git a/tests/RangeParserTest.php b/tests/RangeParserTest.php index f10725583..f7a7a3830 100644 --- a/tests/RangeParserTest.php +++ b/tests/RangeParserTest.php @@ -7,335 +7,170 @@ use Yiisoft\Db\Pgsql\RangeParser; use Yiisoft\Db\Pgsql\Schema; use DateInterval; +use DateTime; use Yiisoft\Db\Query\Query; use Yiisoft\Db\Expression\Expression; +/** + * @group rangeParser + */ final class RangeParserTest extends TestCase { - private const RANGES = [ - 1 => [ - 'int_range' => [1, 10], - 'bigint_range' => ['2147483647', '2147483650'], - 'num_range' => [10.5, 20.7], - 'ts_range' => ['2017-10-20 10:10:00', '2018-10-20 15:10:00'], - 'ts_tz_range' => ['2018-10-20 10:10:00+00:00', '2019-10-20 15:10:00+00:00'], - 'date_range' => ['2020-12-01', '2021-01-01'], - ], - 2 => [ - 'int_range' => [100, null], - 'bigint_range' => ['4147483647', null], - 'num_range' => [30.7, null], - 'ts_range' => ['2017-10-20 10:10:00', null], - 'ts_tz_range' => ['2018-10-20 10:10:00+00:00', null], - 'date_range' => ['2020-12-01', null], - ], - 3 => [ - 'int_range' => [null, 10], - 'bigint_range' => [null, '2147483650'], - 'num_range' => [null, 20.7], - 'ts_range' => [null, '2018-10-20 15:10:00'], - 'ts_tz_range' => [null, '2019-10-20 15:10:00+00:00'], - 'date_range' => [null, '2021-01-01'], - ], - 4 => [ - 'int_range' => [-100, 10], - 'bigint_range' => ['-2147483650', '2147483650'], - 'num_range' => [-13.2, 20.7], - 'ts_range' => [null, '2018-10-20 15:10:00'], - 'ts_tz_range' => [null, '2019-10-20 15:10:00+00:00'], - 'date_range' => [null, '2021-01-01'], - ], + private const TABLE = '{{ranges}}'; + + private const FIELDS = [ + Schema::TYPE_INT_4_RANGE => 'int_range', + Schema::TYPE_INT_8_RANGE => 'bigint_range', + Schema::TYPE_NUM_RANGE => 'num_range', + Schema::TYPE_DATE_RANGE => 'date_range', + Schema::TYPE_TS_RANGE => 'ts_range', + Schema::TYPE_TS_TZ_RANGE => 'ts_tz_range', ]; - private function getData(int $id, bool $exludeLower = false, bool $excludeUpper = false, string ...$columns): array + /** + * @param string $type + * @param string $field + * @param string $brackets + * @param array $inserted + * @return mixed[] + */ + public function insertAndGetResult(string $field, string $type, string $brackets, array $inserted): array { - $data = ['id' => $id]; - - foreach ($columns as $column) { - $range = self::RANGES[$id][$column]; - - switch ($column) { - case 'int_range': - $expression = Schema::TYPE_INT_4_RANGE; - break; - case 'bigint_range': - $expression = Schema::TYPE_INT_8_RANGE; - break; - case 'num_range': - $expression = Schema::TYPE_NUM_RANGE; - break; - case 'date_range': - $expression = Schema::TYPE_DATE_RANGE; - break; - case 'ts_range': - $expression = Schema::TYPE_TS_RANGE; - break; - case 'ts_tz_range': - $expression = Schema::TYPE_TS_TZ_RANGE; - break; - } - - $expression .= '('; - $expression .= ':min_' . $column . ','; - $expression .= ':max_' . $column . ','; - $expression .= "'"; - $expression .= $exludeLower ? '(' : '['; - $expression .= $excludeUpper ? ')' : ']'; - $expression .= "'"; - $expression .= ')'; - - $data[$column] = new Expression($expression, [':min_' . $column => $range[0], ':max_' . $column => $range[1]]); - } - - return $data; - } - - public function testIntRanges(): void - { - $ids = array_keys(self::RANGES); - $db = $this->getConnection(true); - $command = $db->createCommand(); - - foreach ($ids as $id) { - $data = $this->getData($id, false, false, 'int_range', 'bigint_range'); - $command->insert('ranges', $data)->execute(); - } - - $rows = (new Query($db))->select(['id', 'int_range', 'bigint_range'])->from('ranges')->all(); - $intParser = new RangeParser(Schema::TYPE_INT_4_RANGE); - $bigIntParser = new RangeParser(Schema::TYPE_INT_8_RANGE); - - foreach ($rows as $row) { - $range = self::RANGES[$row['id']]; - $this->assertIsString($row['int_range']); - $this->assertIsString($row['bigint_range']); - $this->assertSame($intParser->parse($row['int_range']), $range['int_range']); - - if (PHP_INT_SIZE === 8) { - $map = array_map(fn ($value) => $value ? (int) $value : null, $range['bigint_range']); - } else { - $map = array_map(fn ($value) => $value ? (float) $value : null, $range['bigint_range']); - } - - $this->assertSame($intParser->parse($row['bigint_range']), $map); - } - } - - public function testIntRangesWoLower(): void - { - $ids = array_keys(self::RANGES); - $db = $this->getConnection(true); - $command = $db->createCommand(); - - foreach ($ids as $id) { - $data = $this->getData($id, true, false, 'int_range', 'bigint_range'); - $command->insert('ranges', $data)->execute(); - } - - $rows = (new Query($db))->select(['id', 'int_range', 'bigint_range'])->from('ranges')->all(); - $intParser = new RangeParser(Schema::TYPE_INT_4_RANGE); - $bigIntParser = new RangeParser(Schema::TYPE_INT_8_RANGE); - - foreach ($rows as $row) { - $range = self::RANGES[$row['id']]; - $this->assertIsString($row['int_range']); - $this->assertIsString($row['bigint_range']); - $min = $range['int_range'][0] === null ? null : $range['int_range'][0] + 1; - $max = $range['int_range'][1] === null ? null : $range['int_range'][1]; - $this->assertSame($intParser->parse($row['int_range']), [$min, $max]); - - if (PHP_INT_SIZE === 8) { - $map = array_map(fn ($value) => $value ? (int) $value : null, $range['bigint_range']); - } else { - $map = array_map(fn ($value) => $value ? (float) $value : null, $range['bigint_range']); - } - - $min = $map[0] === null ? null : $map[0] + 1; - $max = $map[1] === null ? null : $map[1]; - - $this->assertSame($intParser->parse($row['bigint_range']), [$min, $max]); - } - } - - public function testIntRangesWoUpper(): void - { - $ids = array_keys(self::RANGES); - $db = $this->getConnection(true); - $command = $db->createCommand(); - - foreach ($ids as $id) { - $data = $this->getData($id, false, true, 'int_range', 'bigint_range'); - $command->insert('ranges', $data)->execute(); - } - - $rows = (new Query($db))->select(['id', 'int_range', 'bigint_range'])->from('ranges')->all(); - $intParser = new RangeParser(Schema::TYPE_INT_4_RANGE); - $bigIntParser = new RangeParser(Schema::TYPE_INT_8_RANGE); - - foreach ($rows as $row) { - $range = self::RANGES[$row['id']]; - $this->assertIsString($row['int_range']); - $this->assertIsString($row['bigint_range']); - $min = $range['int_range'][0] === null ? null : $range['int_range'][0]; - $max = $range['int_range'][1] === null ? null : $range['int_range'][1] - 1; - $this->assertSame($intParser->parse($row['int_range']), [$min, $max]); - - if (PHP_INT_SIZE === 8) { - $map = array_map(fn ($value) => $value ? (int) $value : null, $range['bigint_range']); - } else { - $map = array_map(fn ($value) => $value ? (float) $value : null, $range['bigint_range']); - } - - $min = $map[0] === null ? null : $map[0]; - $max = $map[1] === null ? null : $map[1] - 1; - - $this->assertSame($intParser->parse($row['bigint_range']), [$min, $max]); - } + $db = $this->getConnection(); + $db->createCommand()->delete(self::TABLE)->execute(); + + $db->createCommand()->insert( + self::TABLE, + [ + $field => new Expression( + $type . "(:min, :max, '" . $brackets . "')", + [':min' => $inserted[0], ':max' => $inserted[1]] + ) + ] + )->execute(); + + return (new Query($db))->select([$field])->from(self::TABLE)->one(); } - public function testDateRange(): void + /** + * @return array + */ + public function rangeNumberProvider(): array { - $ids = array_keys(self::RANGES); - $db = $this->getConnection(true); - $command = $db->createCommand(); - - foreach ($ids as $id) { - $data = $this->getData($id, false, false, 'date_range', ); - $command->insert('ranges', $data)->execute(); - } - - $rows = (new Query($db))->select(['id', 'date_range'])->from('ranges')->all(); - $parser = new RangeParser(Schema::TYPE_DATE_RANGE); - - foreach ($rows as $row) { - $range = self::RANGES[$row['id']]['date_range']; - $result = $parser->parse($row['date_range']); - $min = $result[0] === null ? null : $result[0]->format('Y-m-d'); - $max = $result[1] === null ? null : $result[1]->format('Y-m-d'); - - $this->assertIsString($row['date_range']); - $this->assertSame($range, [$min, $max]); - } + return [ + // ::int4range + [ Schema::TYPE_INT_4_RANGE, 'brackets' => '[]', 'inserted' => [1, 10], 'expected' => [1, 10], ], + [ Schema::TYPE_INT_4_RANGE, 'brackets' => '[]', 'inserted' => [null, 10], 'expected' => [null, 10], ], + [ Schema::TYPE_INT_4_RANGE, 'brackets' => '[]', 'inserted' => [10, null], 'expected' => [10, null], ], + [ Schema::TYPE_INT_4_RANGE, 'brackets' => '[]', 'inserted' => [-100, 10], 'expected' => [-100, 10], ], + + [ Schema::TYPE_INT_4_RANGE, 'brackets' => '[)', 'inserted' => [1, 10], 'expected' => [1, 9], ], + [ Schema::TYPE_INT_4_RANGE, 'brackets' => '[)', 'inserted' => [null, 10], 'expected' => [null, 9], ], + [ Schema::TYPE_INT_4_RANGE, 'brackets' => '[)', 'inserted' => [10, null], 'expected' => [10, null], ], + [ Schema::TYPE_INT_4_RANGE, 'brackets' => '[)', 'inserted' => [-100, 10], 'expected' => [-100, 9], ], + + [ Schema::TYPE_INT_4_RANGE, 'brackets' => '(]', 'inserted' => [1, 10], 'expected' => [2, 10], ], + [ Schema::TYPE_INT_4_RANGE, 'brackets' => '(]', 'inserted' => [null, 10], 'expected' => [null, 10], ], + [ Schema::TYPE_INT_4_RANGE, 'brackets' => '(]', 'inserted' => [10, null], 'expected' => [11, null], ], + [ Schema::TYPE_INT_4_RANGE, 'brackets' => '(]', 'inserted' => [-100, 10], 'expected' => [-99, 10], ], + + // ::int8range + [ Schema::TYPE_INT_8_RANGE, '[]', ['2147483647', '2147483650'], ['2147483647', '2147483650'], ], + [ Schema::TYPE_INT_8_RANGE, '[]', ['4147483647', null], ['4147483647', null], ], + [ Schema::TYPE_INT_8_RANGE, '[]', [null, '2147483650'], [null, '2147483650'], ], + [ Schema::TYPE_INT_8_RANGE, '[]', ['-2147483650', '2147483650'], ['-2147483650', '2147483650'], ], + + [ Schema::TYPE_INT_8_RANGE, '[)', ['2147483647', '2147483650'], ['2147483647', '2147483649'], ], + [ Schema::TYPE_INT_8_RANGE, '[)', ['4147483647', null], ['4147483647', null], ], + [ Schema::TYPE_INT_8_RANGE, '[)', [null, '2147483650'], [null, '2147483649'], ], + [ Schema::TYPE_INT_8_RANGE, '[)', ['-2147483650', '2147483650'], ['-2147483650', '2147483649'], ], + + [ Schema::TYPE_INT_8_RANGE, '(]', ['2147483647', '2147483650'], ['2147483648', '2147483650'], ], + [ Schema::TYPE_INT_8_RANGE, '(]', ['4147483647', null], ['4147483648', null], ], + [ Schema::TYPE_INT_8_RANGE, '(]', [null, '2147483650'], [null, '2147483650'], ], + [ Schema::TYPE_INT_8_RANGE, '(]', ['-2147483650', '2147483650'], ['-2147483649', '2147483650'], ], + + // ::numrange + [ Schema::TYPE_NUM_RANGE, '[]', [10.5, 20.7], [10.5, 20.7], ], + [ Schema::TYPE_NUM_RANGE, '[]', [30.7, null], [30.7, null], ], + [ Schema::TYPE_NUM_RANGE, '[]', [null, 20.7], [null, 20.7], ], + [ Schema::TYPE_NUM_RANGE, '[]', [-13.2, 20.7], [-13.2, 20.7], ], + + [ Schema::TYPE_NUM_RANGE, '[)', [10.5, 20.7], [10.5, 20.7], ], + [ Schema::TYPE_NUM_RANGE, '(]', [10.5, 20.7], [10.5, 20.7], ], + [ Schema::TYPE_NUM_RANGE, '()', [10.5, 20.7], [10.5, 20.7], ], + ]; } - public function testDateRangeWoLower(): void + /** + * @dataProvider rangeNumberProvider + */ + public function testNumberRanges(string $type, string $brackets, array $inserted, array $expected): void { - $ids = array_keys(self::RANGES); - $db = $this->getConnection(true); - $command = $db->createCommand(); - - foreach ($ids as $id) { - $data = $this->getData($id, true, false, 'date_range', ); - $command->insert('ranges', $data)->execute(); - } + $field = self::FIELDS[$type]; + $row = $this->insertAndGetResult($field, $type, $brackets, $inserted); - $rows = (new Query($db))->select(['id', 'date_range'])->from('ranges')->all(); - $parser = new RangeParser(Schema::TYPE_DATE_RANGE); - $interval = new DateInterval('P1D'); + $parser = new RangeParser($type); + $result = $parser->parse($row[$field]); - foreach ($rows as $row) { - $range = self::RANGES[$row['id']]['date_range']; - $result = $parser->parse($row['date_range']); - $min = $result[0] === null ? null : $result[0]->sub($interval)->format('Y-m-d'); - $max = $result[1] === null ? null : $result[1]->format('Y-m-d'); - - $this->assertIsString($row['date_range']); - $this->assertSame($range, [$min, $max]); - } + $this->assertEquals($result, $expected); } - public function testDateRangeWoUpper(): void + /** + * @return array[] + */ + public function rangeDateProvider(): array { - $ids = array_keys(self::RANGES); - $db = $this->getConnection(true); - $command = $db->createCommand(); - - foreach ($ids as $id) { - $data = $this->getData($id, false, true, 'date_range', ); - $command->insert('ranges', $data)->execute(); - } - - $rows = (new Query($db))->select(['id', 'date_range'])->from('ranges')->all(); - $parser = new RangeParser(Schema::TYPE_DATE_RANGE); - $interval = new DateInterval('P1D'); - - foreach ($rows as $row) { - $range = self::RANGES[$row['id']]['date_range']; - $result = $parser->parse($row['date_range']); - $min = $result[0] === null ? null : $result[0]->format('Y-m-d'); - $max = $result[1] === null ? null : $result[1]->add($interval)->format('Y-m-d'); - - $this->assertIsString($row['date_range']); - $this->assertSame($range, [$min, $max]); - } + return [ + // ::daterange + [ Schema::TYPE_DATE_RANGE, '[]', ['2020-12-01', '2021-01-01'], ['2020-12-01', '2021-01-01'], 'Y-m-d', ], + [ Schema::TYPE_DATE_RANGE, '[]', ['2020-12-01', null], ['2020-12-01', null], 'Y-m-d', ], + [ Schema::TYPE_DATE_RANGE, '[]', [null, '2020-12-01'], [null, '2020-12-01'], 'Y-m-d', ], + + [ Schema::TYPE_DATE_RANGE, '[)', ['2020-12-01', '2021-01-01'], ['2020-12-01', '2020-12-31'], 'Y-m-d', ], + [ Schema::TYPE_DATE_RANGE, '[)', ['2020-12-01', null], ['2020-12-01', null], 'Y-m-d', ], + [ Schema::TYPE_DATE_RANGE, '[)', [null, '2020-12-01'], [null, '2020-11-30'], 'Y-m-d',], + + [ Schema::TYPE_DATE_RANGE, '(]', ['2020-12-01', '2021-01-01'], ['2020-12-02', '2021-01-01'], 'Y-m-d', ], + [ Schema::TYPE_DATE_RANGE, '(]', ['2020-12-01', null], ['2020-12-02', null], 'Y-m-d', ], + [ Schema::TYPE_DATE_RANGE, '(]', [null, '2020-12-01'], [null, '2020-12-01'], 'Y-m-d', ], + + // ::tsrange + [ Schema::TYPE_TS_RANGE, '[]', ['2017-10-20 10:10:00', '2018-10-20 15:10:00'], ['2017-10-20 10:10:00', '2018-10-20 15:10:00'], 'Y-m-d H:i:s', ], + [ Schema::TYPE_TS_RANGE, '[]', ['2017-10-20 10:10:00', null], ['2017-10-20 10:10:00', null], 'Y-m-d H:i:s', ], + [ Schema::TYPE_TS_RANGE, '[]', [null, '2018-10-20 15:10:00'], [null, '2018-10-20 15:10:00'], 'Y-m-d H:i:s', ], + + [ Schema::TYPE_TS_RANGE, '[)', ['2017-10-20 10:10:00', '2018-10-20 15:10:00'], ['2017-10-20 10:10:00', '2018-10-20 15:10:00'], 'Y-m-d H:i:s', ], + [ Schema::TYPE_TS_RANGE, '(]', ['2017-10-20 10:10:00', '2018-10-20 15:10:00'], ['2017-10-20 10:10:00', '2018-10-20 15:10:00'], 'Y-m-d H:i:s', ], + [ Schema::TYPE_TS_RANGE, '()', ['2017-10-20 10:10:00', '2018-10-20 15:10:00'], ['2017-10-20 10:10:00', '2018-10-20 15:10:00'], 'Y-m-d H:i:s', ], + [ Schema::TYPE_TS_RANGE, '()', ['2017-10-20 10:10:00', '2018-10-20 15:10:00'], ['2017-10-20 10:10:00', '2018-10-20 15:10:00'], 'Y-m-d H:i:s', ], + + // ::tstzrange + [ Schema::TYPE_TS_TZ_RANGE, '[]', ['2018-10-20 10:10:00+00:00', '2019-10-20 15:10:00+00:00'], ['2018-10-20 10:10:00+00:00', '2019-10-20 15:10:00+00:00'], 'Y-m-d H:i:sP', ], + [ Schema::TYPE_TS_TZ_RANGE, '[]', ['2018-10-20 10:10:00+00:00', null], ['2018-10-20 10:10:00+00:00', null], 'Y-m-d H:i:sP', ], + [ Schema::TYPE_TS_TZ_RANGE, '[]', [null, '2019-10-20 15:10:00+00:00'], [null, '2019-10-20 15:10:00+00:00'], 'Y-m-d H:i:sP', ], + + [ Schema::TYPE_TS_TZ_RANGE, '(]', ['2018-10-20 10:10:00+00:00', '2019-10-20 15:10:00+00:00'], ['2018-10-20 10:10:00+00:00', '2019-10-20 15:10:00+00:00'], 'Y-m-d H:i:sP', ], + [ Schema::TYPE_TS_TZ_RANGE, '[)', ['2018-10-20 10:10:00+00:00', '2019-10-20 15:10:00+00:00'], ['2018-10-20 10:10:00+00:00', '2019-10-20 15:10:00+00:00'], 'Y-m-d H:i:sP', ], + [ Schema::TYPE_TS_TZ_RANGE, '()', ['2018-10-20 10:10:00+00:00', '2019-10-20 15:10:00+00:00'], ['2018-10-20 10:10:00+00:00', '2019-10-20 15:10:00+00:00'], 'Y-m-d H:i:sP', ], + ]; } - public function testNumRange(): void + /** + * @dataProvider rangeDateProvider + */ + public function testDateRanges(string $type, string $brackets, array $inserted, array $expected, string $format): void { - $ids = array_keys(self::RANGES); - $db = $this->getConnection(true); - $command = $db->createCommand(); - - foreach ($ids as $id) { - $data = $this->getData($id, false, false, 'num_range'); - $command->insert('ranges', $data)->execute(); - } - - $rows = (new Query($db))->select(['id', 'num_range'])->from('ranges')->all(); - $parser = new RangeParser(Schema::TYPE_NUM_RANGE); - - foreach ($rows as $row) { - $range = self::RANGES[$row['id']]; - $this->assertIsString($row['num_range']); - $this->assertSame($parser->parse($row['num_range']), $range['num_range']); - } - } - - public function testTsRange(): void - { - $ids = array_keys(self::RANGES); - $db = $this->getConnection(true); - $command = $db->createCommand(); - - foreach ($ids as $id) { - $data = $this->getData($id, false, false, 'ts_range'); - $command->insert('ranges', $data)->execute(); - } - - $rows = (new Query($db))->select(['id', 'ts_range'])->from('ranges')->all(); - $parser = new RangeParser(Schema::TYPE_TS_RANGE); - - foreach ($rows as $row) { - $range = self::RANGES[$row['id']]; - $result = $parser->parse($row['ts_range']); - $min = $result[0] === null ? null : $result[0]->format('Y-m-d H:i:s'); - $max = $result[1] === null ? null : $result[1]->format('Y-m-d H:i:s'); - $this->assertIsString($row['ts_range']); - $this->assertSame([$min, $max], $range['ts_range']); - } - } - - public function testTsTzRange(): void - { - $ids = array_keys(self::RANGES); - $db = $this->getConnection(true); - $command = $db->createCommand(); - - foreach ($ids as $id) { - $data = $this->getData($id, false, false, 'ts_tz_range'); - $command->insert('ranges', $data)->execute(); - } + $field = self::FIELDS[$type]; + $row = $this->insertAndGetResult($field, $type, $brackets, $inserted); - $rows = (new Query($db))->select(['id', 'ts_tz_range'])->from('ranges')->all(); - $parser = new RangeParser(Schema::TYPE_TS_TZ_RANGE); + $parser = new RangeParser($type); + $result = $parser->parse($row[$field]); - foreach ($rows as $row) { - $range = self::RANGES[$row['id']]; - $result = $parser->parse($row['ts_tz_range']); - $min = $result[0] === null ? null : $result[0]->format('Y-m-d H:i:sP'); - $max = $result[1] === null ? null : $result[1]->format('Y-m-d H:i:sP'); - $this->assertIsString($row['ts_tz_range']); - $this->assertSame([$min, $max], $range['ts_tz_range']); - } + $this->assertIsString($row[$field]); + $this->assertEquals($expected, [ + $result[0] instanceof DateTime ? $result[0]->format($format) : null, + $result[1] instanceof DateTime ? $result[1]->format($format) : null, + ]); } } From 68a449bb381dd2b1173e800aa063235658d5003b Mon Sep 17 00:00:00 2001 From: darkdef Date: Sat, 13 Nov 2021 20:51:14 +0300 Subject: [PATCH 5/6] styleci --- tests/RangeParserTest.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/RangeParserTest.php b/tests/RangeParserTest.php index f7a7a3830..249ccda8d 100644 --- a/tests/RangeParserTest.php +++ b/tests/RangeParserTest.php @@ -6,7 +6,6 @@ use Yiisoft\Db\Pgsql\RangeParser; use Yiisoft\Db\Pgsql\Schema; -use DateInterval; use DateTime; use Yiisoft\Db\Query\Query; use Yiisoft\Db\Expression\Expression; @@ -32,6 +31,7 @@ final class RangeParserTest extends TestCase * @param string $field * @param string $brackets * @param array $inserted + * @return mixed[] */ public function insertAndGetResult(string $field, string $type, string $brackets, array $inserted): array @@ -45,7 +45,7 @@ public function insertAndGetResult(string $field, string $type, string $brackets $field => new Expression( $type . "(:min, :max, '" . $brackets . "')", [':min' => $inserted[0], ':max' => $inserted[1]] - ) + ), ] )->execute(); From 3a3742df68c99b0d00c0384e4cd10200304a7666 Mon Sep 17 00:00:00 2001 From: darkdef Date: Sat, 13 Nov 2021 20:52:23 +0300 Subject: [PATCH 6/6] styleci2 --- tests/RangeParserTest.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/RangeParserTest.php b/tests/RangeParserTest.php index 249ccda8d..558005fb6 100644 --- a/tests/RangeParserTest.php +++ b/tests/RangeParserTest.php @@ -31,7 +31,7 @@ final class RangeParserTest extends TestCase * @param string $field * @param string $brackets * @param array $inserted - + * * @return mixed[] */ public function insertAndGetResult(string $field, string $type, string $brackets, array $inserted): array