TRUE)); // db_add_column($ret, 'view_view', 'block_use_page_empty', 'int(1)'); // db_add_column($ret, 'view_view', 'block_empty', 'longtext'); // db_add_column($ret, 'view_view', 'block_empty_format', 'int(4)', array('not null' => TRUE)); switch($GLOBALS['db_type']) { case 'mysql': case 'mysqli': $ret[] = update_sql("CREATE TABLE if not exists {view_exposed_filter} ( vid int(10) unsigned NOT NULL default '0', field varchar(255), label varchar(255), optional int(1), is_default int(1), operator int(1), single int(1), position int(2), KEY (vid) ) TYPE=MyISAM /*!40100 DEFAULT CHARACTER SET utf8 */;"); break; case 'pgsql': $ret[] = update_sql("CREATE TABLE {view_exposed_filter} ( vid numeric(10) unsigned NOT NULL default '0', field varchar(255), label varchar(255), optional numeric(1), is_default numeric(1), operator numeric(1), single numeric(1), position numeric(2), )"); $ret[] = update_sql("CREATE INDEX {view_exposed_filter}_vid_idx ON {view_exposed_filter} (vid)"); break; } return $ret; } function views_update_4() { $ret = array(); switch ($GLOBALS['db_type']) { case 'mysql': case 'mysqli': $small = 'int(4)'; $tiny = 'int(1)'; case 'pgsql': $small = $tiny = 'smallint'; break; } db_add_column($ret, 'view_view', 'page_footer', 'longtext'); db_add_column($ret, 'view_view', 'page_footer_format', $small, array('default' => 0)); db_add_column($ret, 'view_view', 'block_use_page_footer', $tiny); db_add_column($ret, 'view_view', 'block_footer', 'longtext'); db_add_column($ret, 'view_view', 'block_footer_format', $small, array('default' => 0)); db_add_column($ret, 'view_view', 'page_empty', 'longtext'); db_add_column($ret, 'view_view', 'page_empty_format', $small, array('default' => 0)); db_add_column($ret, 'view_view', 'block_use_page_empty', $tiny); db_add_column($ret, 'view_view', 'block_empty', 'longtext'); db_add_column($ret, 'view_view', 'block_empty_format', $small, array('default' => 0)); return $ret; } function views_update_5() { $ret = array(); db_add_column($ret, 'view_view', 'view_args_php', 'longtext'); return $ret; } function views_update_6() { $ret = array(); db_add_column($ret, 'view_tablefield', 'options', 'varchar(255)'); return $ret; } function views_update_7() { $ret = array(); $ret[] = update_sql("ALTER TABLE {view_argument} MODIFY type varchar(255)"); return $ret; } function views_update_8() { $ret = array(); switch ($GLOBALS['db_type']) { case 'mysql': case 'mysqli': $ret[] = update_sql("ALTER TABLE {view_view} MODIFY nodes_per_page int(5)"); break; case 'pgsql': $ret[] = update_sql("ALTER TABLE {view_view} MODIFY nodes_per_page smallint"); break; } return $ret; } function views_update_9() { $ret = array(); db_add_column($ret, 'view_argument', 'wildcard', 'varchar(32)'); db_add_column($ret, 'view_argument', 'wildcard_substitution', 'varchar(32)'); return $ret; } function views_update_10() { $ret = array(); $ret[] = update_sql("UPDATE {system} SET weight = 10 WHERE name = 'views'"); return $ret; } function views_update_11() { // running this again because fresh installs of 1.4 didn't get it. $ret = array(); $ret[] = update_sql("UPDATE {system} SET weight = 10 WHERE name = 'views'"); return $ret; } function views_update_12() { $ret = array(); switch ($GLOBALS['db_type']) { case 'mysql': case 'mysqli': db_add_column($ret, 'view_view', 'is_cacheable', 'int(1)'); break; case 'pgsql': db_add_column($ret, 'view_view', 'is_cacheable', 'smallint'); break; } views_make_cache_table($ret); include_once('./'. drupal_get_path('module', 'views') .'/views.module'); $result = db_query("SELECT name FROM {view_view} ORDER BY name"); while ($row = db_fetch_array($result)) { $view = views_get_view($row['name']); $ret[] = update_sql("UPDATE {view_view} SET is_cacheable = " . (_views_is_cacheable($view) ? "1" : "0") . " WHERE vid = ". $view->vid); } $ret[] = update_sql("ALTER TABLE {view_view} DROP query"); $ret[] = update_sql("ALTER TABLE {view_view} DROP countquery"); views_make_cache_table($ret); return $ret; } function views_update_13() { $ret = array(); views_make_cache_table($ret); $ret[] = update_sql("DELETE FROM {cache_views}"); return $ret; } function views_update_14() { $ret = array(); views_make_cache_table($ret); $ret[] = update_sql("DELETE FROM {cache_views}"); return $ret; } function views_update_15() { $ret = array(); db_add_column($ret, 'view_view', 'menu_tab_default_parent_type', 'varchar(10)'); db_add_column($ret, 'view_view', 'menu_parent_title', 'varchar(255)'); switch ($GLOBALS['db_type']) { case 'mysql': case 'mysqli': db_add_column($ret, 'view_view', 'menu_parent_tab_weight', 'int(4)'); break; case 'pgsql': db_add_column($ret, 'view_view', 'menu_parent_tab_weight', 'smallint'); break; } return $ret; } function views_update_16() { $ret = array(); $ret[] = update_sql("UPDATE {view_view} SET menu_tab_default_parent_type = 'normal' WHERE menu_tab_default_parent_type = '' OR menu_tab_default_parent_type IS NULL"); return $ret; } /** * This should go in every update to ensure that it's there from a 4.7 -> 5.x * update. */ function views_make_cache_table(&$ret) { if (!db_table_exists('cache_views')) { switch ($GLOBALS['db_type']) { case 'mysql': case 'mysqli': $ret[] = update_sql("CREATE TABLE {cache_views} ( cid varchar(255) NOT NULL default '', data longblob, expire int NOT NULL default '0', created int NOT NULL default '0', headers text, PRIMARY KEY (cid), INDEX expire (expire) ) /*!40100 DEFAULT CHARACTER SET UTF8 */ "); break; case 'pgsql': $ret[] = update_sql("CREATE TABLE {cache_views} ( cid varchar(255), data bytea, expire integer, created integer, headers text, PRIMARY KEY (cid) )"); $ret[] = update_sql("CREATE INDEX {cache_views}_expire_idx ON {cache_views} (expire)"); break; } } }