drupal_get_schema_unprocessed

Versions
6 – 7
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

▾ 10 functions call drupal_get_schema_unprocessed()

block_schema in modules/block/block.install
Implement hook_schema().
drupal_install_schema in includes/common.inc
Create all tables that a module defines in its hook_schema().
drupal_uninstall_schema in includes/common.inc
Remove all tables that a module defines in its hook_schema().
field_schema in modules/field/field.install
Implement hook_schema.
filter_schema in modules/filter/filter.install
Implement hook_schema().
image_schema in modules/image/image.install
Implement hook_schema().
simpletest_clean_database in modules/simpletest/simpletest.module
Removed prefixed tables from the database that are left over from crashed tests.
system_update_7042 in modules/system/system.install
Rename dst and src to source and alias.
update_fix_d7_requirements in includes/update.inc
Perform Drupal 6.x to 7.x updates that are required for update.php to function properly.
update_schema in modules/update/update.install
Implement hook_schema().

Code

includes/common.inc, line 5648

<?php
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 (!is_null($table) && isset($schema[$table])) {
    return $schema[$table];
  }
  else if (!empty($schema)) {
    return $schema;
  }
  return array();
}
?>
Login or register to post comments
 
 

All source code and documentation on this site is released under the terms of the GNU General Public License, version 2 and later. Drupal is a registered trademark of Dries Buytaert.