[#14565] Oracle Database issue kronolith_event
Summary Oracle Database issue kronolith_event
Queue Kronolith
Queue Version 4.2.18
Type Bug
State Unconfirmed
Priority 2. Medium
Requester ico@cc.upv.es
Created 2017-01-24 (1543 days ago)
Updated 2018-02-21 (1150 days ago)
Patch No

ico@cc.upv.es 2017-01-24 11:47:23
Webmail Edition 5.2.16

When inserting a new event in Kronolith code don't set 'event_baseid' value.
Table definition sets this default value to '' (empty string) buy 
Oracle change this value to NULL.

Later, when user does an Export to ics file (or from Thunderbird 
Lightning with CalDAV), the query executed is like:

    Jan 13 10:19:17 DEBUG: HORDE [kronolith] SQL (0,0018s)
             SELECT event_id, event_uid, event_description, event_location,
               event_private, event_status, event_attendees, event_title,
               event_recurcount, event_url, event_timezone, event_recurtype,
               event_recurenddate, event_recurinterval, event_recurdays,
               event_end, event_allday, event_alarm, event_alarm_methods,
               event_modified, event_exceptions, event_creator_id,
               event_baseid, event_exceptionoriginaldate FROM
    kronolith_events WHERE
               calendar_id = 'A8mzyMqs_CkXoK11wyMtam1' AND event_baseid
    = '' [pid 10108 on line 328 of

and there is not results.

'event_baseid' is defined with default value = '', but nullable.
Oracle treats empty strings like nulls.

By doing a little change in /horde/kronolith/lib/Driver/Sql.php line 
296 like this:
             // ICO - UPV Oracle no entiende ''
             //$conditions .= "event_baseid = ''";
             $conditions .= "event_baseid IS NULL";

the problem  is workaround.

I don't know if this is the right solution or there is another better.

Maybe you can solve this issue in next software version.


ico@cc.upv.es 2018-02-21 12:47:19
Issue is not yet solved.