Skip to content

Commit 0287029

Browse files
committed
Merge branch 'v4-development' of github.com:skipperbent/pecee-pixie into v4-raw-join
2 parents 415f600 + 475a041 commit 0287029

3 files changed

Lines changed: 9 additions & 7 deletions

File tree

.phpunit.result.cache

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
C:37:"PHPUnit\Runner\DefaultTestResultCache":8248:{a:2:{s:7:"defects";a:59:{s:39:"Pecee\Pixie\QueryBuilderTest::testAlias";i:4;s:45:"Pecee\Pixie\QueryBuilderTest::testDeleteQuery";i:4;s:50:"Pecee\Pixie\QueryBuilderTest::testEventPropagation";i:4;s:51:"Pecee\Pixie\QueryBuilderTest::testInsertIgnoreQuery";i:4;s:65:"Pecee\Pixie\QueryBuilderTest::testInsertOnDuplicateKeyUpdateQuery";i:4;s:45:"Pecee\Pixie\QueryBuilderTest::testInsertQuery";i:4;s:70:"Pecee\Pixie\QueryBuilderTest::testIsPossibleToUseSubqueryInWhereClause";i:4;s:73:"Pecee\Pixie\QueryBuilderTest::testIsPossibleToUseSubqueryInWhereNotClause";i:4;s:52:"Pecee\Pixie\QueryBuilderTest::testOrderByFlexibility";i:4;s:61:"Pecee\Pixie\QueryBuilderTest::testRawStatementsWithinCriteria";i:4;s:61:"Pecee\Pixie\QueryBuilderTest::testRawStatementWithinStatement";i:3;s:58:"Pecee\Pixie\QueryBuilderTest::testRawStatementWithinSelect";i:4;s:46:"Pecee\Pixie\QueryBuilderTest::testReplaceQuery";i:4;s:47:"Pecee\Pixie\QueryBuilderTest::testSelectAliases";i:4;s:48:"Pecee\Pixie\QueryBuilderTest::testSelectDistinct";i:4;s:62:"Pecee\Pixie\QueryBuilderTest::testSelectDistinctAndSelectCalls";i:4;s:64:"Pecee\Pixie\QueryBuilderTest::testSelectDistinctWithSingleColumn";i:4;s:51:"Pecee\Pixie\QueryBuilderTest::testSelectFlexibility";i:4;s:45:"Pecee\Pixie\QueryBuilderTest::testSelectQuery";i:3;s:71:"Pecee\Pixie\QueryBuilderTest::testSelectQueryWithNestedCriteriaAndJoins";i:3;s:53:"Pecee\Pixie\QueryBuilderTest::testSelectQueryWithNull";i:4;s:55:"Pecee\Pixie\QueryBuilderTest::testSelectWithQueryEvents";i:4;s:52:"Pecee\Pixie\QueryBuilderTest::testStandaloneWhereNot";i:4;s:45:"Pecee\Pixie\QueryBuilderTest::testUpdateQuery";i:3;s:53:"Pecee\Pixie\QueryBuilderTest::testDeleteAdvancedQuery";i:4;s:53:"Pecee\Pixie\QueryBuilderTest::testUpdateAdvancedQuery";i:3;s:46:"Pecee\Pixie\QueryBuilderTest::testFromSubQuery";i:4;s:44:"Pecee\Pixie\QueryBuilderTest::testTableAlias";i:4;s:54:"Pecee\Pixie\QueryBuilderTest::testWhereNotNullSubQuery";i:4;s:43:"Pecee\Pixie\QueryBuilderTest::testJoinUsing";i:3;s:55:"Pecee\Pixie\QueryBuilderTest::testJoinQueryBuilderUsing";i:3;s:60:"Pecee\Pixie\CustomExceptionsTest::testTableNotFoundException";i:4;s:61:"Pecee\Pixie\CustomExceptionsTest::testColumnNotFoundException";i:4;s:61:"Pecee\Pixie\CustomExceptionsTest::testDuplicateEntryException";i:4;s:75:"Pecee\Pixie\CustomExceptionsTest::testQueryAggregateColumnNotFoundException";i:4;s:57:"Pecee\Pixie\CustomExceptionsTest::testForeignKeyException";i:4;s:54:"Pecee\Pixie\CustomExceptionsTest::testNotNullException";i:4;s:53:"Pecee\Pixie\QueryBuilderAggregateTest::testQueryCount";i:4;s:59:"Pecee\Pixie\QueryBuilderAggregateTest::testSqliteQueryCount";i:4;s:51:"Pecee\Pixie\QueryBuilderAggregateTest::testQuerySum";i:4;s:57:"Pecee\Pixie\QueryBuilderAggregateTest::testSqliteQuerySum";i:4;s:55:"Pecee\Pixie\QueryBuilderAggregateTest::testQueryAverage";i:4;s:61:"Pecee\Pixie\QueryBuilderAggregateTest::testSqliteQueryAverage";i:4;s:50:"Pecee\Pixie\TransactionTest::testTransactionResult";i:4;s:51:"Pecee\Pixie\TransactionTest::testNestedTransactions";i:4;s:58:"Pecee\Pixie\TransactionTest::testTransactionMultipleInsert";i:4;s:42:"Pecee\Pixie\TransactionTest::testLastQuery";i:4;s:47:"Pecee\Pixie\QueryBuilderTest::testRawExpression";i:4;s:44:"Pecee\Pixie\QueryBuilder::testFalseBoolWhere";i:4;s:43:"Pecee\Pixie\QueryBuilder::testNullableWhere";i:4;s:42:"Pecee\Pixie\QueryBuilder::testWhereBetween";i:4;s:35:"Pecee\Pixie\QueryBuilder::testUnion";i:4;s:43:"Pecee\Pixie\QueryBuilder::testUnionSubQuery";i:4;s:44:"Pecee\Pixie\QueryBuilder::testQueryOverwrite";i:4;s:41:"Pecee\Pixie\QueryBuilder::testRemoveQuery";i:4;s:56:"Pecee\Pixie\QueryBuilderTest::testRawStatementWithinJoin";i:3;s:45:"Pecee\Pixie\NoTableSubQueryTest::testRawQuery";i:4;s:38:"Pecee\Pixie\QueryBuilder::testRawQuery";i:4;s:42:"Pecee\Pixie\QueryBuilder::testQueryPartFor";i:4;}s:5:"times";a:66:{s:39:"Pecee\Pixie\QueryBuilderTest::testAlias";d:0.001;s:45:"Pecee\Pixie\QueryBuilderTest::testDeleteQuery";d:0.001;s:50:"Pecee\Pixie\QueryBuilderTest::testEventPropagation";d:0.002;s:51:"Pecee\Pixie\QueryBuilderTest::testInsertIgnoreQuery";d:0;s:65:"Pecee\Pixie\QueryBuilderTest::testInsertOnDuplicateKeyUpdateQuery";d:0;s:45:"Pecee\Pixie\QueryBuilderTest::testInsertQuery";d:0;s:70:"Pecee\Pixie\QueryBuilderTest::testIsPossibleToUseSubqueryInWhereClause";d:0;s:73:"Pecee\Pixie\QueryBuilderTest::testIsPossibleToUseSubqueryInWhereNotClause";d:0.001;s:52:"Pecee\Pixie\QueryBuilderTest::testOrderByFlexibility";d:0;s:61:"Pecee\Pixie\QueryBuilderTest::testRawStatementsWithinCriteria";d:0.001;s:61:"Pecee\Pixie\QueryBuilderTest::testRawStatementWithinStatement";d:0.001;s:58:"Pecee\Pixie\QueryBuilderTest::testRawStatementWithinSelect";d:0.001;s:46:"Pecee\Pixie\QueryBuilderTest::testReplaceQuery";d:0;s:47:"Pecee\Pixie\QueryBuilderTest::testSelectAliases";d:0;s:48:"Pecee\Pixie\QueryBuilderTest::testSelectDistinct";d:0;s:62:"Pecee\Pixie\QueryBuilderTest::testSelectDistinctAndSelectCalls";d:0;s:64:"Pecee\Pixie\QueryBuilderTest::testSelectDistinctWithSingleColumn";d:0;s:51:"Pecee\Pixie\QueryBuilderTest::testSelectFlexibility";d:0;s:45:"Pecee\Pixie\QueryBuilderTest::testSelectQuery";d:0.001;s:71:"Pecee\Pixie\QueryBuilderTest::testSelectQueryWithNestedCriteriaAndJoins";d:0.002;s:53:"Pecee\Pixie\QueryBuilderTest::testSelectQueryWithNull";d:0;s:55:"Pecee\Pixie\QueryBuilderTest::testSelectWithQueryEvents";d:0;s:52:"Pecee\Pixie\QueryBuilderTest::testStandaloneWhereNot";d:0;s:45:"Pecee\Pixie\QueryBuilderTest::testUpdateQuery";d:0;s:53:"Pecee\Pixie\QueryBuilderTest::testDeleteAdvancedQuery";d:0.001;s:53:"Pecee\Pixie\QueryBuilderTest::testUpdateAdvancedQuery";d:0.001;s:46:"Pecee\Pixie\QueryBuilderTest::testFromSubQuery";d:0.001;s:44:"Pecee\Pixie\QueryBuilderTest::testTableAlias";d:0;s:54:"Pecee\Pixie\QueryBuilderTest::testWhereNotNullSubQuery";d:0.001;s:43:"Pecee\Pixie\QueryBuilderTest::testJoinUsing";d:0.001;s:55:"Pecee\Pixie\QueryBuilderTest::testJoinQueryBuilderUsing";d:0.001;s:42:"Pecee\Pixie\ConnectionTest::testConnection";d:0.059;s:47:"Pecee\Pixie\ConnectionTest::testMultiConnection";d:0.001;s:57:"Pecee\Pixie\CustomExceptionsTest::testConnectionException";d:0.006;s:60:"Pecee\Pixie\CustomExceptionsTest::testTableNotFoundException";d:0.086;s:61:"Pecee\Pixie\CustomExceptionsTest::testColumnNotFoundException";d:0.059;s:61:"Pecee\Pixie\CustomExceptionsTest::testDuplicateEntryException";d:0.056;s:75:"Pecee\Pixie\CustomExceptionsTest::testQueryAggregateColumnNotFoundException";d:0.053;s:57:"Pecee\Pixie\CustomExceptionsTest::testForeignKeyException";d:0.045;s:54:"Pecee\Pixie\CustomExceptionsTest::testNotNullException";d:0.057;s:45:"Pecee\Pixie\NoTableSubQueryTest::testRawQuery";d:0.001;s:53:"Pecee\Pixie\QueryBuilderAggregateTest::testQueryCount";d:0.044;s:59:"Pecee\Pixie\QueryBuilderAggregateTest::testSqliteQueryCount";d:0.001;s:51:"Pecee\Pixie\QueryBuilderAggregateTest::testQuerySum";d:0.045;s:57:"Pecee\Pixie\QueryBuilderAggregateTest::testSqliteQuerySum";d:0.001;s:55:"Pecee\Pixie\QueryBuilderAggregateTest::testQueryAverage";d:0.041;s:61:"Pecee\Pixie\QueryBuilderAggregateTest::testSqliteQueryAverage";d:0.001;s:44:"Pecee\Pixie\QueryBuilder::testFalseBoolWhere";d:0.001;s:59:"Pecee\Pixie\QueryBuilder::testInsertQueryReturnsIdForInsert";d:0.002;s:65:"Pecee\Pixie\QueryBuilder::testInsertQueryReturnsIdForInsertIgnore";d:0.001;s:68:"Pecee\Pixie\QueryBuilder::testInsertQueryReturnsNullForIgnoredInsert";d:0;s:38:"Pecee\Pixie\QueryBuilder::testRawQuery";d:0.001;s:43:"Pecee\Pixie\QueryBuilder::testNullableWhere";d:0;s:42:"Pecee\Pixie\QueryBuilder::testWhereBetween";d:0;s:35:"Pecee\Pixie\QueryBuilder::testUnion";d:0;s:43:"Pecee\Pixie\QueryBuilder::testUnionSubQuery";d:0;s:44:"Pecee\Pixie\QueryBuilder::testQueryOverwrite";d:0;s:40:"Pecee\Pixie\QueryBuilder::testGetColumns";d:0;s:42:"Pecee\Pixie\QueryBuilder::testQueryPartFor";d:0;s:41:"Pecee\Pixie\QueryBuilder::testRemoveQuery";d:0;s:50:"Pecee\Pixie\TransactionTest::testTransactionResult";d:0.055;s:51:"Pecee\Pixie\TransactionTest::testNestedTransactions";d:0.066;s:58:"Pecee\Pixie\TransactionTest::testTransactionMultipleInsert";d:0.048;s:42:"Pecee\Pixie\TransactionTest::testLastQuery";d:0.045;s:47:"Pecee\Pixie\QueryBuilderTest::testRawExpression";d:0;s:56:"Pecee\Pixie\QueryBuilderTest::testRawStatementWithinJoin";d:0.001;}}}
1+
C:37:"PHPUnit\Runner\DefaultTestResultCache":4437:{a:2:{s:7:"defects";a:0:{}s:5:"times";a:66:{s:42:"Pecee\Pixie\ConnectionTest::testConnection";d:0.059;s:47:"Pecee\Pixie\ConnectionTest::testMultiConnection";d:0.001;s:57:"Pecee\Pixie\CustomExceptionsTest::testConnectionException";d:0.121;s:60:"Pecee\Pixie\CustomExceptionsTest::testTableNotFoundException";d:0.467;s:61:"Pecee\Pixie\CustomExceptionsTest::testColumnNotFoundException";d:0.053;s:61:"Pecee\Pixie\CustomExceptionsTest::testDuplicateEntryException";d:0.052;s:75:"Pecee\Pixie\CustomExceptionsTest::testQueryAggregateColumnNotFoundException";d:0.048;s:57:"Pecee\Pixie\CustomExceptionsTest::testForeignKeyException";d:0.044;s:54:"Pecee\Pixie\CustomExceptionsTest::testNotNullException";d:0.041;s:45:"Pecee\Pixie\NoTableSubQueryTest::testRawQuery";d:0.001;s:53:"Pecee\Pixie\QueryBuilderAggregateTest::testQueryCount";d:0.039;s:59:"Pecee\Pixie\QueryBuilderAggregateTest::testSqliteQueryCount";d:0.001;s:51:"Pecee\Pixie\QueryBuilderAggregateTest::testQuerySum";d:0.041;s:57:"Pecee\Pixie\QueryBuilderAggregateTest::testSqliteQuerySum";d:0.001;s:55:"Pecee\Pixie\QueryBuilderAggregateTest::testQueryAverage";d:0.039;s:61:"Pecee\Pixie\QueryBuilderAggregateTest::testSqliteQueryAverage";d:0.002;s:39:"Pecee\Pixie\QueryBuilderTest::testAlias";d:0.001;s:45:"Pecee\Pixie\QueryBuilderTest::testDeleteQuery";d:0.001;s:50:"Pecee\Pixie\QueryBuilderTest::testEventPropagation";d:0.001;s:51:"Pecee\Pixie\QueryBuilderTest::testInsertIgnoreQuery";d:0;s:65:"Pecee\Pixie\QueryBuilderTest::testInsertOnDuplicateKeyUpdateQuery";d:0;s:45:"Pecee\Pixie\QueryBuilderTest::testInsertQuery";d:0;s:70:"Pecee\Pixie\QueryBuilderTest::testIsPossibleToUseSubqueryInWhereClause";d:0;s:73:"Pecee\Pixie\QueryBuilderTest::testIsPossibleToUseSubqueryInWhereNotClause";d:0;s:52:"Pecee\Pixie\QueryBuilderTest::testOrderByFlexibility";d:0;s:61:"Pecee\Pixie\QueryBuilderTest::testRawStatementsWithinCriteria";d:0.001;s:61:"Pecee\Pixie\QueryBuilderTest::testRawStatementWithinStatement";d:0;s:58:"Pecee\Pixie\QueryBuilderTest::testRawStatementWithinSelect";d:0.001;s:56:"Pecee\Pixie\QueryBuilderTest::testRawStatementWithinJoin";d:0.001;s:47:"Pecee\Pixie\QueryBuilderTest::testRawExpression";d:0.001;s:46:"Pecee\Pixie\QueryBuilderTest::testReplaceQuery";d:0.001;s:47:"Pecee\Pixie\QueryBuilderTest::testSelectAliases";d:0.001;s:48:"Pecee\Pixie\QueryBuilderTest::testSelectDistinct";d:0;s:62:"Pecee\Pixie\QueryBuilderTest::testSelectDistinctAndSelectCalls";d:0;s:64:"Pecee\Pixie\QueryBuilderTest::testSelectDistinctWithSingleColumn";d:0;s:51:"Pecee\Pixie\QueryBuilderTest::testSelectFlexibility";d:0;s:45:"Pecee\Pixie\QueryBuilderTest::testSelectQuery";d:0.001;s:71:"Pecee\Pixie\QueryBuilderTest::testSelectQueryWithNestedCriteriaAndJoins";d:0.001;s:53:"Pecee\Pixie\QueryBuilderTest::testSelectQueryWithNull";d:0;s:55:"Pecee\Pixie\QueryBuilderTest::testSelectWithQueryEvents";d:0;s:52:"Pecee\Pixie\QueryBuilderTest::testStandaloneWhereNot";d:0;s:45:"Pecee\Pixie\QueryBuilderTest::testUpdateQuery";d:0;s:53:"Pecee\Pixie\QueryBuilderTest::testDeleteAdvancedQuery";d:0;s:53:"Pecee\Pixie\QueryBuilderTest::testUpdateAdvancedQuery";d:0;s:46:"Pecee\Pixie\QueryBuilderTest::testFromSubQuery";d:0;s:44:"Pecee\Pixie\QueryBuilderTest::testTableAlias";d:0;s:54:"Pecee\Pixie\QueryBuilderTest::testWhereNotNullSubQuery";d:0;s:43:"Pecee\Pixie\QueryBuilderTest::testJoinUsing";d:0;s:55:"Pecee\Pixie\QueryBuilderTest::testJoinQueryBuilderUsing";d:0;s:44:"Pecee\Pixie\QueryBuilder::testFalseBoolWhere";d:0;s:59:"Pecee\Pixie\QueryBuilder::testInsertQueryReturnsIdForInsert";d:0.001;s:65:"Pecee\Pixie\QueryBuilder::testInsertQueryReturnsIdForInsertIgnore";d:0;s:68:"Pecee\Pixie\QueryBuilder::testInsertQueryReturnsNullForIgnoredInsert";d:0;s:38:"Pecee\Pixie\QueryBuilder::testRawQuery";d:0;s:43:"Pecee\Pixie\QueryBuilder::testNullableWhere";d:0;s:42:"Pecee\Pixie\QueryBuilder::testWhereBetween";d:0;s:35:"Pecee\Pixie\QueryBuilder::testUnion";d:0;s:43:"Pecee\Pixie\QueryBuilder::testUnionSubQuery";d:0;s:44:"Pecee\Pixie\QueryBuilder::testQueryOverwrite";d:0.001;s:40:"Pecee\Pixie\QueryBuilder::testGetColumns";d:0.001;s:42:"Pecee\Pixie\QueryBuilder::testQueryPartFor";d:0;s:41:"Pecee\Pixie\QueryBuilder::testRemoveQuery";d:0.001;s:50:"Pecee\Pixie\TransactionTest::testTransactionResult";d:0.044;s:51:"Pecee\Pixie\TransactionTest::testNestedTransactions";d:0.049;s:58:"Pecee\Pixie\TransactionTest::testTransactionMultipleInsert";d:0.039;s:42:"Pecee\Pixie\TransactionTest::testLastQuery";d:0.041;}}}

