@@ -1301,7 +1301,7 @@ public function getSequences(string $collection, array $documents): array
13011301
13021302 // Continue fetching with getMore
13031303 while ($ cursorId && $ cursorId !== 0 ) {
1304- $ moreResponse = $ this ->client ->getMore ($ cursorId , $ name , self ::DEFAULT_BATCH_SIZE );
1304+ $ moreResponse = $ this ->client ->getMore (( int ) $ cursorId , $ name , self ::DEFAULT_BATCH_SIZE );
13051305 $ moreResults = $ moreResponse ->cursor ->nextBatch ?? [];
13061306
13071307 if (empty ($ moreResults )) {
@@ -1313,7 +1313,7 @@ public function getSequences(string $collection, array $documents): array
13131313 }
13141314
13151315 // Update cursor ID for next iteration
1316- $ cursorId = $ moreResponse ->cursor ->id ?? null ;
1316+ $ cursorId = ( int )( $ moreResponse ->cursor ->id ?? 0 ) ;
13171317 }
13181318 } catch (MongoException $ e ) {
13191319 throw $ this ->processException ($ e );
@@ -1612,7 +1612,6 @@ public function find(Document $collection, array $queries = [], ?int $limit = 25
16121612
16131613 $ response = $ this ->client ->find ($ name , $ filters , $ options );
16141614 $ results = $ response ->cursor ->firstBatch ?? [];
1615-
16161615 // Process first batch
16171616 foreach ($ results as $ result ) {
16181617 $ record = $ this ->replaceChars ('_ ' , '$ ' , (array )$ result );
@@ -1629,7 +1628,7 @@ public function find(Document $collection, array $queries = [], ?int $limit = 25
16291628 break ;
16301629 }
16311630
1632- $ moreResponse = $ this ->client ->getMore ($ cursorId , $ name , self ::DEFAULT_BATCH_SIZE );
1631+ $ moreResponse = $ this ->client ->getMore (( int ) $ cursorId , $ name , self ::DEFAULT_BATCH_SIZE );
16331632 $ moreResults = $ moreResponse ->cursor ->nextBatch ?? [];
16341633
16351634 if (empty ($ moreResults )) {
@@ -1646,7 +1645,7 @@ public function find(Document $collection, array $queries = [], ?int $limit = 25
16461645 }
16471646 }
16481647
1649- $ cursorId = $ moreResponse ->cursor ->id ?? 0 ;
1648+ $ cursorId = ( int )( $ moreResponse ->cursor ->id ?? 0 ) ;
16501649 }
16511650
16521651 } catch (MongoException $ e ) {
@@ -2264,7 +2263,7 @@ public function getSupportForFulltextWildcardIndex(): bool
22642263 */
22652264 public function getSupportForQueryContains (): bool
22662265 {
2267- return false ;
2266+ return true ;
22682267 }
22692268
22702269 /**
@@ -2553,7 +2552,6 @@ public function getKeywords(): array
25532552
25542553 protected function processException (Exception $ e ): \Exception
25552554 {
2556-
25572555 // Timeout
25582556 if ($ e ->getCode () === 50 ) {
25592557 return new Timeout ('Query timed out ' , $ e ->getCode (), $ e );
@@ -2660,4 +2658,45 @@ public function getTenantFilters(
26602658
26612659 return ['$in ' => $ values ];
26622660 }
2661+
2662+ public function decodePoint (string $ wkb ): array
2663+ {
2664+ return [];
2665+ }
2666+
2667+ /**
2668+ * Decode a WKB or textual LINESTRING into [[x1, y1], [x2, y2], ...]
2669+ *
2670+ * @param string $wkb
2671+ * @return float[][] Array of points, each as [x, y]
2672+ */
2673+ public function decodeLinestring (string $ wkb ): array
2674+ {
2675+ return [];
2676+ }
2677+
2678+ /**
2679+ * Decode a WKB or textual POLYGON into [[[x1, y1], [x2, y2], ...], ...]
2680+ *
2681+ * @param string $wkb
2682+ * @return float[][][] Array of rings, each ring is an array of points [x, y]
2683+ */
2684+ public function decodePolygon (string $ wkb ): array
2685+ {
2686+ return [];
2687+ }
2688+
2689+ /**
2690+ * Get the query to check for tenant when in shared tables mode
2691+ *
2692+ * @param string $collection The collection being queried
2693+ * @param string $alias The alias of the parent collection if in a subquery
2694+ * @return string
2695+ */
2696+ public function getTenantQuery (string $ collection , string $ alias = '' ): string
2697+ {
2698+ return '' ;
2699+ }
2700+
2701+
26632702}
0 commit comments