У меня есть несколько запросов, выполняемых в java-программе, которая использует базу данных PostgreSQL и некоторые части старой версии JDataStore (части, используемые для взаимодействия с базой данных). Иногда запросы отправляются в базу данных дважды с одного выполнения запроса. Еще более странным является то, что первый отправленный запрос немного отличается от второго и является неправильным. Например:
First Query (incorrect)
SELECT b."construct_id", c."instance_id", a.SymbolName, c.Address AddressDecimal,
c.Description, b.ConstructName, a.DeclarationType, a.Symbol_id,
a.SymbolType_id, a.Construct_id, a.Leaf
FROM tblSymbolDeclaration a, tblLanguageConstructName b, tblSymbolInstance c
WHERE a.Construct_id = b.Construct_id and a.Symbol_id = c.Symbol_id
and a.DeclarationType = 1 and a.Root = 1
Обратите внимание на два поля в начале этого запроса и отсутствие слова «как» по сравнению с этим:
Second Query (correct)
SELECT a.SymbolName, c.Address as AddressDecimal, c.Description,
b.ConstructName, a.DeclarationType, a.Symbol_id, a.SymbolType_id,
a.Construct_id, a.Leaf
FROM tblSymbolDeclaration a, tblLanguageConstructName b, tblSymbolInstance c
WHERE a.Construct_id = b.Construct_id and a.Symbol_id = c.Symbol_id
and a.DeclarationType = 1 and a.Root = 1
У нас есть установленный список запросов, которые мы используем, и первого запроса даже нет в этом списке. Что может вызвать это? (Извините, что я не предоставил код, но в этой ситуации это невозможно).