array( 'jqid' => array('type' => 'serial', 'not null' => TRUE), 'created' => array('type' => 'int', 'not null' => TRUE, 'default' => 0), 'description' => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE), 'function' => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE), 'arguments' => array('type' => 'text', 'not null' => TRUE), 'file' => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE), 'priority' => array('type' => 'int', 'not null' => TRUE, 'size' => 'tiny'), ), 'primary key' => array('jqid'), 'indexes' => array( 'priority' => array('priority', 'jqid'), 'function_arguments' => array('function', array('arguments', 20)), ), ); $schema['job_queue_functions'] = array( 'fields' => array( 'function' => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE), 'priority' => array('type' => 'int', 'not null' => TRUE, 'size' => 'tiny'), ), 'primary key' => array('function'), ); return $schema; } function job_queue_update_1() { $return = array(); db_add_field($return, 'job_queue', 'file', array('type' => 'varchar', 'not null' => TRUE, 'length' => 255)); return $return; } function job_queue_update_2() { $return = array(); $schema['job_queue_functions'] = array( 'fields' => array( 'function' => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE), 'priority' => array('type' => 'int', 'not null' => TRUE, 'size' => 'tiny'), ), 'primary key' => array('function'), ); db_create_table($return, 'job_queue_functions', $schema['job_queue_functions']); db_add_field($return, 'job_queue', 'priority', array('type' => 'int', 'not null' => TRUE, 'size' => 'tiny')); db_add_index($return, 'job_queue', 'priority', array('priority', 'jqid')); return $return; } function job_queue_update_3() { $return = array(); db_add_index($return, 'job_queue', 'function_arguments', array('function', array('arguments', 20))); return $return; }