function TemporaryQueryTest::testTemporaryQuery
Confirms that temporary tables work.
Overrides TemporaryQueryTestBase::testTemporaryQuery
File
- 
              core/modules/ sqlite/ tests/ src/ Kernel/ sqlite/ TemporaryQueryTest.php, line 19 
Class
- TemporaryQueryTest
- Tests the temporary query functionality.
Namespace
Drupal\Tests\sqlite\Kernel\sqliteCode
public function testTemporaryQuery() : void {
  parent::testTemporaryQuery();
  $connection = $this->getConnection();
  $table_name_test = $connection->queryTemporary('SELECT [name] FROM {test}', []);
  // Assert that the table is indeed a temporary one.
  $this->assertStringContainsString("temp.", $table_name_test);
  // Assert that both have the same field names.
  $normal_table_fields = $connection->query("SELECT * FROM {test}")
    ->fetch();
  $temp_table_name = $connection->queryTemporary('SELECT * FROM {test}');
  $temp_table_fields = $connection->query("SELECT * FROM {$temp_table_name}")
    ->fetch();
  $normal_table_fields = array_keys(get_object_vars($normal_table_fields));
  $temp_table_fields = array_keys(get_object_vars($temp_table_fields));
  $this->assertEmpty(array_diff($normal_table_fields, $temp_table_fields));
}Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.
