summaryrefslogtreecommitdiff
path: root/modules/field
diff options
context:
space:
mode:
authorDries Buytaert <dries@buytaert.net>2010-06-26 02:16:23 +0000
committerDries Buytaert <dries@buytaert.net>2010-06-26 02:16:23 +0000
commita7bbd6d13eb0c88976a1f75e63f9c9813e2828b7 (patch)
treed4a80e76ae2de0cd3e1968beb7db8b5eedadd467 /modules/field
parentf0a49e662de237c4096d6384a07e3ccc2b43999c (diff)
downloadbrdo-a7bbd6d13eb0c88976a1f75e63f9c9813e2828b7.tar.gz
brdo-a7bbd6d13eb0c88976a1f75e63f9c9813e2828b7.tar.bz2
- Patch #808534 by dhthwy, Damien Tournoud, chx: file_get_file_references() is completely broken.
Diffstat (limited to 'modules/field')
-rw-r--r--modules/field/modules/field_sql_storage/field_sql_storage.module25
1 files changed, 11 insertions, 14 deletions
diff --git a/modules/field/modules/field_sql_storage/field_sql_storage.module b/modules/field/modules/field_sql_storage/field_sql_storage.module
index 71300d98c..bf9d0d663 100644
--- a/modules/field/modules/field_sql_storage/field_sql_storage.module
+++ b/modules/field/modules/field_sql_storage/field_sql_storage.module
@@ -358,6 +358,9 @@ function field_sql_storage_field_storage_load($entity_type, $entities, $age, $fi
*/
function field_sql_storage_field_storage_write($entity_type, $entity, $op, $fields) {
list($id, $vid, $bundle) = entity_extract_ids($entity_type, $entity);
+ if (!isset($vid)) {
+ $vid = $id;
+ }
$etid = _field_sql_storage_etid($entity_type);
foreach ($fields as $field_id) {
@@ -380,14 +383,12 @@ function field_sql_storage_field_storage_write($entity_type, $entity, $op, $fiel
->condition('entity_id', $id)
->condition('language', $languages, 'IN')
->execute();
- if (isset($vid)) {
- db_delete($revision_name)
- ->condition('etid', $etid)
- ->condition('entity_id', $id)
- ->condition('revision_id', $vid)
- ->condition('language', $languages, 'IN')
- ->execute();
- }
+ db_delete($revision_name)
+ ->condition('etid', $etid)
+ ->condition('entity_id', $id)
+ ->condition('revision_id', $vid)
+ ->condition('language', $languages, 'IN')
+ ->execute();
}
}
@@ -398,9 +399,7 @@ function field_sql_storage_field_storage_write($entity_type, $entity, $op, $fiel
$columns[] = _field_sql_storage_columnname($field_name, $column);
}
$query = db_insert($table_name)->fields($columns);
- if (isset($vid)) {
- $revision_query = db_insert($revision_name)->fields($columns);
- }
+ $revision_query = db_insert($revision_name)->fields($columns);
foreach ($field_languages as $langcode) {
$items = (array) $entity->{$field_name}[$langcode];
@@ -433,9 +432,7 @@ function field_sql_storage_field_storage_write($entity_type, $entity, $op, $fiel
// Execute the query if we have values to insert.
if ($do_insert) {
$query->execute();
- if (isset($vid)) {
- $revision_query->execute();
- }
+ $revision_query->execute();
}
}
}