mirror of
https://github.com/EGroupware/egroupware.git
synced 2024-12-28 01:29:05 +01:00
* Calendar: Try alter description to varchar(16384), to not force temp. tables to disk on MySQL (because of text columns)
This commit is contained in:
parent
c0f83a275d
commit
7eec30c57a
@ -10,7 +10,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
$setup_info['calendar']['name'] = 'calendar';
|
$setup_info['calendar']['name'] = 'calendar';
|
||||||
$setup_info['calendar']['version'] = '1.9.005';
|
$setup_info['calendar']['version'] = '1.9.006';
|
||||||
$setup_info['calendar']['app_order'] = 3;
|
$setup_info['calendar']['app_order'] = 3;
|
||||||
$setup_info['calendar']['enable'] = 1;
|
$setup_info['calendar']['enable'] = 1;
|
||||||
$setup_info['calendar']['index'] = 'calendar.calendar_uiviews.index';
|
$setup_info['calendar']['index'] = 'calendar.calendar_uiviews.index';
|
||||||
@ -68,6 +68,3 @@ $setup_info['calendar']['check_install'] = array(
|
|||||||
'from' => 'Calendar',
|
'from' => 'Calendar',
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -15,12 +15,12 @@ $phpgw_baseline = array(
|
|||||||
'cal_id' => array('type' => 'auto','nullable' => False),
|
'cal_id' => array('type' => 'auto','nullable' => False),
|
||||||
'cal_uid' => array('type' => 'varchar','precision' => '255','nullable' => False,'comment' => 'unique id of event(-series)'),
|
'cal_uid' => array('type' => 'varchar','precision' => '255','nullable' => False,'comment' => 'unique id of event(-series)'),
|
||||||
'cal_owner' => array('type' => 'int','precision' => '4','nullable' => False,'comment' => 'event owner / calendar'),
|
'cal_owner' => array('type' => 'int','precision' => '4','nullable' => False,'comment' => 'event owner / calendar'),
|
||||||
'cal_category' => array('type' => 'varchar','precision' => '30','comment' => 'category id'),
|
'cal_category' => array('type' => 'varchar','precision' => '64','comment' => 'category id(s)'),
|
||||||
'cal_modified' => array('type' => 'int','precision' => '8','comment' => 'ts of last modification'),
|
'cal_modified' => array('type' => 'int','precision' => '8','comment' => 'ts of last modification'),
|
||||||
'cal_priority' => array('type' => 'int','precision' => '2','nullable' => False,'default' => '2'),
|
'cal_priority' => array('type' => 'int','precision' => '2','nullable' => False,'default' => '2'),
|
||||||
'cal_public' => array('type' => 'int','precision' => '2','nullable' => False,'default' => '1','comment' => '1=public, 0=private event'),
|
'cal_public' => array('type' => 'int','precision' => '2','nullable' => False,'default' => '1','comment' => '1=public, 0=private event'),
|
||||||
'cal_title' => array('type' => 'varchar','precision' => '255','nullable' => False,'default' => '1'),
|
'cal_title' => array('type' => 'varchar','precision' => '255','nullable' => False),
|
||||||
'cal_description' => array('type' => 'text'),
|
'cal_description' => array('type' => 'varchar','precision' => '16384'),
|
||||||
'cal_location' => array('type' => 'varchar','precision' => '255'),
|
'cal_location' => array('type' => 'varchar','precision' => '255'),
|
||||||
'cal_reference' => array('type' => 'int','precision' => '4','nullable' => False,'default' => '0','comment' => 'cal_id of series for exception'),
|
'cal_reference' => array('type' => 'int','precision' => '4','nullable' => False,'default' => '0','comment' => 'cal_id of series for exception'),
|
||||||
'cal_modifier' => array('type' => 'int','precision' => '4','comment' => 'user who last modified event'),
|
'cal_modifier' => array('type' => 'int','precision' => '4','comment' => 'user who last modified event'),
|
||||||
@ -61,7 +61,7 @@ $phpgw_baseline = array(
|
|||||||
'recur_type' => array('type' => 'int','precision' => '2','nullable' => False),
|
'recur_type' => array('type' => 'int','precision' => '2','nullable' => False),
|
||||||
'recur_enddate' => array('type' => 'int','precision' => '8'),
|
'recur_enddate' => array('type' => 'int','precision' => '8'),
|
||||||
'recur_interval' => array('type' => 'int','precision' => '2','default' => '1'),
|
'recur_interval' => array('type' => 'int','precision' => '2','default' => '1'),
|
||||||
'recur_data' => array('type' => 'int','precision' => '2','default' => '1'),
|
'recur_data' => array('type' => 'int','precision' => '2','default' => '1')
|
||||||
),
|
),
|
||||||
'pk' => array('cal_id'),
|
'pk' => array('cal_id'),
|
||||||
'fk' => array(),
|
'fk' => array(),
|
||||||
|
@ -2127,3 +2127,32 @@ function calendar_upgrade1_9_004()
|
|||||||
return $GLOBALS['setup_info']['calendar']['currentver'] = '1.9.005';
|
return $GLOBALS['setup_info']['calendar']['currentver'] = '1.9.005';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Try alter description to varchar(16384), to not force temp. tables to disk on MySQL (because of text columns)
|
||||||
|
*/
|
||||||
|
function calendar_upgrade1_9_005()
|
||||||
|
{
|
||||||
|
// only alter description to varchar(16384), if it does NOT contain longer input and it can be stored as varchar
|
||||||
|
$max_description_length = $GLOBALS['egw']->db->query('SELECT MAX(CHAR_LENGTH(cal_description)) FROM egw_cal')->fetchColumn();
|
||||||
|
if (is_numeric($max_description_length) && $max_description_length <= 16384 && $GLOBALS['egw_setup']->oProc->max_varchar_length >= 16384)
|
||||||
|
{
|
||||||
|
$GLOBALS['egw_setup']->oProc->AlterColumn('egw_cal','cal_description',array(
|
||||||
|
'type' => 'varchar',
|
||||||
|
'precision' => '16384'
|
||||||
|
));
|
||||||
|
}
|
||||||
|
// allow more categories
|
||||||
|
$GLOBALS['egw_setup']->oProc->AlterColumn('egw_cal','cal_category',array(
|
||||||
|
'type' => 'varchar',
|
||||||
|
'precision' => '64',
|
||||||
|
'comment' => 'category id(s)'
|
||||||
|
));
|
||||||
|
// remove silly default of 1
|
||||||
|
$GLOBALS['egw_setup']->oProc->AlterColumn('egw_cal','cal_title',array(
|
||||||
|
'type' => 'varchar',
|
||||||
|
'precision' => '255',
|
||||||
|
'nullable' => False
|
||||||
|
));
|
||||||
|
return $GLOBALS['setup_info']['calendar']['currentver'] = '1.9.006';
|
||||||
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user