66use Utopia \Query \AST \Serializer \PostgreSQL as PostgreSQLSerializer ;
77use Utopia \Query \Builder \Feature \ConditionalAggregates ;
88use Utopia \Query \Builder \Feature \FullOuterJoins ;
9+ use Utopia \Query \Builder \Feature \FullTextSearch ;
910use Utopia \Query \Builder \Feature \GroupByModifiers ;
11+ use Utopia \Query \Builder \Feature \InsertOrIgnore ;
1012use Utopia \Query \Builder \Feature \Json ;
1113use Utopia \Query \Builder \Feature \LateralJoins ;
1214use Utopia \Query \Builder \Feature \PostgreSQL \AggregateFilter ;
1719use Utopia \Query \Builder \Feature \PostgreSQL \Returning ;
1820use Utopia \Query \Builder \Feature \PostgreSQL \VectorSearch ;
1921use Utopia \Query \Builder \Feature \Sequences ;
22+ use Utopia \Query \Builder \Feature \Spatial ;
2023use Utopia \Query \Builder \Feature \StringAggregates ;
2124use Utopia \Query \Builder \Feature \TableSampling ;
25+ use Utopia \Query \Builder \Feature \Upsert ;
26+ use Utopia \Query \Builder \Feature \UpsertSelect ;
2227use Utopia \Query \Builder \PostgreSQL \DeleteUsing ;
2328use Utopia \Query \Builder \PostgreSQL \MergeTarget ;
2429use Utopia \Query \Builder \PostgreSQL \UpdateFrom ;
2732use Utopia \Query \Query ;
2833use Utopia \Query \Schema \ColumnType ;
2934
30- class PostgreSQL extends SQL implements VectorSearch, Json, Returning, LockingOf, ConditionalAggregates, Merge, LateralJoins, TableSampling, FullOuterJoins, StringAggregates, OrderedSetAggregates, DistinctOn, AggregateFilter, GroupByModifiers, Sequences
35+ class PostgreSQL extends SQL implements
36+ VectorSearch,
37+ Json,
38+ Returning,
39+ LockingOf,
40+ ConditionalAggregates,
41+ Merge,
42+ LateralJoins,
43+ TableSampling,
44+ FullOuterJoins,
45+ StringAggregates,
46+ OrderedSetAggregates,
47+ DistinctOn,
48+ AggregateFilter,
49+ GroupByModifiers,
50+ Sequences,
51+ Spatial,
52+ FullTextSearch,
53+ Upsert,
54+ UpsertSelect,
55+ InsertOrIgnore
3156{
3257 use Trait \FullOuterJoins;
58+ use Trait \FullTextSearch;
3359 use Trait \GroupByModifiers;
3460 use Trait \LateralJoins;
3561 use Trait \PostgreSQL \AggregateFilter;
@@ -40,7 +66,14 @@ class PostgreSQL extends SQL implements VectorSearch, Json, Returning, LockingOf
4066 use Trait \PostgreSQL \Sequences;
4167 use Trait \PostgreSQL \VectorSearch;
4268 use Trait \Returning;
69+ use Trait \Spatial;
4370 use Trait \StringAggregates;
71+ use Trait \Upsert {
72+ upsert as private baseUpsert;
73+ }
74+ use Trait \UpsertSelect {
75+ upsertSelect as private baseUpsertSelect;
76+ }
4477
4578 protected string $ wrapChar = '" ' ;
4679
@@ -337,20 +370,14 @@ private function mergeIntoWhereClause(array &$parts, array $extra): void
337370 $ parts [] = 'WHERE ' . \implode (' AND ' , $ extra );
338371 }
339372
340- #[\Override]
341373 public function upsert (): Statement
342374 {
343- $ result = parent ::upsert ();
344-
345- return $ this ->appendReturning ($ result );
375+ return $ this ->appendReturning ($ this ->baseUpsert ());
346376 }
347377
348- #[\Override]
349378 public function upsertSelect (): Statement
350379 {
351- $ result = parent ::upsertSelect ();
352-
353- return $ this ->appendReturning ($ result );
380+ return $ this ->appendReturning ($ this ->baseUpsertSelect ());
354381 }
355382
356383 #[\Override]
0 commit comments