Summary | git HEAD: DB migration fails |
Queue | Horde Base |
Queue Version | Git master |
Type | Bug |
State | Resolved |
Priority | 1. Low |
Owners | |
Requester | thomas.jarosch (at) intra2net (dot) com |
Created | 02/27/2014 (4145 days ago) |
Due | |
Updated | 03/03/2014 (4141 days ago) |
Assigned | 02/27/2014 (4145 days ago) |
Resolved | 03/03/2014 (4141 days ago) |
Github Issue Link | |
Github Pull Request | |
Milestone | |
Patch | No |
State ⇒ Resolved
commit 07856976a0e64b99048cbc43adce95cca50d4f2e
Author: Matthias Rella <git@myrho.net>
Date: Sat Mar 1 23:34:53 2014 +0100
fixed checking whether array key is set
var_dump($injector->getInstance('Horde_Db_Adapter')->columns('turba_shares'));
["share_id"]=>
object(Horde_Db_Adapter_Sqlite_Column)#208 (11) {
["_name":protected]=>
string(8) "share_id"
["_type":protected]=>
string(7) "integer"
["_null":protected]=>
bool(false)
["_limit":protected]=>
NULL
["_precision":protected]=>
NULL
["_scale":protected]=>
NULL
["_unsigned":protected]=>
bool(false)
["_default":protected]=>
NULL
["_sqlType":protected]=>
string(7) "INTEGER"
["_isText":protected]=>
bool(false)
["_isNumber":protected]=>
bool(true)
}
["share_name"]=>
object(Horde_Db_Adapter_Sqlite_Column)#199 (11) {
["_name":protected]=>
string(10) "share_name"
["_type":protected]=>
string(6) "string"
["_null":protected]=>
bool(false)
["_limit":protected]=>
int(255)
["_precision":protected]=>
NULL
["_scale":protected]=>
NULL
["_unsigned":protected]=>
bool(false)
["_default":protected]=>
NULL
["_sqlType":protected]=>
string(12) "varchar(255)"
["_isText":protected]=>
bool(true)
["_isNumber":protected]=>
bool(false)
}
["share_owner"]=>
object(Horde_Db_Adapter_Sqlite_Column)#212 (11) {
["_name":protected]=>
string(11) "share_owner"
["_type":protected]=>
string(6) "string"
["_null":protected]=>
bool(false)
["_limit":protected]=>
int(255)
["_precision":protected]=>
NULL
["_scale":protected]=>
NULL
["_unsigned":protected]=>
bool(false)
["_default":protected]=>
NULL
["_sqlType":protected]=>
string(12) "varchar(255)"
["_isText":protected]=>
bool(true)
["_isNumber":protected]=>
bool(false)
}
["share_flags"]=>
object(Horde_Db_Adapter_Sqlite_Column)#210 (11) {
["_name":protected]=>
string(11) "share_flags"
["_type":protected]=>
string(7) "integer"
["_null":protected]=>
bool(false)
["_limit":protected]=>
NULL
["_precision":protected]=>
NULL
["_scale":protected]=>
NULL
["_unsigned":protected]=>
bool(false)
["_default":protected]=>
int(0)
["_sqlType":protected]=>
string(3) "int"
["_isText":protected]=>
bool(false)
["_isNumber":protected]=>
bool(true)
}
["perm_creator"]=>
object(Horde_Db_Adapter_Sqlite_Column)#213 (11) {
["_name":protected]=>
string(12) "perm_creator"
["_type":protected]=>
string(7) "integer"
["_null":protected]=>
bool(false)
["_limit":protected]=>
NULL
["_precision":protected]=>
NULL
["_scale":protected]=>
NULL
["_unsigned":protected]=>
bool(false)
["_default":protected]=>
int(0)
["_sqlType":protected]=>
string(3) "int"
["_isText":protected]=>
bool(false)
["_isNumber":protected]=>
bool(true)
}
["perm_default"]=>
object(Horde_Db_Adapter_Sqlite_Column)#214 (11) {
["_name":protected]=>
string(12) "perm_default"
["_type":protected]=>
string(7) "integer"
["_null":protected]=>
bool(false)
["_limit":protected]=>
NULL
["_precision":protected]=>
NULL
["_scale":protected]=>
NULL
["_unsigned":protected]=>
bool(false)
["_default":protected]=>
int(0)
["_sqlType":protected]=>
string(3) "int"
["_isText":protected]=>
bool(false)
["_isNumber":protected]=>
bool(true)
}
["perm_guest"]=>
object(Horde_Db_Adapter_Sqlite_Column)#215 (11) {
["_name":protected]=>
string(10) "perm_guest"
["_type":protected]=>
string(7) "integer"
["_null":protected]=>
bool(false)
["_limit":protected]=>
NULL
["_precision":protected]=>
NULL
["_scale":protected]=>
NULL
["_unsigned":protected]=>
bool(false)
["_default":protected]=>
int(0)
["_sqlType":protected]=>
string(3) "int"
["_isText":protected]=>
bool(false)
["_isNumber":protected]=>
bool(true)
}
["attribute_name"]=>
object(Horde_Db_Adapter_Sqlite_Column)#216 (11) {
["_name":protected]=>
string(14) "attribute_name"
["_type":protected]=>
string(6) "string"
["_null":protected]=>
bool(false)
["_limit":protected]=>
int(255)
["_precision":protected]=>
NULL
["_scale":protected]=>
NULL
["_unsigned":protected]=>
bool(false)
["_default":protected]=>
NULL
["_sqlType":protected]=>
string(12) "varchar(255)"
["_isText":protected]=>
bool(true)
["_isNumber":protected]=>
bool(false)
}
["attribute_desc"]=>
object(Horde_Db_Adapter_Sqlite_Column)#217 (11) {
["_name":protected]=>
string(14) "attribute_desc"
["_type":protected]=>
string(6) "string"
["_null":protected]=>
bool(true)
["_limit":protected]=>
int(255)
["_precision":protected]=>
NULL
["_scale":protected]=>
NULL
["_unsigned":protected]=>
bool(false)
["_default":protected]=>
NULL
["_sqlType":protected]=>
string(12) "varchar(255)"
["_isText":protected]=>
bool(true)
["_isNumber":protected]=>
bool(false)
}
["attribute_params"]=>
object(Horde_Db_Adapter_Sqlite_Column)#218 (11) {
["_name":protected]=>
string(16) "attribute_params"
["_type":protected]=>
string(4) "text"
["_null":protected]=>
bool(true)
["_limit":protected]=>
NULL
["_precision":protected]=>
NULL
["_scale":protected]=>
NULL
["_unsigned":protected]=>
bool(false)
["_default":protected]=>
NULL
["_sqlType":protected]=>
string(4) "text"
["_isText":protected]=>
bool(true)
["_isNumber":protected]=>
bool(false)
}
["share_parents"]=>
object(Horde_Db_Adapter_Sqlite_Column)#219 (11) {
["_name":protected]=>
string(13) "share_parents"
["_type":protected]=>
string(4) "text"
["_null":protected]=>
bool(true)
["_limit":protected]=>
NULL
["_precision":protected]=>
NULL
["_scale":protected]=>
NULL
["_unsigned":protected]=>
bool(false)
["_default":protected]=>
NULL
["_sqlType":protected]=>
string(4) "text"
["_isText":protected]=>
bool(true)
["_isNumber":protected]=>
bool(false)
}
}
var_dump($injector->getInstance('Horde_Db_Adapter')->columns('turba_shares'));
I've debugged the statement manually:
"share_id" INTEGER
...> PRIMARY KEY AUTOINCREMENT NOT NULL(I, I)
I'm still wondering where that strange "NULL(I, I)" is coming from,
the whole SQL statement works fine if I remove the "(I, I)" part.
State ⇒ Feedback
version? This the query that's generated here:
CREATE TEMPORARY TABLE "altered_turba_sharesng" ( "share_id" INTEGER
PRIMARY KEY AUTOINCREMENT NOT NULL NOT NULL, "share_name"
varchar(255)
NOT NULL, "share_owner" varchar(255), "share_flags" int NOT NULL
DEFAULT 0, "perm_creator_2" boolean NOT NULL DEFAULT 0,
"perm_creator_4" boolean NOT NULL DEFAULT 0,
"perm_creator_8" boolean
NOT NULL DEFAULT 0, "perm_creator_16" boolean NOT NULL DEFAULT 0,
"perm_default_2" boolean NOT NULL DEFAULT 0,
"perm_default_4" boolean
NOT NULL DEFAULT 0, "perm_default_8" boolean NOT NULL DEFAULT 0,
"perm_default_16" boolean NOT NULL DEFAULT 0, "perm_guest_2" boolean
NOT NULL DEFAULT 0, "perm_guest_4" boolean NOT NULL DEFAULT 0,
"perm_guest_8" boolean NOT NULL DEFAULT 0, "perm_guest_16"
boolean NOT
NULL DEFAULT 0, "attribute_name" varchar(255) NOT NULL,
"attribute_desc" varchar(255), "attribute_params" text,
"share_parents" text )
Still a NOT NULL too many, but it succeeds.
2014-02-27T11:22:20+01:00 ERR: HORDE [horde] SQL STACK TRACE: #0
/datastore/DEVEL/horde/framework/Db/lib/Horde/Db/Adapter/Pdo/Base.php(197):
PDO->query('CREATE TEMPORAR...')
#1[internal function]: Horde_Db_Adapter_Pdo_Base->execute('CREATETEMPORAR...', NULL, NULL)
#2/datastore/DEVEL/horde/framework/Db/lib/Horde/Db/Adapter/Pdo/Sqlite.php(182):
call_user_func_array(Array, Array)
#3/datastore/DEVEL/horde/framework/Db/lib/Horde/Db/Adapter/Pdo/Sqlite.php(134):
Horde_Db_Adapter_Pdo_Sqlite->_catchSchemaChanges('execute', Array)
#4[internal function]: Horde_Db_Adapter_Pdo_Sqlite->execute('CREATETEMPORAR...')
#5/datastore/DEVEL/horde/framework/Db/lib/Horde/Db/Adapter/Base/Schema.php(166):
call_user_func_array(Array, Array)
#6/datastore/DEVEL/horde/framework/Db/lib/Horde/Db/Adapter/Base/Schema.php(569):
Horde_Db_Adapter_Base_Schema->__call('execute', Array)
#7/datastore/DEVEL/horde/framework/Db/lib/Horde/Db/Adapter/Base/Schema.php(569):
Horde_Db_Adapter_Sqlite_Schema->execute('CREATE TEMPORAR...')
#8/datastore/DEVEL/horde/framework/Db/lib/Horde/Db/Adapter/Base/TableDefinition.php(203):
Horde_Db_Adapter_Base_Schema->endTable(Object(Horde_Db_Adapter_Base_TableDefinition))
#9/datastore/DEVEL/horde/framework/Db/lib/Horde/Db/Adapter/Sqlite/Schema.php(624):
Horde_Db_Adapter_Base_TableDefinition->end()
#10/datastore/DEVEL/horde/framework/Db/lib/Horde/Db/Adapter/Sqlite/Schema.php(557): Horde_Db_Adapter_Sqlite_Schema->_copyTable('turba_shares', 'altered_turba_s...', Array,
NULL)
#11/datastore/DEVEL/horde/framework/Db/lib/Horde/Db/Adapter/Sqlite/Schema.php(529): Horde_Db_Adapter_Sqlite_Schema->_moveTable('turba_shares', 'altered_turba_s...',
Array)
#12/datastore/DEVEL/horde/framework/Db/lib/Horde/Db/Adapter/Sqlite/Schema.php(308): Horde_Db_Adapter_Sqlite_Schema->_alterTable('turba_shares', Array,
'?lambda_1')
#13 [internal function]:
Horde_Db_Adapter_Sqlite_Schema->changeColumn('turba_shares',
'share_parents', 'string', Array)
#14/datastore/DEVEL/horde/framework/Db/lib/Horde/Db/Adapter/Base.php(255):
call_user_func_array(Array, Array)
#15[internal function]: Horde_Db_Adapter_Base->__call('changeColumn', Array)#16[internal function]:Horde_Db_Adapter_Pdo_Sqlite->changeColumn('turba_shares',
'share_parents', 'string', Array)
#17/datastore/DEVEL/horde/framework/Db/lib/Horde/Db/Migration/Base.php(86):
call_user_func_array(Array, Array)
#18/datastore/DEVEL/horde/turba/migration/11_turba_upgrade_parents.php(31):
Horde_Db_Migration_Base->__call('changeColumn', Array)
#19/datastore/DEVEL/horde/turba/migration/11_turba_upgrade_parents.php(31):
TurbaUpgradeParents->changeColumn('turba_shares', 'share_parents',
'string', Array)
#20/datastore/DEVEL/horde/framework/Db/lib/Horde/Db/Migration/Base.php(121):
TurbaUpgradeParents->up()
#21/datastore/DEVEL/horde/framework/Db/lib/Horde/Db/Migration/Migrator.php(182):
Horde_Db_Migration_Base->migrate('up')
#22/datastore/DEVEL/horde/framework/Db/lib/Horde/Db/Migration/Migrator.php(102):
Horde_Db_Migration_Migrator->_doMigrate()
#23/datastore/DEVEL/horde/horde/admin/config/index.php(126):Horde_Db_Migration_Migrator->up()
#24{main}CREATE TEMPORARY TABLE "altered_turba_shares" ( "share_id" INTEGER
PRIMARY KEY AUTOINCREMENT NOT NULL(I, I) NOT NULL, "share_name"
varchar(255) NOT NULL, "share_owner" varchar(255) NOT NULL,
"share_flags" int NOT NULL DEFAULT 0, "perm_creator" int NOT NULL
DEFAULT 0, "perm_default" int NOT NULL DEFAULT 0,
"perm_guest" int NOT
NULL DEFAULT 0, "attribute_name" varchar(255) NOT NULL,
"attribute_desc" varchar(255), "attribute_params" text,
"share_parents" text ) [pid 5590 on line 201 of
"/datastore/DEVEL/horde/framework/Db/lib/Horde/Db/Adapter/Pdo/Base.php"]
Priority ⇒ 1. Low
Type ⇒ Bug
Summary ⇒ git HEAD: DB migration fails
Queue ⇒ Horde Base
Milestone ⇒
Patch ⇒ No
State ⇒ Unconfirmed
I just tried updating my horde git HEAD installation to the latest commit.
(The system was last updated in November 2013 or so)
Some DB migration query fails with an sqlite backend:
2014-02-27T11:06:21+01:00 ERR: HORDE [horde] SQL QUERY FAILED:
SQLSTATE[HY000]: General error: 1 near "(": syntax error
CREATE TEMPORARY TABLE "altered_kronolith_shares" ( "share_id" INTEGER
PRIMARY KEY AUTOINCREMENT NOT NULL(I, I) NOT NULL, "share_name"
varchar(255) NOT NULL, "share_owner" varchar(255) NOT NULL,
"share_flags" int NOT NULL DEFAULT 0, "perm_creator" int NOT NULL
DEFAULT 0, "perm_default" int NOT NULL DEFAULT 0,
"perm_guest" int NOT
NULL DEFAULT 0, "attribute_name" varchar(255) NOT NULL,
"attribute_desc" varchar(255), "attribute_color" varchar(7),
"share_parents" text ) [pid 5436 on line 200 of
"/datastore/DEVEL/horde/framework/Db/lib/Horde/Db/Adapter/Pdo/Base.php"]
2014-02-27T11:06:21+01:00 ERR: HORDE [horde] SQL QUERY FAILED:
SQLSTATE[HY000]: General error: 1 near "(": syntax error
CREATE TEMPORARY TABLE "altered_nag_shares" ( "share_id" INTEGER
PRIMARY KEY AUTOINCREMENT NOT NULL(I, I) NOT NULL, "share_name"
varchar(255) NOT NULL, "share_owner" varchar(255), "share_flags"
int(2) NOT NULL DEFAULT 0, "perm_creator" int(2) NOT NULL DEFAULT 0,
"perm_default" int(2) NOT NULL DEFAULT 0, "perm_guest"
int(2) NOT NULL
DEFAULT 0, "attribute_name" varchar(255) NOT NULL, "attribute_desc"
varchar(255), "attribute_color" varchar(7), "share_parents" text,
"attribute_issmart" int DEFAULT 0, "attribute_search" text
) [pid 5436 on line 200 of
"/datastore/DEVEL/horde/framework/Db/lib/Horde/Db/Adapter/Pdo/Base.php"]
2014-02-27T11:06:21+01:00 ERR: HORDE [horde] SQL QUERY FAILED:
SQLSTATE[HY000]: General error: 1 near "(": syntax error
CREATE TEMPORARY TABLE "altered_mnemo_shares" ( "share_id" INTEGER
PRIMARY KEY AUTOINCREMENT NOT NULL(I, I) NOT NULL, "share_name"
varchar(255) NOT NULL, "share_owner" varchar(255) NOT NULL,
"share_flags" int NOT NULL DEFAULT 0, "perm_creator" int NOT NULL
DEFAULT 0, "perm_default" int NOT NULL DEFAULT 0,
"perm_guest" int NOT
NULL DEFAULT 0, "attribute_name" varchar(255) NOT NULL,
"attribute_desc" varchar(255), "share_parents" text ) [pid
5436 on line 200 of
"/datastore/DEVEL/horde/framework/Db/lib/Horde/Db/Adapter/Pdo/Base.php"]
2014-02-27T11:06:21+01:00 ERR: HORDE [horde] SQL QUERY FAILED:
SQLSTATE[HY000]: General error: 1 near "(": syntax error
CREATE TEMPORARY TABLE "altered_gollem_shares" ( "share_id" INTEGER
PRIMARY KEY AUTOINCREMENT NOT NULL(I, I) NOT NULL, "share_name"
varchar(255) NOT NULL, "share_owner" varchar(255) NOT NULL,
"share_flags" int NOT NULL DEFAULT 0, "share_parents" text,
"perm_creator" int NOT NULL DEFAULT 0, "perm_default" int NOT NULL
DEFAULT 0, "perm_guest" int NOT NULL DEFAULT 0, "attribute_name"
varchar(255) NOT NULL ) [pid 5436 on line 200 of
"/datastore/DEVEL/horde/framework/Db/lib/Horde/Db/Adapter/Pdo/Base.php"]
2014-02-27T11:06:21+01:00 ERR: HORDE [horde] SQL QUERY FAILED:
SQLSTATE[HY000]: General error: 1 near "(": syntax error
CREATE TEMPORARY TABLE "altered_horde_groups" ( "group_uid" INTEGER
PRIMARY KEY AUTOINCREMENT NOT NULL(I, I) NOT NULL, "group_name"
varchar(255) NOT NULL, "group_parents" varchar(255) NOT NULL,
"group_email" varchar(255) ) [pid 5436 on line 200 of
"/datastore/DEVEL/horde/framework/Db/lib/Horde/Db/Adapter/Pdo/Base.php"]
2014-02-27T11:06:21+01:00 ERR: HORDE [horde] SQL QUERY FAILED:
SQLSTATE[HY000]: General error: 1 near "(": syntax error
CREATE TABLE "horde_imap_client_data" ( "messageid" INTEGER PRIMARY
KEY AUTOINCREMENT NOT NULL(I, I), "hostspec" varchar(255) NOT NULL,
"mailbox" varchar(255) NOT NULL, "modified" bigint, "port" int NOT
NULL, "username" varchar(255) NOT NULL ) [pid 5436 on line
200 of
"/datastore/DEVEL/horde/framework/Db/lib/Horde/Db/Adapter/Pdo/Base.php"]
2014-02-27T11:06:21+01:00 ERR: HORDE [horde] SQL QUERY FAILED:
SQLSTATE[HY000]: General error: 1 near "(": syntax error
CREATE TABLE "horde_queue_tasks" ( "task_id" INTEGER PRIMARY KEY
AUTOINCREMENT NOT NULL(I, I), "task_queue" varchar(255) NOT NULL,
"task_fields" text NOT NULL ) [pid 5436 on line 200 of
"/datastore/DEVEL/horde/framework/Db/lib/Horde/Db/Adapter/Pdo/Base.php"]
2014-02-27T11:06:21+01:00 ERR: HORDE [horde] SQL QUERY FAILED:
SQLSTATE[HY000]: General error: 1 near "(": syntax error
CREATE TEMPORARY TABLE "altered_horde_vfs" ( "vfs_id" INTEGER PRIMARY
KEY AUTOINCREMENT NOT NULL(I, I) NOT NULL, "vfs_type" int NOT NULL,
"vfs_path" varchar(255) NOT NULL, "vfs_name" varchar(255) NOT NULL,
"vfs_modified" int NOT NULL, "vfs_owner" varchar(255) NOT NULL,
"vfs_data" blob ) [pid 5436 on line 200 of
"/datastore/DEVEL/horde/framework/Db/lib/Horde/Db/Adapter/Pdo/Base.php"]
Cheers,
Thomas