Summary | SQL-Problems during sync |
Queue | Kronolith |
Queue Version | 3.0.2 |
Type | Bug |
State | Resolved |
Priority | 1. Low |
Owners | jan (at) horde (dot) org, mrubinsk (at) horde (dot) org |
Requester | uli-ho (at) uli-eckhardt (dot) de |
Created | 06/01/2011 (5171 days ago) |
Due | |
Updated | 08/05/2011 (5106 days ago) |
Assigned | 06/02/2011 (5170 days ago) |
Resolved | 06/16/2011 (5156 days ago) |
Github Issue Link | |
Github Pull Request | |
Milestone | |
Patch | No |
able to update via pear now.
Thanks a lot,
Andreas
But .. why is that patch not in 4.0.2?
Thanks, Christopher
Thanks a lot,
Andreas
Assigned to Michael Rubinsky
Assigned to Jan Schneider
Always treat these values as strings.
We have already filtered out the actual integer ids, these values
will always represent object/type names, not ids.
Should fix
bug: 101712 files changed, 18 insertions(+), 7 deletions(-)
http://git.horde.org/horde-git/-/commit/fdb8a263980a6d768dd07987417152bcb302e80a
New Attachment: content_lib_Objects_Manager.patch
8.4) when upgrading from kronolith-H3 with event-uid-entrys of all
numbers (mis-interpreted as integer). The reason seems to be a missing
quotation of $objectName (here the event_uid) in line 116 to 118 in
/var/www/horde/content/lib/Objects/Manager.php:
foreach ($this->_db->selectAll('SELECT object_id, object_name FROM ' .
$this->_t('objects')
. ' WHERE object_name IN (' . implode(',', array_map(array($this->_db,
'quote'), array_keys($objectName)))
. ') AND type_id = ' . $type) as $row) {
If I leave out the mapping to array($this->_db, 'quote') and
hard-encode the quotes, it solves the problem for me:
foreach ($this->_db->selectAll("SELECT object_id, object_name FROM " .
$this->_t('objects')
. " WHERE object_name IN ('" . implode("','", array_keys($objectName))
. "') AND type_id = " . $type) as $row) {
(see also appended patch).
I have no idea if this does work with other DB-backends too, though,
as I don't really understand the use of the 'quote'-mapping in the
first place.
Andreas
More UID casting to string (
Bug #10171).1 files changed, 4 insertions(+), 4 deletions(-)
http://git.horde.org/horde-git/-/commit/737b1dfab0273170e1af77853cd8d1437e2aec9b
tried to convert my old backup of the last horde version to the
current version and get an similar error:
SQLSTATE[42883]: Undefined function: 7 FEHLER: Operator existiert
nicht: character varying = integer ZEILE 1: ...ect_name FROM
"rampage_objects" WHERE object_name IN (941282... ^ TIP: Kein Operator
stimmt mit dem angegebenen Namen und den Argumenttypen überein. Sie
müssen möglicherweise ausdrückliche Typumwandlungen hinzufügen.
HORDE: HORDE [horde] SQL QUERY FAILED: SQLSTATE[42883]: Undefined
function: 7 FEHLER: Operator existiert nicht: character varying =
integer ZEILE 1: ...ect_name FROM "rampage_objects" WHERE object_name
IN (941282...
^ TIP: Kein Operator stimmt mit dem angegebenen Namen und den
Argumenttypen überein. Sie müssen möglicherweise ausdrückliche
Typumwandlungen hinzufügen. ^ISELECT object_id, object_name FROM
"rampage_objects" WHERE object_name ^I IN (941282435) AND type_id = 2
[pid 1948 on line 792 of "/usr/share/php/Horde/Db/Adapter/Base.php"]
State ⇒ Feedback
Cast UID to string (
Bug #10171).1 files changed, 1 insertions(+), 1 deletions(-)
http://git.horde.org/horde-git/-/commit/ab440a607223e9e46b0af022f1a1158d71584ca1
Priority ⇒ 1. Low
State ⇒ Unconfirmed
Patch ⇒ No
Milestone ⇒
Summary ⇒ SQL-Problems during sync
Type ⇒ Bug
Queue ⇒ Kronolith
following SQL-Error when i try to sync the calendar data from my
mobile phone to the server:
h1690828 HORDE: HORDE [horde] SQLSTATE[42883]: Undefined function: 7
FEHLER: Operator existiert nicht: character varying = integer LINE 1:
...riginaldate FROM kronolith_events WHERE event_uid = 96437035 ...
^ HINT: Kein
Operator stimmt mit dem angegebenen Namen und den Argumenttypen überein.
Sie müssen möglicherweise ausdrückliche Typumwandlungen hinzufügen. [pid
14062 on line 481 of "/var/apache/mail/kronolith/lib/Driver/Sql.php"]
Since event_uid is of type character, this error message is correct. I
had equal problems when i tried to convert the old Horde 3.x
installation. Several conversion scripts complained about the numeric
event_uid.
This happens always when the event_uid for some reasons contains only
numbers. Deleting this one event with the numeric uid solved at least
my sync problem, but it looks like the framework or database driver
does some guesswork on the type. Whenever the event_uid is only
numeric the wrong type integer instead of character is guessed,
leading to this error message.
The horde installation runs on Debian 6.0.1 with postgresql 8.4.