С прогрессом 9.1е я использую динамические запросы для создания расширяемых выводов данных.Поля Фраза Иногда игнорируется в динамическом запросе
Я использую запрос вида
FOR EACH tableName FIELDS(fieldName1 fieldName2) NO-LOCK
WHERE fieldName3 = "Value"
AND fieldName4 = "AnotherValue"
и для некоторых из этих запросов, в частности те, с несколькими полей в таблице, поля фраза работает и поиск только по запросу.
Однако, по другим запросам, интересным тем, у кого гораздо больше времени, и сложным спискам полей (включая массивы и т. Д.), Он извлекает всю запись.
Я читал различные обсуждения по извлечению дополнительных полей, необходимых для объединений, но я упростил свои запросы, так что это не проблема.
В запросе указывается no-lock, как и параметр get-next, поэтому полная запись для исключительной блокировки также не должна быть релевантной.
Существуют ли другие критерии, по которым Progress решает выбрать всю запись и есть ли способ ее остановить?
Единственный раз, когда вы должны заботиться об извлеченных FIELDS, происходит медленное сетевое соединение, чтобы минимизировать сетевой трафик. –
@TimKuehn - это может быть предназначено для использования, но я пытаюсь создать динамический процесс запроса, который позволяет извлекать дополнительные данные для «будущей проверки», а так как динамические запросы прогресса не имеют выражения SELECT, Поля, казалось бы, были бы единственным вариантом для извлечения только необходимых полей в выбранных записях. В противном случае мне пришлось бы включить список необходимых полей в конфигурацию где-то еще, что не является идеальным. – Screwtape
Я не вижу, как вы собираетесь получать ПОЛЫ, чтобы делать то, что вы ищете, - согласно 10.2B docs: «Когда вы указываете список полей, AVM может извлекать дополнительные поля или полную запись в зависимости от типа операции поиска и DataServer, который предоставляет запись». В сущности, полевые обозначения FIELDS являются предположением о том, что AVM может переопределяться по различным причинам. –