function content_database_info in Content Construction Kit (CCK) 6
Same name and namespace in other branches
- 5 content.module \content_database_info()
- 6.3 content.module \content_database_info()
- 6.2 content.module \content_database_info()
Retrieve the database storage location(s) for a field.
TODO : add a word about why it's not included in the global _content_type_info array.
Parameters
$field: The field whose database information is requested.
Return value
An array with the keys: "table": The name of the database table where the field data is stored. "columns": An array of columns stored for this field. Each is a collection of information returned from hook_field_settings('database columns'), with the addition of a "column" attribute which holds the name of the database column that stores the data.
16 calls to content_database_info()
- content_alter_db in includes/content.admin.inc 
- Perform adds, alters, and drops as needed to synchronize the database with new field definitions.
- content_field_batch_update in includes/content.admin.inc 
- Content Field Batch Update Operation
- content_storage in ./content.module 
- TODO : PHPdoc
- content_views_field_views_data in includes/content.views.inc 
- nodereference_field_settings in modules/nodereference/ nodereference.module 
- Implementation of hook_field_settings().
File
- ./content.module, line 1382 
- Allows administrators to associate custom fields to content types.
Code
function content_database_info($field) {
  $db_info = array();
  if ($field['db_storage'] == CONTENT_DB_STORAGE_PER_FIELD) {
    $db_info['table'] = _content_tablename($field['field_name'], CONTENT_DB_STORAGE_PER_FIELD);
  }
  else {
    $db_info['table'] = _content_tablename($field['type_name'], CONTENT_DB_STORAGE_PER_CONTENT_TYPE);
  }
  $db_info['columns'] = (array) $field['columns'];
  // Generate column names for this field from generic column names.
  foreach ($db_info['columns'] as $column_name => $attributes) {
    $db_info['columns'][$column_name]['column'] = $field['field_name'] . '_' . $column_name;
  }
  return $db_info;
}