@@ -16569,6 +16569,53 @@ public function testSharedTablesDuplicates(): void
1656916569 ->setDatabase($schema);
1657016570 }
1657116571
16572+ public function testSharedTablesUpdateTenant(): void
16573+ {
16574+ $database = static::getDatabase();
16575+ $sharedTables = $database->getSharedTables();
16576+ $namespace = $database->getNamespace();
16577+ $schema = $database->getDatabase();
16578+
16579+ if (!$database->getAdapter()->getSupportForSchemas()) {
16580+ $this->expectNotToPerformAssertions();
16581+ return;
16582+ }
16583+
16584+ if ($database->exists('sharedTables')) {
16585+ $database->setDatabase('sharedTables')->delete();
16586+ }
16587+
16588+ $database
16589+ ->setDatabase('sharedTables')
16590+ ->setNamespace('')
16591+ ->setSharedTables(true)
16592+ ->setTenant(null)
16593+ ->create();
16594+
16595+ // Create collection
16596+ $database->createCollection(__FUNCTION__, documentSecurity: false);
16597+
16598+ $database
16599+ ->setTenant(1)
16600+ ->updateDocument(Database::METADATA, __FUNCTION__, new Document([
16601+ '$id' => __FUNCTION__,
16602+ 'name' => 'Scooby Doo',
16603+ ]));
16604+
16605+ // Ensure tenant was not swapped
16606+ $doc = $database
16607+ ->setTenant(null)
16608+ ->getDocument(Database::METADATA, __FUNCTION__);
16609+
16610+ $this->assertEquals('Scooby Doo', $doc['name']);
16611+
16612+ // Reset state
16613+ $database
16614+ ->setSharedTables($sharedTables)
16615+ ->setNamespace($namespace)
16616+ ->setDatabase($schema);
16617+ }
16618+
1657216619 public function testSharedTablesTenantPerDocument(): void
1657316620 {
1657416621 $database = static::getDatabase();
0 commit comments