IIUC, tabulka rosterusers
je pouze pro čtení z POV vašeho eJabberd
serverová aplikace. To by usnadnilo jeho nahrazení view
, který vytvoří potřebné 2 řádky z 1 řádku ve vaší vlastní tabulce přátel.
Neznám strukturu vaší vlastní tabulky přátelství, nemohu vám poskytnout úplný kód, ale zde je to, co jsem považoval za pseudo-SQL
CREATE VIEW rosterusers AS SELECT * FROM (
SELECT
selfuser.name AS username,
frienduser.jid AS jid,
-- ....,
selfuser.jid AS jid_as_id
FROM
users AS selfuser
INNER JOIN friendships ON ....
INNER JOIN users AS frienduser ON ...
UNION SELECT
frienduser.name AS username,
selfuser.jid AS jid,
-- ....,
frienduser.jid AS jid_as_id
FROM
users AS selfuser
INNER JOIN friendships ON ....
INNER JOIN users AS frienduser ON ...
);
a poté
SELECT
username, jid, subscription, ask, server, type
FROM rosterusers
WHERE jid_as_id='[email protected]'
by vám měl poskytnout 2 řádky, jeden z každé části UNION
v zobrazení