src/Pecee/Pixie/QueryBuilder/Adapters/BaseAdapter.php

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -163,10 +163,6 @@ protected function buildCriteria(array $statements, bool $bindValues = true): ar
163163
}
164164
}
165165

166-
if ($statement['key'] instanceof Raw) {
167-
$bindings[] = $statement['key']->getBindings();
168-
}
169-
170166
$value = $statement['value'];
171167

172168
if ($value instanceof Raw) {
@@ -226,10 +222,15 @@ protected function buildCriteria(array $statements, bool $bindValues = true): ar
226222
// Usual where like criteria specially for joins - we are not binding values, lets sanitize then
227223
$value = ($bindValues === false) ? $this->wrapSanitizer($value) : $value;
228224
$criteria[] = "{$key} {$statement['operator']} $value";
225+
226+
if ($value instanceof Raw) {
227+
$bindings[] = $value->getBindings();
228+
}
229+
229230
continue;
230231
}
231232

232-
if ($statement['key'] instanceof Raw) {
233+
if ($key instanceof Raw) {
233234

234235
if ($statement['operator'] !== null) {
235236
$criteria[] = "{$key} {$statement['operator']} ?";
@@ -238,6 +239,7 @@ protected function buildCriteria(array $statements, bool $bindValues = true): ar
238239
}
239240

240241
$criteria[] = $key;
242+
$bindings[] = $key->getBindings();
241243
continue;
242244

243245
}

tests/TestCase.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,7 @@ public function getLiveConnection() {
116116
'host' => '127.0.0.1',
117117
'database' => 'test',
118118
'username' => 'root',
119-
'password' => 'root',
119+
'password' => '',
120120
'charset' => 'utf8mb4', // Optional
121121
'collation' => 'utf8mb4_unicode_ci', // Optional
122122
'prefix' => '', // Table prefix, optional

0 commit comments

Comments
 (0)