postgresql host=127.0.0.1 user=jabber14 password=test dbname=jabber14 jabber:server jabber:iq:auth jabber:iq:last jabber:iq:register jabber:iq:roster jabber:iq:browse vcard-temp http://jabberd.org/ns/storedsubscriptionrequest jabber:iq:private jabber:iq:privacy http://jabberd.org/ns/wrapper SELECT xml FROM last WHERE realm=SUBSTR('{attribute::to}', STRPOS('{attribute::to}', '@')+1) AND "user"=SUBSTR('{attribute::to}', 1, STRPOS('{attribute::to}', '@')-1) INSERT INTO last ("user", realm, "last", text, xml) VALUES (SUBSTR('{attribute::to}', 1, STRPOS('{attribute::to}', '@')-1), SUBSTR('{attribute::to}', STRPOS('{attribute::to}', '@')+1), '{last:query/attribute::last}', '{last:query/text()}', '{last:query}') DELETE FROM last WHERE realm=SUBSTR('{attribute::to}', STRPOS('{attribute::to}', '@')+1) AND "user"=SUBSTR('{attribute::to}', 1, STRPOS('{attribute::to}', '@')-1) SELECT "password" FROM users WHERE realm=SUBSTR('{attribute::to}', STRPOS('{attribute::to}', '@')+1) AND "user"=SUBSTR('{attribute::to}', 1, STRPOS('{attribute::to}', '@')-1) INSERT INTO users ("user",realm,"password") VALUES (SUBSTR('{attribute::to}', 1, STRPOS('{attribute::to}', '@')-1), SUBSTR('{attribute::to}', STRPOS('{attribute::to}', '@')+1), '{auth:password/text()}') DELETE FROM users WHERE realm=SUBSTR('{attribute::to}', STRPOS('{attribute::to}', '@')+1) AND "user"=SUBSTR('{attribute::to}', 1, STRPOS('{attribute::to}', '@')-1) SELECT xml FROM storedsubscriptionrequests WHERE realm=SUBSTR('{attribute::to}', STRPOS('{attribute::to}', '@')+1) AND "user"=SUBSTR('{attribute::to}', 1, STRPOS('{attribute::to}', '@')-1) INSERT INTO storedsubscriptionrequests ("user", realm, fromjid, xml) VALUES (SUBSTR('{attribute::to}', 1, STRPOS('{attribute::to}', '@')-1), SUBSTR('{attribute::to}', STRPOS('{attribute::to}', '@')+1), '{presence/attribute::from}', '{presence}') DELETE FROM storedsubscriptionrequests WHERE realm=SUBSTR('{attribute::to}', STRPOS('{attribute::to}', '@')+1) AND "user"=SUBSTR('{attribute::to}', 1, STRPOS('{attribute::to}', '@')-1) AND (CASE WHEN '{attribute::matchpath}'='' THEN 1=1 ELSE fromjid=SUBSTR(SUBSTR('{attribute::matchpath}', 1, LENGTH('{attribute::matchpath}')-2), 17) AND SUBSTR('{attribute::matchpath}', 1, 15)='presence[@from=' END) SELECT xml FROM messages WHERE realm=SUBSTR('{attribute::to}', STRPOS('{attribute::to}', '@')+1) AND "user"=SUBSTR('{attribute::to}', 1, STRPOS('{attribute::to}', '@')-1) AND type='offline' ORDER BY storetime INSERT INTO messages ("user", realm, node, correspondent, type, storetime, subject, body, xml) VALUES (SUBSTR('{attribute::to}', 1, STRPOS('{attribute::to}', '@')-1), SUBSTR('{attribute::to}', STRPOS('{attribute::to}', '@')+1), NULLIF('{message/attribute::node}', ''), SUBSTR('{message/attribute::from}/', 1, STRPOS('{message/attribute::from}/', '/')-1), 'offline', now(), NULLIF('{message/subject}', ''), '{message/body/text()}', '{message}') DELETE FROM messages WHERE realm=SUBSTR('{attribute::to}', STRPOS('{attribute::to}', '@')+1) AND "user"=SUBSTR('{attribute::to}', 1, STRPOS('{attribute::to}', '@')-1) AND type='offline' AND (CASE WHEN '{attribute::matchpath}'='' THEN 1=1 ELSE node=SUBSTR(SUBSTR('{attribute::matchpath}', 1, LENGTH('{attribute::matchpath}')-2), 16) AND SUBSTR('{attribute::matchpath}', 1, 14)='message[@node=' END) SELECT xml FROM messages WHERE realm=SUBSTR('{attribute::to}', STRPOS('{attribute::to}', '@')+1) AND "user"=SUBSTR('{attribute::to}', 1, STRPOS('{attribute::to}', '@')-1) AND type!='offline' INSERT INTO messages ("user", realm, correspondent, type, storetime, delivertime, subject, body, xml) VALUES (SUBSTR('{attribute::to}', 1, STRPOS('{attribute::to}', '@')-1), SUBSTR('{attribute::to}', STRPOS('{attribute::to}', '@')+1), (CASE WHEN '{message/attribute::direction}'='sent' THEN SUBSTR('{message/attribute::to}/', 1, STRPOS('{message/attribute::to}/', '/')-1) ELSE SUBSTR('{message/attribute::from}/', 1, STRPOS('{message/attribute::from}/', '/')-1) END), (CASE WHEN '{message/attribute::direction}'='sent' THEN 'sent' ELSE 'recv' END), now(), (CASE WHEN '{message/attribute::direction}'='sent' THEN NULL ELSE now() END), '{message/subject/text()}', '{message/body/text()}', '{message}') DELETE FROM messages WHERE realm=SUBSTR('{attribute::to}', STRPOS('{attribute::to}', '@')+1) AND "user"=SUBSTR('{attribute::to}', 1, STRPOS('{attribute::to}', '@')-1) SELECT 'this namespace is never selected' INSERT INTO presence ("user",realm,presence,priority,status,timestamp) VALUES (SUBSTR('{attribute::to}', 1, STRPOS('{attribute::to}', '@')-1), SUBSTR('{attribute::to}', STRPOS('{attribute::to}', '@')+1), IF ('{presence}'='','unavailable', IF ('{presence/show/text()}'='','available', '{presence/show/text()}')), IF ('{presence/priority/text()}'='', '0', '{presence/priority/text()}'), '{presence/status/text()}', now()) DELETE FROM presence WHERE realm=SUBSTR('{attribute::to}', STRPOS('{attribute::to}', '@')+1) AND "user"=SUBSTR('{attribute::to}', 1, STRPOS('{attribute::to}', '@')-1) SELECT xml FROM private WHERE realm=SUBSTR('{attribute::to}', STRPOS('{attribute::to}', '@')+1) AND "user"=SUBSTR('{attribute::to}', 1, STRPOS('{attribute::to}', '@')-1) ORDER BY last_modified INSERT INTO private ("user",realm,ns,xml,last_modified) VALUES (SUBSTR('{attribute::to}', 1, STRPOS('{attribute::to}', '@')-1), SUBSTR('{attribute::to}', STRPOS('{attribute::to}', '@')+1), '{*/attribute::jabberd:ns}', '{private:query}', NOW()) DELETE FROM private WHERE realm=SUBSTR('{attribute::to}', STRPOS('{attribute::to}', '@')+1) AND "user"=SUBSTR('{attribute::to}', 1, STRPOS('{attribute::to}', '@')-1) AND (CASE WHEN '{attribute::matchpath}'='' THEN 1=1 ELSE ns=SUBSTR(SUBSTR('{attribute::matchpath}', 1, LENGTH('{attribute::matchpath}')-2), 28) AND SUBSTR('{attribute::matchpath}', 1, 26)='private:query[@jabberd:ns=' END) SELECT xml FROM privacy WHERE realm=SUBSTR('{attribute::to}', STRPOS('{attribute::to}', '@')+1) AND "user"=SUBSTR('{attribute::to}', 1, STRPOS('{attribute::to}', '@')-1) ORDER BY last_modified INSERT INTO privacy ("user",realm,name,xml,last_modified,isdefault) VALUES (SUBSTR('{attribute::to}', 1, STRPOS('{attribute::to}', '@')-1), SUBSTR('{attribute::to}', STRPOS('{attribute::to}', '@')+1), SUBSTR(SUBSTR('{attribute::matchpath}', 1, LENGTH('{attribute::matchpath}')-2), 21), '{privacy:list}', NOW(), (CASE WHEN '{*/attribute::jabberd:default}' = '' THEN NULL ELSE 'default' END)) DELETE FROM privacy WHERE realm=SUBSTR('{attribute::to}', STRPOS('{attribute::to}', '@')+1) AND "user"=SUBSTR('{attribute::to}', 1, STRPOS('{attribute::to}', '@')-1) AND (CASE WHEN '{attribute::matchpath}'='' THEN 1=1 ELSE name=SUBSTR(SUBSTR('{attribute::matchpath}', 1, LENGTH('{attribute::matchpath}')-2), 21) AND SUBSTR('{attribute::matchpath}', 1, 19)='privacy:list[@name=' END) SELECT "user",mailaddress FROM mailaddresses WHERE realm=SUBSTR('{attribute::to}', STRPOS('{attribute::to}', '@')+1) AND "user"=SUBSTR('{attribute::to}', 1, STRPOS('{attribute::to}', '@')-1) INSERT INTO mailaddresses ("user", realm, mailaddress, lastmodified) VALUES (SUBSTR('{attribute::to}', 1, STRPOS('{attribute::to}', '@')-1), SUBSTR('{attribute::to}', STRPOS('{attribute::to}', '@')+1), NULLIF('{register:query/register:email/text()}', ''), now()) DELETE FROM mailaddresses WHERE realm=SUBSTR('{attribute::to}', STRPOS('{attribute::to}', '@')+1) AND "user"=SUBSTR('{attribute::to}', 1, STRPOS('{attribute::to}', '@')-1) SELECT xml FROM roster WHERE realm=SUBSTR('{attribute::to}', STRPOS('{attribute::to}', '@')+1) AND "user"=SUBSTR('{attribute::to}', 1, STRPOS('{attribute::to}', '@')-1) INSERT INTO roster ("user", realm, xml) VALUES (SUBSTR('{attribute::to}', 1, STRPOS('{attribute::to}', '@')-1), SUBSTR('{attribute::to}', STRPOS('{attribute::to}', '@')+1), '{roster:query}') DELETE FROM roster WHERE realm=SUBSTR('{attribute::to}', STRPOS('{attribute::to}', '@')+1) AND "user"=SUBSTR('{attribute::to}', 1, STRPOS('{attribute::to}', '@')-1) SELECT xml FROM browse WHERE realm=SUBSTR('{attribute::to}', STRPOS('{attribute::to}', '@')+1) AND "user"=SUBSTR('{attribute::to}', 1, STRPOS('{attribute::to}', '@')-1) INSERT INTO browse ("user", realm, xml) VALUES (SUBSTR('{attribute::to}', 1, STRPOS('{attribute::to}', '@')-1), SUBSTR('{attribute::to}', STRPOS('{attribute::to}', '@')+1), '{*}') DELETE FROM browse WHERE realm=SUBSTR('{attribute::to}', STRPOS('{attribute::to}', '@')+1) AND "user"=SUBSTR('{attribute::to}', 1, STRPOS('{attribute::to}', '@')-1) SELECT xml FROM vcard WHERE realm=SUBSTR('{attribute::to}', STRPOS('{attribute::to}', '@')+1) AND "user"=SUBSTR('{attribute::to}', 1, STRPOS('{attribute::to}', '@')-1) INSERT INTO vcard ("user", realm, name, email, nickname, birthday, photo, xml) VALUES (SUBSTR('{attribute::to}', 1, STRPOS('{attribute::to}', '@')-1), SUBSTR('{attribute::to}', STRPOS('{attribute::to}', '@')+1), (CASE WHEN '{vcard:vCard/vcard:FN/text()}'!='' THEN '{vcard:vCard/vcard:FN/text()}' WHEN '{vcard:vCard/vcard:N/vcard:GIVEN/text()}'!='' AND '{vcard:vCard/vcard:N/vcard:MIDDLE/text()}'!='' AND '{vcard:vCard/vcard:N/vcard:FAMILY/text()}'!='' THEN '{vcard:vCard/vcard:N/vcard:GIVEN/text()}' || '{vcard:vCard/vcard:N/vcard:MIDDLE/text()}' || '{vcard:vCard/vcard:N/vcard:FAMILY/text()}' WHEN '{vcard:vCard/vcard:N/vcard:GIVEN/text()}'!='' AND '{vcard:vCard/vcard:N/vcard:FAMILY/text()}'!='' THEN '{vcard:vCard/vcard:N/vcard:GIVEN/text()}' || '{vcard:vCard/vcard:N/vcard:FAMILY/text()}' WHEN '{vcard:vCard/vcard:N/vcard:GIVEN/text()}'!='' THEN '{vcard:vCard/vcard:N/vcard:GIVEN/text()}' WHEN '{vcard:vCard/vcard:N/vcard:FAMILY/text()}'!='' THEN '{vcard:vCard/vcard:N/vcard:FAMILY/text()}' ELSE NULL END), NULLIF('{vcard:vCard/vcard:EMAIL/vcard:USERID/text()}', ''), NULLIF('{vcard:vCard/vcard:NICKNAME/text()}', ''), NULLIF('{vcard:vCard/vcard:BDAY/text()}', ''), NULLIF('{vcard:vCard/vcard:PHOTO/vcard:BINVAL/text()}', ''), '{vcard:vCard}') DELETE FROM vcard WHERE realm=SUBSTR('{attribute::to}', STRPOS('{attribute::to}', '@')+1) AND "user"=SUBSTR('{attribute::to}', 1, STRPOS('{attribute::to}', '@')-1)