function drupal_get_schema_unprocessed
7.x common.inc | drupal_get_schema_unprocessed($module, $table = NULL) |
6.x common.inc | drupal_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.
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 drupal_install_schema() and drupal_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.
Related topics
- block_schema in drupal-7.x/
modules/ block/ block.install - Implements hook_schema().
- drupal_install_schema in drupal-7.x/
includes/ common.inc - Creates all tables defined in a module's hook_schema().
- drupal_uninstall_schema in drupal-7.x/
includes/ common.inc - Removes all tables defined in a module's hook_schema().
- field_schema in drupal-7.x/
modules/ field/ field.install - Implements hook_schema().
- filter_schema in drupal-7.x/
modules/ filter/ filter.install - Implements hook_schema().
File
- drupal-7.x/
includes/ common.inc, line 7000 - Common functions that many Drupal modules will need to reference.
Code
function drupal_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();
}