Hi!

I've dug in a little bit and foudn out, that the problem is related with the column type returned from the database:

postgresql:

Mar 28 12:03:39 ds3000 /usr/sbin/openser[22560]: PG[str2val]: Converting STRING [<?xml version='1.0' encoding='UTF-8'?><presence xmlns='urn:ietf:params:xml:ns:pidf' xmlns:dm='urn:ietf:params:xml:ns:pidf:data-model' xmlns:rpid='urn:ietf:params:xml:ns:pidf:rpid' xmlns:c='urn:ietf:params:xml:ns:pidf:cipid' entity='sip:[EMAIL PROTECTED]'><tuple id='tce39da66'><status><basic>open</basic></status></tuple><dm:person id='pc331fb2a'><rpid:activities><rpid:busy/></rpid:activities><dm:note>bin angfressn</dm:note></dm:person></presence>]
Mar 28 12:03:39 ds3000 /usr/sbin/openser[22560]: PG[convert_row]: col[1]
Mar 28 12:03:39 ds3000 /usr/sbin/openser[22560]: PG[str2val]: Converting INT [1175079819]
Mar 28 12:03:39 ds3000 /usr/sbin/openser[22560]: PG[convert_row]: col[2]
Mar 28 12:03:39 ds3000 /usr/sbin/openser[22560]: PG[str2val]: Converting STRING [a.1175076129.22555.1] Mar 28 12:03:39 ds3000 /usr/sbin/openser[22560]: PG[convert_rows]: [0][1] Col[expires] Type[0] Freeing row_buf[0x814f5b8] Mar 28 12:03:39 ds3000 /usr/sbin/openser[22560]: PG[convert_rows]: 0x814f5b8=pkg_free() row_buf[1] Mar 28 12:03:39 ds3000 /usr/sbin/openser[22560]: PG[convert_rows]: 0x814f3a8=pkg_free() row_buf Mar 28 12:03:39 ds3000 /usr/sbin/openser[22560]: PG[free_query]: PQclear(0x824dcd8) result set Mar 28 12:03:39 ds3000 /usr/sbin/openser[22560]: PRESENCE:agregate_xmls: ERROR while parsing xml body message



Mysql (I added some log statements)
Mar 28 13:02:32 ds3000 /usr/sbin/openser[24334]: MY[str2val]: Converting BLOB [<?xml version='1.0' encoding='UTF-8'?><presence xmlns='urn:ietf:params:xml:ns:pidf' xmlns:dm='urn:ietf:params:xml:ns:pidf:data-model' xmlns:rpid='urn:ietf:params:xml:ns:pidf:rpid' xmlns:c='urn:ietf:params:xml:ns:pidf:cipid' entity='sip:[EMAIL PROTECTED]'><tuple id='t5415d91e'><status><basic>open</basic></status></tuple><dm:person id='p7160ae47'><rpid:activities><rpid:unknown/></rpid:activities></dm:person></presence>] Mar 28 13:02:32 ds3000 /usr/sbin/openser[24334]: MY[str2val]: Converting INT [1175083352] Mar 28 13:02:32 ds3000 /usr/sbin/openser[24334]: MY[str2val]: Converting STRING [a.1175078329.23624.21] Mar 28 13:02:32 ds3000 /usr/sbin/openser[24334]: PRESENCE:notify:dialog informations:


Thus, "text" is returned from postgres as DB_STRING and from mysql as DB_BLOB. Thus, the question is: Why is the DB_STRING from postgres not accepted? By changing text to bytea in postgres the column type is also DB_BLOB and presence works fine.

The question: Should we evaluate why DB_STRING column type can be processed by presence module or just use bytea in postgres as workaround?

regards
klaus

Klaus Darilion wrote:
Hi!

There are 2 tables/columns where XML content is stored. These use different column types:

                |  postgres  |   mysql
----------------+------------+------------
presentity.body |   bytea    |   text
xcap_xml.xcap   |   text     |   text

I wonder why we use bytea in postgresql only in presentity table. If there is a problem with text in presentity table, but not in xcap_xml table then I guess the problem is not the column type but somewhere else.

IMO we should try to be more consistent.

regards
klaus

_______________________________________________
Devel mailing list
Devel@openser.org
http://openser.org/cgi-bin/mailman/listinfo/devel

_______________________________________________
Devel mailing list
Devel@openser.org
http://openser.org/cgi-bin/mailman/listinfo/devel

Reply via email to