Error on install of Date into new Drupal 7.12 installation with dev version from October 27, 2009 - 01:07 and Views views 7.x-3.x-dev November 11, 2009 - 01:22
* Warning: array_key_exists(): The second argument should be either an array or an object in DatabaseSchema_mysql->createFieldSql() (line 128 of C:\Domains\example.co.uk\wwwroot\drupal\includes\database\mysql\schema.inc).
* PDOException: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 't(t, t) unsigned NOT NULL auto_increment COMMENT 't', ADD' at line 1: ALTER TABLE {Array} ADD `users` t(t, t) unsigned NOT NULL auto_increment COMMENT 't', ADD ; Array ( ) in db_add_field() (line 2261 of C:\Domains\example.co.uk\wwwroot\drupal\includes\database\database.inc).
Thought it might be due to the API change shown at http://api.drupal.org/api/function/db_add_field/7
So changed line 130 from
db_add_field($ret, "users", "timezone_name", array('type' => 'varchar', 'length' => 50, 'not null' => TRUE, 'default' => ''));
to
db_add_field("users", "timezone_name", array('type' => 'varchar', 'length' => 50, 'not null' => TRUE, 'default' => ''));
Which seemed to work - until I got a new error
PDOException: SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry 'views_handler_argument_date-class' for key 'PRIMARY': INSERT INTO {registry} (name, type, filename, module, weight) VALUES (:db_insert_placeholder_0, :db_insert_placeholder_1, :db_insert_placeholder_2, :db_insert_placeholder_3, :db_insert_placeholder_4), (:db_insert_placeholder_5, :db_insert_placeholder_6, :db_insert_placeholder_7, :db_insert_placeholder_8, :db_insert_placeholder_9), (:db_insert_placeholder_10, :db_insert_placeholder_11, :db_insert_placeholder_12, :db_insert_placeholder_13, :db_insert_placeholder_14), (:db_insert_placeholder_15, :db_insert_placeholder_16, :db_insert_placeholder_17, :db_insert_placeholder_18, :db_insert_placeholder_19), (:db_insert_placeholder_20, :db_insert_placeholder_21, :db_insert_placeholder_22, :db_insert_placeholder_23, :db_insert_placeholder_24), (:db_insert_placeholder_25, :db_insert_placeholder_26, :db_insert_placeholder_27, :db_insert_placeholder_28, :db_insert_placeholder_29); Array ( [:db_insert_placeholder_0] => date_views_argument_handler [:db_insert_placeholder_1] => class [:db_insert_placeholder_2] => sites/all/modules/date/date/date_views.inc [:db_insert_placeholder_3] => date [:db_insert_placeholder_4] => 0 [:db_insert_placeholder_5] => date_views_filter_handler [:db_insert_placeholder_6] => class [:db_insert_placeholder_7] => sites/all/modules/date/date/date_views.inc [:db_insert_placeholder_8] => date [:db_insert_placeholder_9] => 0 [:db_insert_placeholder_10] => date_views_browser_argument_handler [:db_insert_placeholder_11] => class [:db_insert_placeholder_12] => sites/all/modules/date/date/date_views.inc [:db_insert_placeholder_13] => date [:db_insert_placeholder_14] => 0 [:db_insert_placeholder_15] => views_date_handler [:db_insert_placeholder_16] => class [:db_insert_placeholder_17] => sites/all/modules/date/date/date_views.inc [:db_insert_placeholder_18] => date [:db_insert_placeholder_19] => 0 [:db_insert_placeholder_20] => views_handler_filter_custom_date [:db_insert_placeholder_21] => class [:db_insert_placeholder_22] => sites/all/modules/date/date/date_views.inc [:db_insert_placeholder_23] => date [:db_insert_placeholder_24] => 0 [:db_insert_placeholder_25] => views_handler_argument_date [:db_insert_placeholder_26] => class [:db_insert_placeholder_27] => sites/all/modules/date/date/date_views.inc [:db_insert_placeholder_28] => date [:db_insert_placeholder_29] => 0 ) in _registry_parse_file() (line 177 of C:\Domains\example.co.uk\wwwroot\drupal\includes\registry.inc).
which seems to be true as views seems to have the same class.
sites\all\modules\date\date\date_views.inc(53): class date_views_argument_handler extends views_handler_argument_date {
sites\all\modules\date\date\date_views.inc(1345): class views_handler_argument_date extends views_handler_argument_formula {
sites\all\modules\date\includes\date_api.views.inc(43): 'parent' => 'views_handler_argument_date',
sites\all\modules\date\includes\date_api_argument_handler.inc(6): class date_api_argument_handler extends views_handler_argument_date {
sites\all\modules\views\views.info(10): files[] = handlers/views_handler_argument_date.inc
sites\all\modules\views\views.info(91): files[] = modules/node/views_handler_argument_dates_various.inc
sites\all\modules\views\handlers\views_handler_argument_date.inc(2): // $Id: views_handler_argument_date.inc,v 1.3.6.1 2009/11/02 22:01:25 merlinofchaos Exp $
sites\all\modules\views\handlers\views_handler_argument_date.inc(20): class views_handler_argument_date extends views_handler_argument_formula {
sites\all\modules\views\includes\handlers.inc(1059): 'views_handler_argument_date',
Not sure which of Views or Date really ought to be the master for this - presumably Date? or is there something else going on?
Couldn't find the issue in either the Date or Views queues...
Comments
Comment #1
karens commentedThe port to D7 is not done yet for either module.
Comment #2
csc4 commentedI understand that, but Views do seem to be moving their version forward and I was trying to help out with some testing - and both Date and Views are vital modules.
If you could just tell me which module should be the master for the class then I can remove it from the other (or if it is Date ask Views to remove it) on my test installation.
Comment #3
arlinsandbulte commented#730268: Port to Drupal 7