summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEarl Miles2010-03-24 19:07:00 (GMT)
committer Earl Miles2010-03-24 19:07:00 (GMT)
commitb07f2e50f445ff20be2339a5df84a3be51c4f169 (patch)
tree96e74cfdfa661a5dceed52e734101b81facaacd1
parent6c981b723aab5c732386d9689a0cf6ac27ba2944 (diff)
#466250 by alex_b and dereine: Enlarge views_display field to prevent heavy displays from losing data.
-rw-r--r--CHANGELOG.txt1
-rw-r--r--views.install50
2 files changed, 49 insertions, 2 deletions
diff --git a/CHANGELOG.txt b/CHANGELOG.txt
index 0c63951..cbf880d 100644
--- a/CHANGELOG.txt
+++ b/CHANGELOG.txt
@@ -59,6 +59,7 @@ Views 2.x-dev
o #675264 by peck66: Freeform profile list field did not output properly.
o #663372 by dan.nsk: Allow tokens to work in the "target" field during link rewriting.
o #747418 by dereine: Fix taxonomy term ID bug introduced in #496634.
+ o #466250 by alex_b and dereine: Enlarge views_display field to prevent heavy displays from losing data.
Other changes:
o #570558 by yhahn: Segment default views caching to conserve memory used by Views during normal operation.
diff --git a/views.install b/views.install
index 4431409..157e8a5 100644
--- a/views.install
+++ b/views.install
@@ -184,6 +184,7 @@ function views_schema_6000() {
'description' => 'The order in which this display is loaded.',
),
'display_options' => array(
+ // Type corrected in update 6009
'type' => 'blob',
'description' => 'A serialized array of options for this display; it contains options that are generally only pertinent to that display plugin type.',
'serialize' => TRUE,
@@ -336,7 +337,7 @@ function views_schema_6005() {
}
function views_update_6005() {
$ret = array();
-
+
$new_field = array(
'type' => 'varchar',
'length' => '64',
@@ -360,7 +361,7 @@ function views_schema_6006() {
}
function views_update_6006() {
$ret = array();
-
+
$table = drupal_get_schema_unprocessed('system', 'cache');
$table['description'] = 'Cache table for views to store pre-rendered queries, results, and display output.';
$table['fields']['serialized']['default'] = 1;
@@ -383,3 +384,48 @@ function views_update_6007() {
}
return $ret;
}
+
+/**
+ * Add the primary key to views_display table.
+ */
+function views_schema_6008() {
+ $schema = views_schema(__FUNCTION__);
+ $schema['views_display']['primary key'] = array('vid', 'id');
+ return $schema;
+}
+
+/**
+ * Add the primary key to the views_display table.
+ */
+function views_update_6008() {
+ $ret = array();
+
+ db_add_primary_key($ret, 'views_display', array('vid', 'id'));
+
+ return $ret;
+}
+
+/**
+ * Enlarge the views_display.display_options field to accomodate a larger set
+ * of configurations (e. g. fields, filters, etc.) on a display.
+ */
+function views_schema_6009() {
+ $schema = views_schema(__FUNCTION__);
+ $schema['views_display']['fields']['display_options'] = array(
+ 'type' => 'text',
+ 'size' => 'big',
+ 'description' => 'A serialized array of options for this display; it contains options that are generally only pertinent to that display plugin type.',
+ 'serialize' => TRUE,
+ 'serialized default' => 'a:0:{}',
+ );
+ return $schema;
+}
+
+function views_update_6009() {
+ $ret = array();
+
+ $schema = views_schema_6009();
+ db_change_field($ret, 'views_display', 'display_options', 'display_options', $schema['views_display']['fields']['display_options']);
+
+ return $ret;
+} \ No newline at end of file