[kronolith] Oracle Database issue kronolith_event

Ico Izquierdo ico at cc.upv.es
Wed Jan 18 13:38:13 UTC 2017


Hi,
Installation: 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_start,
               event_end, event_allday, event_alarm, event_alarm_methods,
               event_modified, event_exceptions, event_creator_id,
    event_resources,
               event_baseid, event_exceptionoriginaldate FROM
    kronolith_events WHERE
               calendar_id = 'A8mzyMqs_CkXoK11wyMtam1' AND event_baseid
    = '' [pid 10108 on line 328 of
    "/usr/share/pear/Horde/Db/Adapter/Oci8.php"]

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.

Thanks

-- 
Ico Izquierdo
Analista-Programador
ASIC - UPV



More information about the kronolith mailing list