function drupal_get_schema

7.x bootstrap.inc drupal_get_schema($table = NULL, $rebuild = FALSE)
6.x common.inc drupal_get_schema($table = NULL, $rebuild = FALSE)
8.x schema.inc drupal_get_schema($table = NULL, $rebuild = FALSE)

Gets the schema definition of a table, or the whole database schema.

The returned schema will include any modifications made by any module that implements hook_schema_alter().

Parameters

$table: The name of the table. If not given, the schema of all tables is returned.

$rebuild: If true, the schema will be rebuilt instead of retrieved from the cache.

Related topics

26 calls to drupal_get_schema()
DatabaseInsertDefaultsTestCase::testDefaultInsert in drupal/modules/simpletest/tests/database_test.test
Test that we can run a query that is "default values for everything".
DatabaseInsertDefaultsTestCase::testDefaultInsertWithFields in drupal/modules/simpletest/tests/database_test.test
Test that we can insert fields with values and defaults in the same query.
DatabaseSelectComplexTestCase2::setUp in drupal/modules/simpletest/tests/database_test.test
Sets up a Drupal site for running functional and integration tests.
DatabaseTestCase::ensureSampleDataNull in drupal/modules/simpletest/tests/database_test.test
Set up tables for NULL handling.
DatabaseTestCase::setUp in drupal/modules/simpletest/tests/database_test.test
Sets up a Drupal site for running functional and integration tests.

... See full list

File

drupal/includes/bootstrap.inc, line 2958
Functions that need to be loaded on every Drupal request.

Code

function drupal_get_schema($table = NULL, $rebuild = FALSE) {
  static $schema;

  if ($rebuild || !isset($table)) {
    $schema = drupal_get_complete_schema($rebuild);
  }
  elseif (!isset($schema)) {
    $schema = new SchemaCache();
  }

  if (!isset($table)) {
    return $schema;
  }
  if (isset($schema[$table])) {
    return $schema[$table];
  }
  else {
    return FALSE;
  }
}