From cc7778ceeacee8fefaea533dffa965b04ad8cbd4 Mon Sep 17 00:00:00 2001 From: shimon Date: Tue, 16 Sep 2025 11:10:06 +0300 Subject: [PATCH 1/2] database lib check --- composer.json | 2 +- composer.lock | 69 ++++++++++++++++++++++++--------------------------- 2 files changed, 34 insertions(+), 37 deletions(-) diff --git a/composer.json b/composer.json index e3558172ae..0913df6837 100644 --- a/composer.json +++ b/composer.json @@ -54,7 +54,7 @@ "utopia-php/cache": "0.13.*", "utopia-php/cli": "0.15.*", "utopia-php/config": "0.2.*", - "utopia-php/database": "dev-feat-mongo-tmp-pulls as 1.4.6", + "utopia-php/database": "dev-feat-mongo-inversion as 1.4.6", "utopia-php/detector": "0.1.*", "utopia-php/domains": "0.8.*", "utopia-php/dns": "0.3.*", diff --git a/composer.lock b/composer.lock index a35a21ee89..7592b67b66 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "ce433cef8711249299b58cc36419d912", + "content-hash": "2ec42bed201e0776b486e66445279e9e", "packages": [ { "name": "adhocore/jwt", @@ -756,24 +756,21 @@ }, { "name": "google/protobuf", - "version": "v4.32.0", + "version": "v4.32.1", "source": { "type": "git", "url": "https://github.com/protocolbuffers/protobuf-php.git", - "reference": "9a9a92ecbe9c671dc1863f6d4a91ea3ea12c8646" + "reference": "c4ed1c1f9bbc1e91766e2cd6c0af749324fe87cb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/protocolbuffers/protobuf-php/zipball/9a9a92ecbe9c671dc1863f6d4a91ea3ea12c8646", - "reference": "9a9a92ecbe9c671dc1863f6d4a91ea3ea12c8646", + "url": "https://api.github.com/repos/protocolbuffers/protobuf-php/zipball/c4ed1c1f9bbc1e91766e2cd6c0af749324fe87cb", + "reference": "c4ed1c1f9bbc1e91766e2cd6c0af749324fe87cb", "shasum": "" }, "require": { "php": ">=8.1.0" }, - "provide": { - "ext-protobuf": "*" - }, "require-dev": { "phpunit/phpunit": ">=5.0.0 <8.5.27" }, @@ -797,9 +794,9 @@ "proto" ], "support": { - "source": "https://github.com/protocolbuffers/protobuf-php/tree/v4.32.0" + "source": "https://github.com/protocolbuffers/protobuf-php/tree/v4.32.1" }, - "time": "2025-08-14T20:00:33+00:00" + "time": "2025-09-14T05:14:52+00:00" }, { "name": "league/csv", @@ -3795,16 +3792,16 @@ }, { "name": "utopia-php/database", - "version": "dev-feat-mongo-tmp-pulls", + "version": "dev-feat-mongo-inversion", "source": { "type": "git", "url": "https://github.com/utopia-php/database.git", - "reference": "c967e720efb4b5ad6f14b8313c85faac3d7bdb16" + "reference": "e1ef8b5880922c00cb65a37e6e78affc55159517" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/utopia-php/database/zipball/c967e720efb4b5ad6f14b8313c85faac3d7bdb16", - "reference": "c967e720efb4b5ad6f14b8313c85faac3d7bdb16", + "url": "https://api.github.com/repos/utopia-php/database/zipball/e1ef8b5880922c00cb65a37e6e78affc55159517", + "reference": "e1ef8b5880922c00cb65a37e6e78affc55159517", "shasum": "" }, "require": { @@ -3813,7 +3810,7 @@ "php": ">=8.1", "utopia-php/cache": "0.13.*", "utopia-php/framework": "0.33.*", - "utopia-php/mongo": "dev-feat-create-UUID as 0.5.3", + "utopia-php/mongo": "0.6.0", "utopia-php/pools": "0.8.*" }, "require-dev": { @@ -3846,9 +3843,9 @@ ], "support": { "issues": "https://github.com/utopia-php/database/issues", - "source": "https://github.com/utopia-php/database/tree/feat-mongo-tmp-pulls" + "source": "https://github.com/utopia-php/database/tree/feat-mongo-inversion" }, - "time": "2025-09-11T09:50:34+00:00" + "time": "2025-09-15T14:22:17+00:00" }, { "name": "utopia-php/detector", @@ -4404,16 +4401,16 @@ }, { "name": "utopia-php/mongo", - "version": "dev-feat-create-UUID", + "version": "0.6.0", "source": { "type": "git", "url": "https://github.com/utopia-php/mongo.git", - "reference": "682c2e0b8474acfca1953eaca321f6f9bb0245f0" + "reference": "589e329a7fe4200e23ca87d65f3eb25a70ef0505" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/utopia-php/mongo/zipball/682c2e0b8474acfca1953eaca321f6f9bb0245f0", - "reference": "682c2e0b8474acfca1953eaca321f6f9bb0245f0", + "url": "https://api.github.com/repos/utopia-php/mongo/zipball/589e329a7fe4200e23ca87d65f3eb25a70ef0505", + "reference": "589e329a7fe4200e23ca87d65f3eb25a70ef0505", "shasum": "" }, "require": { @@ -4459,9 +4456,9 @@ ], "support": { "issues": "https://github.com/utopia-php/mongo/issues", - "source": "https://github.com/utopia-php/mongo/tree/feat-create-UUID" + "source": "https://github.com/utopia-php/mongo/tree/0.6.0" }, - "time": "2025-09-11T10:51:49+00:00" + "time": "2025-09-11T13:26:21+00:00" }, { "name": "utopia-php/orchestration", @@ -4670,16 +4667,16 @@ }, { "name": "utopia-php/queue", - "version": "0.11.0", + "version": "0.11.1", "source": { "type": "git", "url": "https://github.com/utopia-php/queue.git", - "reference": "06b5ced0eaed2ecc6aab6d8e1b4d96bff37a1ce5" + "reference": "498bbbef418b1db71b51e1bb62f5d1d752ddd8d6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/utopia-php/queue/zipball/06b5ced0eaed2ecc6aab6d8e1b4d96bff37a1ce5", - "reference": "06b5ced0eaed2ecc6aab6d8e1b4d96bff37a1ce5", + "url": "https://api.github.com/repos/utopia-php/queue/zipball/498bbbef418b1db71b51e1bb62f5d1d752ddd8d6", + "reference": "498bbbef418b1db71b51e1bb62f5d1d752ddd8d6", "shasum": "" }, "require": { @@ -4730,9 +4727,9 @@ ], "support": { "issues": "https://github.com/utopia-php/queue/issues", - "source": "https://github.com/utopia-php/queue/tree/0.11.0" + "source": "https://github.com/utopia-php/queue/tree/0.11.1" }, - "time": "2025-05-30T09:52:38+00:00" + "time": "2025-05-30T11:50:34+00:00" }, { "name": "utopia-php/registry", @@ -6455,16 +6452,16 @@ }, { "name": "phpunit/phpunit", - "version": "9.6.26", + "version": "9.6.27", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "a0139ea157533454f611038326f3020b3051f129" + "reference": "0a9aa4440b6a9528cf360071502628d717af3e0a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/a0139ea157533454f611038326f3020b3051f129", - "reference": "a0139ea157533454f611038326f3020b3051f129", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/0a9aa4440b6a9528cf360071502628d717af3e0a", + "reference": "0a9aa4440b6a9528cf360071502628d717af3e0a", "shasum": "" }, "require": { @@ -6538,7 +6535,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/phpunit/issues", "security": "https://github.com/sebastianbergmann/phpunit/security/policy", - "source": "https://github.com/sebastianbergmann/phpunit/tree/9.6.26" + "source": "https://github.com/sebastianbergmann/phpunit/tree/9.6.27" }, "funding": [ { @@ -6562,7 +6559,7 @@ "type": "tidelift" } ], - "time": "2025-09-11T06:17:45+00:00" + "time": "2025-09-14T06:18:03+00:00" }, { "name": "psr/cache", @@ -8732,7 +8729,7 @@ "aliases": [ { "package": "utopia-php/database", - "version": "dev-feat-mongo-tmp-pulls", + "version": "dev-feat-mongo-inversion", "alias": "1.4.6", "alias_normalized": "1.4.6.0" } From 5f8dc9998cd4ee4a6ad585e6a9c4067f5597a38a Mon Sep 17 00:00:00 2001 From: shimon Date: Tue, 16 Sep 2025 17:39:41 +0300 Subject: [PATCH 2/2] Refactor database document handling by replacing createOrUpdateDocuments with upsertDocuments in multiple classes. Clean up common.php by removing commented-out index definitions and ensuring proper indexing for MongoDB compatibility. Update UsageTest to correct API endpoint paths for database operations. --- app/config/collections/common.php | 43 +++----------- .../Collections/Documents/Bulk/Upsert.php | 2 +- .../Collections/Documents/Upsert.php | 2 +- .../Platform/Workers/StatsResources.php | 2 +- src/Appwrite/Platform/Workers/StatsUsage.php | 4 +- tests/e2e/General/UsageTest.php | 15 +++-- .../Databases/Legacy/DatabasesBase.php | 57 +++++++++++++++++++ .../Legacy/DatabasesCustomServerTest.php | 8 +++ 8 files changed, 85 insertions(+), 48 deletions(-) diff --git a/app/config/collections/common.php b/app/config/collections/common.php index 2c80ba9ec7..e6ebfe643b 100644 --- a/app/config/collections/common.php +++ b/app/config/collections/common.php @@ -1540,15 +1540,6 @@ return [ ], ], 'indexes' => [ - // Mongodb do not allow two fulltext indexes on the same field in a single collection - // https://www.mongodb.com/docs/manual/core/indexes/index-types/index-text/text-index-restrictions/ - // [ - // '$id' => ID::custom('_fulltext_name'), - // 'type' => Database::INDEX_FULLTEXT, - // 'attributes' => ['name'], - // 'lengths' => [], - // 'orders' => [], - // ], [ '$id' => ID::custom('_key_search'), 'type' => Database::INDEX_FULLTEXT, @@ -1563,14 +1554,13 @@ return [ 'lengths' => [], 'orders' => [Database::ORDER_ASC], ], - // Mongodb do not allow two indexes on the same field in a single collection - // [ - // '$id' => ID::custom('_key_name'), - // 'type' => Database::INDEX_KEY, - // 'attributes' => ['name'], - // 'lengths' => [], - // 'orders' => [Database::ORDER_ASC], - // ], + [ + '$id' => ID::custom('_key_name'), + 'type' => Database::INDEX_KEY, + 'attributes' => ['name'], + 'lengths' => [], + 'orders' => [Database::ORDER_ASC], + ], [ '$id' => ID::custom('_key_fileSecurity'), 'type' => Database::INDEX_KEY, @@ -1779,15 +1769,6 @@ return [ 'lengths' => [], 'orders' => [Database::ORDER_ASC], ], - // Mongodb do not allow two fulltext indexes on the same field in a single collection - // https://www.mongodb.com/docs/manual/core/indexes/index-types/index-text/text-index-restrictions/ - // [ - // '$id' => ID::custom('_key_name'), - // 'type' => Database::INDEX_FULLTEXT, - // 'attributes' => ['name'], - // 'lengths' => [], - // 'orders' => [Database::ORDER_ASC], - // ], [ '$id' => ID::custom('_key_type'), 'type' => Database::INDEX_KEY, @@ -2055,16 +2036,8 @@ return [ 'filters' => ['topicSearch'], ], ], - // Mongodb do not allow two fulltext indexes on the same field in a single collection - // https://www.mongodb.com/docs/manual/core/indexes/index-types/index-text/text-index-restrictions/ + 'indexes' => [ - // [ - // '$id' => ID::custom('_key_name'), - // 'type' => Database::INDEX_FULLTEXT, - // 'attributes' => ['name'], - // 'lengths' => [], - // 'orders' => [], - // ], [ '$id' => ID::custom('_key_search'), 'type' => Database::INDEX_FULLTEXT, diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Bulk/Upsert.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Bulk/Upsert.php index 395e3d757b..253d7dab3b 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Bulk/Upsert.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Bulk/Upsert.php @@ -113,7 +113,7 @@ class Upsert extends Action try { $modified = $dbForProject->withPreserveDates(function () use ($dbForProject, $database, $collection, $documents, $plan, &$upserted) { - return $dbForProject->createOrUpdateDocuments( + return $dbForProject->upsertDocuments( 'database_' . $database->getSequence() . '_collection_' . $collection->getSequence(), $documents, onNext: function (Document $document) use ($plan, &$upserted) { diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Upsert.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Upsert.php index 54b1cad950..9aa138b31d 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Upsert.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Upsert.php @@ -243,7 +243,7 @@ class Upsert extends Action $upserted = []; try { $dbForProject->withPreserveDates(function () use (&$upserted, $dbForProject, $database, $collection, $newDocument) { - return $dbForProject->createOrUpdateDocuments( + return $dbForProject->upsertDocuments( 'database_' . $database->getSequence() . '_collection_' . $collection->getSequence(), [$newDocument], onNext: function (Document $document) use (&$upserted) { diff --git a/src/Appwrite/Platform/Workers/StatsResources.php b/src/Appwrite/Platform/Workers/StatsResources.php index da8c086bf4..1cd866e9a9 100644 --- a/src/Appwrite/Platform/Workers/StatsResources.php +++ b/src/Appwrite/Platform/Workers/StatsResources.php @@ -435,7 +435,7 @@ class StatsResources extends Action $message = 'Stats writeDocuments project: ' . $project->getId() . '(' . $project->getSequence() . ')'; try { - $dbForLogs->createOrUpdateDocuments( + $dbForLogs->upsertDocuments( 'stats', $this->documents ); diff --git a/src/Appwrite/Platform/Workers/StatsUsage.php b/src/Appwrite/Platform/Workers/StatsUsage.php index 3610381d5a..3a615072df 100644 --- a/src/Appwrite/Platform/Workers/StatsUsage.php +++ b/src/Appwrite/Platform/Workers/StatsUsage.php @@ -424,7 +424,7 @@ class StatsUsage extends Action try { $dbForProject = $getProjectDB($projectStats['project']); Console::log('Processing batch with ' . count($projectStats['stats']) . ' stats'); - $dbForProject->createOrUpdateDocumentsWithIncrease('stats', 'value', $projectStats['stats']); + $dbForProject->upsertDocumentsWithIncrease('stats', 'value', $projectStats['stats']); Console::success('Batch successfully written to DB'); unset($this->projects[$sequence]); @@ -468,7 +468,7 @@ class StatsUsage extends Action try { Console::log('Processing batch with ' . count($this->statDocuments) . ' stats'); - $dbForLogs->createOrUpdateDocumentsWithIncrease( + $dbForLogs->upsertDocumentsWithIncrease( 'stats', 'value', $this->statDocuments diff --git a/tests/e2e/General/UsageTest.php b/tests/e2e/General/UsageTest.php index 290865b809..b5800eac37 100644 --- a/tests/e2e/General/UsageTest.php +++ b/tests/e2e/General/UsageTest.php @@ -3,7 +3,6 @@ namespace Tests\E2E\General; use Appwrite\Platform\Modules\Compute\Specification; -use Appwrite\Tests\Retry; use CURLFile; use DateTime; use Tests\E2E\Client; @@ -714,7 +713,7 @@ class UsageTest extends Scope $response = $this->client->call( Client::METHOD_POST, - '/tablesdb/' . $databaseId . '/tables', + '/databases/' . $databaseId . '/tables', array_merge([ 'content-type' => 'application/json', 'x-appwrite-project' => $this->getProject()['$id'] @@ -743,7 +742,7 @@ class UsageTest extends Scope if ($i < (self::CREATE / 2)) { $response = $this->client->call( Client::METHOD_DELETE, - '/tablesdb/' . $databaseId . '/tables/' . $tableId, + '/databases/' . $databaseId . '/tables/' . $tableId, array_merge([ 'x-appwrite-project' => $this->getProject()['$id'] ], $this->getHeaders()), @@ -758,7 +757,7 @@ class UsageTest extends Scope $response = $this->client->call( Client::METHOD_POST, - '/tablesdb/' . $databaseId . '/tables/' . $tableId . '/columns' . '/string', + '/databases/' . $databaseId . '/tables/' . $tableId . '/columns' . '/string', array_merge([ 'content-type' => 'application/json', 'x-appwrite-project' => $this->getProject()['$id'] @@ -781,7 +780,7 @@ class UsageTest extends Scope $response = $this->client->call( Client::METHOD_POST, - '/tablesdb/' . $databaseId . '/tables/' . $tableId . '/rows', + '/databases/' . $databaseId . '/tables/' . $tableId . '/rows', array_merge([ 'content-type' => 'application/json', 'x-appwrite-project' => $this->getProject()['$id'] @@ -803,7 +802,7 @@ class UsageTest extends Scope if ($i < (self::CREATE / 2)) { $response = $this->client->call( Client::METHOD_DELETE, - '/tablesdb/' . $databaseId . '/tables/' . $tableId . '/rows/' . $rowId, + '/databases/' . $databaseId . '/tables/' . $tableId . '/rows/' . $rowId, array_merge([ 'x-appwrite-project' => $this->getProject()['$id'] ], $this->getHeaders()), @@ -899,7 +898,7 @@ class UsageTest extends Scope $response = $this->client->call( Client::METHOD_GET, - '/tablesdb/' . $databaseId . '/tables/' . $tableId . '/usage?range=30d', + '/databases/' . $databaseId . '/tables/' . $tableId . '/usage?range=30d', $this->getConsoleHeaders() ); @@ -1291,7 +1290,7 @@ class UsageTest extends Scope 'x-appwrite-project' => $this->getProject()['$id'], ], $this->getHeaders()), [ - 'domain' => 'test-' . ID::unique() . '.' . System::getEnv('_APP_DOMAIN_FUNCTIONS'), + 'domain' => 'test-' . ID::unique() . System::getEnv('_APP_DOMAIN_FUNCTIONS'), 'functionId' => $functionId, ], ); diff --git a/tests/e2e/Services/Databases/Legacy/DatabasesBase.php b/tests/e2e/Services/Databases/Legacy/DatabasesBase.php index 1fc05915f1..1dd4a4068c 100644 --- a/tests/e2e/Services/Databases/Legacy/DatabasesBase.php +++ b/tests/e2e/Services/Databases/Legacy/DatabasesBase.php @@ -5909,6 +5909,11 @@ trait DatabasesBase public function testSpatialPointAttributes(): void { + + if($this->isMongoDB()) { + $this->markTestSkipped('MongoDB is not supported for this test'); + } + $database = $this->client->call(Client::METHOD_POST, '/databases', [ 'content-type' => 'application/json', 'x-appwrite-project' => $this->getProject()['$id'], @@ -6047,6 +6052,11 @@ trait DatabasesBase public function testSpatialLineAttributes(): void { + + if($this->isMongoDB()) { + $this->markTestSkipped('MongoDB is not supported for this test'); + } + $database = $this->client->call(Client::METHOD_POST, '/databases', [ 'content-type' => 'application/json', 'x-appwrite-project' => $this->getProject()['$id'], @@ -6184,6 +6194,11 @@ trait DatabasesBase public function testSpatialPolygonAttributes(): void { + + if($this->isMongoDB()) { + $this->markTestSkipped('MongoDB is not supported for this test'); + } + $database = $this->client->call(Client::METHOD_POST, '/databases', [ 'content-type' => 'application/json', 'x-appwrite-project' => $this->getProject()['$id'], @@ -6319,6 +6334,11 @@ trait DatabasesBase public function testSpatialAttributesMixedCollection(): void { + + if($this->isMongoDB()) { + $this->markTestSkipped('MongoDB is not supported for this test'); + } + $database = $this->client->call(Client::METHOD_POST, '/databases', [ 'content-type' => 'application/json', 'x-appwrite-project' => $this->getProject()['$id'], @@ -6473,6 +6493,11 @@ trait DatabasesBase public function testUpdateSpatialAttributes(): void { + + if($this->isMongoDB()) { + $this->markTestSkipped('MongoDB is not supported for this test'); + } + $database = $this->client->call(Client::METHOD_POST, '/databases', [ 'content-type' => 'application/json', 'x-appwrite-project' => $this->getProject()['$id'], @@ -6632,6 +6657,11 @@ trait DatabasesBase public function testSpatialQuery(): void { + + if($this->isMongoDB()) { + $this->markTestSkipped('MongoDB is not supported for this test'); + } + $database = $this->client->call(Client::METHOD_POST, '/databases', [ 'content-type' => 'application/json', 'x-appwrite-project' => $this->getProject()['$id'], @@ -7042,6 +7072,10 @@ trait DatabasesBase public function testSpatialRelationshipOneToOne(): void { + if($this->isMongoDB()) { + $this->markTestSkipped('MongoDB is not supported for this test'); + } + $database = $this->client->call(Client::METHOD_POST, '/databases', [ 'content-type' => 'application/json', 'x-appwrite-project' => $this->getProject()['$id'], @@ -7180,6 +7214,10 @@ trait DatabasesBase public function testSpatialRelationshipOneToMany(): void { + if($this->isMongoDB()) { + $this->markTestSkipped('MongoDB is not supported for this test'); + } + $database = $this->client->call(Client::METHOD_POST, '/databases', [ 'content-type' => 'application/json', 'x-appwrite-project' => $this->getProject()['$id'], @@ -7314,6 +7352,11 @@ trait DatabasesBase public function testSpatialRelationshipManyToOne(): void { + + if($this->isMongoDB()) { + $this->markTestSkipped('MongoDB is not supported for this test'); + } + $database = $this->client->call(Client::METHOD_POST, '/databases', [ 'content-type' => 'application/json', 'x-appwrite-project' => $this->getProject()['$id'], @@ -7439,6 +7482,10 @@ trait DatabasesBase public function testSpatialRelationshipManyToMany(): void { + if($this->isMongoDB()) { + $this->markTestSkipped('MongoDB is not supported for this test'); + } + $database = $this->client->call(Client::METHOD_POST, '/databases', [ 'content-type' => 'application/json', 'x-appwrite-project' => $this->getProject()['$id'], @@ -7564,6 +7611,11 @@ trait DatabasesBase public function testSpatialIndex(): void { + + if($this->isMongoDB()) { + $this->markTestSkipped('MongoDB is not supported for this test'); + } + $database = $this->client->call(Client::METHOD_POST, '/databases', [ 'content-type' => 'application/json', 'x-appwrite-project' => $this->getProject()['$id'], @@ -7674,6 +7726,11 @@ trait DatabasesBase public function testSpatialDistanceInMeter(): void { + + if($this->isMongoDB()) { + $this->markTestSkipped('MongoDB is not supported for this test'); + } + $database = $this->client->call(Client::METHOD_POST, '/databases', [ 'content-type' => 'application/json', 'x-appwrite-project' => $this->getProject()['$id'], diff --git a/tests/e2e/Services/Databases/Legacy/DatabasesCustomServerTest.php b/tests/e2e/Services/Databases/Legacy/DatabasesCustomServerTest.php index a4ad6f33df..fee7990d16 100644 --- a/tests/e2e/Services/Databases/Legacy/DatabasesCustomServerTest.php +++ b/tests/e2e/Services/Databases/Legacy/DatabasesCustomServerTest.php @@ -6203,6 +6203,10 @@ class DatabasesCustomServerTest extends Scope public function testSpatialBulkOperations(): void { + if($this->isMongoDB()) { + $this->markTestSkipped('MongoDB is not supported for this test'); + } + // Create database $database = $this->client->call(Client::METHOD_POST, '/databases', [ 'content-type' => 'application/json', @@ -6604,6 +6608,10 @@ class DatabasesCustomServerTest extends Scope public function testSpatialBulkOperationsWithLineStrings(): void { + if($this->isMongoDB()) { + $this->markTestSkipped('MongoDB is not supported for this test'); + } + // Create database $database = $this->client->call(Client::METHOD_POST, '/databases', [ 'content-type' => 'application/json',