1 common.inc backdrop_get_schema_unprocessed($module, $table = NULL)

Returns the unprocessed and unaltered version of a module's schema.

Use this function only if you explicitly need the original specification of a schema, as it was defined in a module's hook_schema(). No additional default values will be set, hook_schema_alter() is not invoked and these unprocessed definitions won't be cached. To retrieve the schema after hook_schema_alter() has been invoked use backdrop_get_schema().

This function can be used to retrieve a schema specification in hook_schema(), so it allows you to derive your tables from existing specifications.

It is also used by backdrop_install_schema() and backdrop_uninstall_schema() to ensure that a module's tables are created exactly as specified without any changes introduced by a module that implements hook_schema_alter().

Parameters

$module: The module to which the table belongs.

$table: The name of the table. If not given, the module's complete schema is returned.

Return value

array The schema for the requested table, without modification by other modules.

Related topics

File

core/includes/common.inc, line 7882
Common functions that many Backdrop modules will need to reference.

Code

function backdrop_get_schema_unprocessed($module, $table = NULL) {
  // Load the .install file to get hook_schema.
  module_load_install($module);
  $schema = module_invoke($module, 'schema');

  if (isset($table) && isset($schema[$table])) {
    return $schema[$table];
  }
  elseif (!empty($schema)) {
    return $schema;
  }
  return array();
}