From 486077b2d4bc1c7d51f5cda7f75aca2630031a71 Mon Sep 17 00:00:00 2001 From: Dave Mc Nicoll Date: Wed, 13 Apr 2022 13:12:00 +0000 Subject: [PATCH] - Fixed the merge --- src/Adapter/AdapterInterface.php | 4 ++-- src/Adapter/MsSQL.php | 6 ++++++ src/Query/Join.php | 2 ++ src/Repository/MssqlRepository.php | 6 +++++- 4 files changed, 15 insertions(+), 3 deletions(-) diff --git a/src/Adapter/AdapterInterface.php b/src/Adapter/AdapterInterface.php index ff474ff..b1356fe 100644 --- a/src/Adapter/AdapterInterface.php +++ b/src/Adapter/AdapterInterface.php @@ -23,8 +23,8 @@ interface AdapterInterface { /* public function databaseName() : string; public function mapFieldType(FieldDefinition $field) : string; public function schemaTable(string $databaseName, string $tableName) /*: object|EntityCollection - +*/ public function repositoryClass() : string; public function queryBuilderClass() : string; - public function tableSyntax() : array; */ + public function tableSyntax() : array; } diff --git a/src/Adapter/MsSQL.php b/src/Adapter/MsSQL.php index aec1e80..879606e 100644 --- a/src/Adapter/MsSQL.php +++ b/src/Adapter/MsSQL.php @@ -229,4 +229,10 @@ class MsSQL implements AdapterInterface { { return null; } + + public function repositoryClass() : string + { + return Repository\MssqlRepository::class; + } + } diff --git a/src/Query/Join.php b/src/Query/Join.php index 85771f6..c5ccb11 100644 --- a/src/Query/Join.php +++ b/src/Query/Join.php @@ -39,6 +39,8 @@ class Join extends Fragment public int $order = 40; + public const ORDER_VALUE = 0; + public int $joinOrder = 0; public function __construct(QueryBuilderInterface $queryBuilder) diff --git a/src/Repository/MssqlRepository.php b/src/Repository/MssqlRepository.php index 92239f1..ed388e7 100644 --- a/src/Repository/MssqlRepository.php +++ b/src/Repository/MssqlRepository.php @@ -43,7 +43,7 @@ class MssqlRepository extends Repository { protected function finalizeQuery() : void { - if ( null !== $offset = $this->queryBuilder->getFragment(Query\MsSQL\Offset::class) ) { + if ( null !== $offset = $this->queryBuilder->getFragment(Query\Offset::class) ) { # an order by is mandatory for mssql offset/limit if ( null === $order = $this->queryBuilder->getFragment(Query\OrderBy::class) ) { $this->orderBy("(SELECT 0)"); @@ -62,6 +62,10 @@ class MssqlRepository extends Repository { throw new \Exception("Your offset query fragment is missing a LIMIT value."); } } + + if ( null !== $limit = $this->queryBuilder->getFragment(Query\Limit::class) ) { + $this->queryBuilder->removeFragment($limit); + } } protected function serverRequestCountRepository() : Repository