mergejoin error message executing in 7.2

Поиск
Список
Период
Сортировка
От kevin rowe
Тема mergejoin error message executing in 7.2
Дата
Msg-id 000701c33fc1$b83dc600$3401a8c0@kevin
обсуждение исходный текст
Ответы Re: mergejoin error message executing in 7.2  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-sql
hi there,

I have a problem trying to execute a complex query that was designed in
7.3.2 to a machine running 7.2.x

this is the error message

FULL JOIN is only supported with mergejoinable join conditions

this is the source string for a jdbc prepared statement. (it has ordering
clause added at the end using string concatenation)
this string works fine in 7.3.2 but fails runtime in 7.2.

Does anyone know what the problem is?
I can't find the message on the net anywhere except in the 'C' source on
postgres's developer channel or some japanese site (sigh).
strSQL =    "SELECT stock," +                   "       p.description," +                   "       p.stockgroup," +
              "       o.ordercurrent," +                   "       o.type," +                   "       s.quantity," +
                "       a.ordercurrent, " +                   "       a.type " +                   "  FROM " +
        "       (SELECT stock,ordercurrent,type,line " +                   "          FROM orderlines o " +
     "         WHERE o.theorder = ? " +                   "           AND (o.TYPE='P' OR o.TYPE='T') ) AS o" +
        "  FULL OUTER JOIN " +                   "       (SELECT DISTINCT ON (stock) stock,quantity " +
 "          FROM standingorders s " +                   "         WHERE s.account = ? " +                   "
ANDs.dayno = ? " +                   "           AND s.delivery = ? "+                   "           AND commencedate
<=? " +                   "         ORDER BY stock, commencedate DESC) AS s " +                   " USING (stock) " +
               "  FULL OUTER JOIN " +                   "       (SELECT stock,ordercurrent,type " +                   "
        FROM orderlines ol " +                   "         WHERE ol.theorder = ? " +                   "           AND
ol.TYPE<>'P'" +                   "           AND ol.TYPE<>'T' ) AS a " +                   " USING (stock) " +
         " INNER JOIN stockitems p ON (p.id=stock) " +                   " WHERE p.status='N' " +                   "
ORDERBY ";
 

Any help greatly appreciated.

Regards,
Kevin



В списке pgsql-sql по дате отправления:

Предыдущее
От: "Alon Noy"
Дата:
Сообщение: passing a record as a function argument in pl/pgsql
Следующее
От: Tom Lane
Дата:
Сообщение: Re: mergejoin error message executing in 7.2