6.0.0-RC7
6/27/26

[#368] adding an invitation to calendar results in DB error / reusing event_ids as a primary key
Summary adding an invitation to calendar results in DB error / reusing event_ids as a primary key
Queue Kronolith
Queue Version HEAD
Type Bug
State Resolved
Priority 2. Medium
Owners chuck (at) horde (dot) org
Requester be (at) berdmann (dot) de
Created 7/10/04 (8022 days ago)
Due
Updated 9/24/04 (7946 days ago)
Assigned 7/10/04 (8022 days ago)
Resolved 9/24/04 (7946 days ago)
Github Issue Link
Github Pull Request
Milestone
Patch No

History
272 Chuck Hagenbuch Comment #4
State ⇒ Resolved
Reply to this comment
This error is fixed now. Kronolith still needs the changes that were 
made to nag for UID tracking, but that's seperate.
509 be (at) berdmann (dot) de Comment #3 Reply to this comment
By modifying the primary key of kronolith_events requests by others 
can be inserted into my own calendar:



PRIMARY KEY (event_id)   =>   PRIMARY KEY (event_id,calendar_id)





OLD:



CREATE TABLE kronolith_events (

   event_id varchar(32) NOT NULL default '',

   calendar_id varchar(255) NOT NULL default '',

   event_creator_id varchar(255) NOT NULL default '',

   event_description text,

   event_location text,

   event_status int(11) default '0',

   event_attendees text,

   event_keywords text,

   event_exceptions text,

   event_title varchar(80) default NULL,

   event_category varchar(80) default NULL,

   event_recurtype varchar(11) default '0',

   event_recurinterval varchar(11) default NULL,

   event_recurdays varchar(11) default NULL,

   event_recurenddate datetime default NULL,

   event_start datetime default NULL,

   event_end datetime default NULL,

   event_alarm int(11) default '0',

   event_modified int(11) NOT NULL default '0',

   PRIMARY KEY  (event_id),

   KEY kronolith_calendar_idx (calendar_id)

) TYPE=MyISAM;





NEW:



CREATE TABLE kronolith_events (

   event_id varchar(32) NOT NULL default '',

   calendar_id varchar(255) NOT NULL default '',

   event_creator_id varchar(255) NOT NULL default '',

   event_description text,

   event_location text,

   event_status int(11) default '0',

   event_attendees text,

   event_keywords text,

   event_exceptions text,

   event_title varchar(80) default NULL,

   event_category varchar(80) default NULL,

   event_recurtype varchar(11) default '0',

   event_recurinterval varchar(11) default NULL,

   event_recurdays varchar(11) default NULL,

   event_recurenddate datetime default NULL,

   event_start datetime default NULL,

   event_end datetime default NULL,

   event_alarm int(11) default '0',

   event_modified int(11) NOT NULL default '0',

   PRIMARY KEY  (event_id,calendar_id),

   KEY kronolith_calendar_idx (calendar_id)

) TYPE=MyISAM;




452 Chuck Hagenbuch Comment #2
State ⇒ Assigned
Priority ⇒ 2. Medium
Assigned to Chuck Hagenbuch
Reply to this comment
Known problem (see the release Wiki). Will definitely be fixed before 
stable release.
2711 be (at) berdmann (dot) de Comment #1
State ⇒ Unconfirmed
Priority ⇒ 2. Medium
Type ⇒ Bug
Queue ⇒ Kronolith
Reply to this comment
I get a DB error when I try to add an invitation to my calendar.



"Beim Importieren des Termins ist ein Fehler aufgetreten: DB Error:

already exists."



I use shared calendars. Person 1 (gl) registers an event and sends an

invitation to person 2 (be). Person 2 looks it up using IMP, clicks on

the attachment and on "add to my calendar".



Kronolith tries to store the event for person 2 in kronolith_events

using the same event_id already used for the event. DB error because

event_id is the table's primary key.





Jul 10 12:34:04 HORDE [debug] [kronolith] SQL event store by gl: query =

"INSERT INTO kronolith_events (event_id, event_creator_id, event_title,

event_description, event_category, event_location, event_status,

event_attendees, event_keywords, event_exceptions, event_modified,

event_start, event_end, event_alarm, event_recurtype, calendar_id)values

('8dbcf601aaec8e781f2792005994bdb1','gl','FEG','','','Pforzheim','3','a:1:{s:14:\"be@berdmann.de\";a:2:{s:10:\"attendance\";s:1:\"2\";s:8:\"response\";i:1;}}','','',1089455644,'2004-07-11

10:00:00','2004-07-11 12:00:00',0,'0','gl') " [on line 291 of

"/opt/apache/htdocs/horde/kronolith/lib/Driver/sql.php"]



Jul 10 12:37:01 HORDE [debug] [kronolith] SQL event store by be: query =

"INSERT INTO kronolith_events (event_id, event_creator_id, event_title,

event_description, event_category, event_location, event_status,

event_attendees, event_keywords, event_exceptions, event_modified,

event_start, event_end, event_alarm, event_recurtype,

event_recurinterval, event_recurenddate, event_recurdays,

calendar_id)values

('8dbcf601aaec8e781f2792005994bdb1','be','FEG','',0,'Pforzheim',2,'a:0:{}','','',1089455821,'2004-07-11

10:00:00','2004-07-11 12:00:00',0,2,'1','99991231',1,'be') " [on line

291 of "/opt/apache/htdocs/horde/kronolith/lib/Driver/sql.php"]



Jul 10 12:37:01 HORDE [error] [kronolith] DB Error: already exists:

INSERT INTO kronolith_events (event_id, event_creator_id, event_title,

event_description, event_category, event_location, event_status,

event_attendees, event_keywords, event_exceptions, event_modified,

event_start, event_end, event_alarm, event_recurtype,

event_recurinterval, event_recurenddate, event_recurdays,

calendar_id)values

('8dbcf601aaec8e781f2792005994bdb1','be','FEG','',0,'Pforzheim',2,'a:0:{}','','',1089455821,'2004-07-11

10:00:00','2004-07-11 12:00:00',0,2,'1','99991231',1,'be')

[nativecode=1062 ** Duplicate entry '8dbcf601aaec8e781f2792005994bdb1'

for key 1] [on line 295 of

"/opt/apache/htdocs/horde/kronolith/lib/Driver/sql.php"]


Saved Queries