STRUCTURED_QUERY_RESOLVE_OPTION enumeração (structuredquery.h)

Opções para resolver dados em uma árvore de condições.

Syntax

typedef enum STRUCTURED_QUERY_RESOLVE_OPTION {
  SQRO_DEFAULT = 0,
  SQRO_DONT_RESOLVE_DATETIME = 0x1,
  SQRO_ALWAYS_ONE_INTERVAL = 0x2,
  SQRO_DONT_SIMPLIFY_CONDITION_TREES = 0x4,
  SQRO_DONT_MAP_RELATIONS = 0x8,
  SQRO_DONT_RESOLVE_RANGES = 0x10,
  SQRO_DONT_REMOVE_UNRESTRICTED_KEYWORDS = 0x20,
  SQRO_DONT_SPLIT_WORDS = 0x40,
  SQRO_IGNORE_PHRASE_ORDER = 0x80,
  SQRO_ADD_VALUE_TYPE_FOR_PLAIN_VALUES = 0x100,
  SQRO_ADD_ROBUST_ITEM_NAME = 0x200
} ;

Constantes

 
SQRO_DEFAULT
Valor: 0
Windows 7 e posterior. O sinalizador padrão.
SQRO_DONT_RESOLVE_DATETIME
Valor: 0x1
A menos que esse sinalizador esteja definido, qualquer expressão relativa de data/hora em pConditionTree será substituída por um intervalo absoluto de data/hora que tenha sido resolvido em relação à data/hora de referência apontada por pstReferenceTime. Por exemplo, se uma consulta AQS continha a expressão relativa de data/hora "date:this month" e a data/hora de referência fosse 19/09/2006 10:28:33, a árvore de condições resolvida conteria um intervalo de data/hora começando em 01/09/2006 00:00:00 e terminaria em 10/1/2006 00:00:00 (no fuso horário UTC).
SQRO_ALWAYS_ONE_INTERVAL
Valor: 0x2
A menos que esse sinalizador esteja definido, resolver uma expressão relativa de data/hora pode resultar em um OR de vários intervalos. Por exemplo, se uma consulta AQS contivesse "date:Monday" e a data/hora de referência fosse 19/09/2006 10:28:33 (uma terça-feira), a árvore de condições resolvida conteria um OR de três intervalos de 24 horas correspondentes às segundas-feiras de 11/09/2006, 18/09/2006 e 25/09/2006, porque não está claro qual segunda-feira foi referenciada. Se esse sinalizador for definido, o resultado sempre será um único intervalo de data/hora (para este exemplo, seria um intervalo de data/hora começando em 18/09/2006 00:00:00 e terminando em 19/09/2006 00:00:00).
SQRO_DONT_SIMPLIFY_CONDITION_TREES
Valor: 0x4
A menos que esse sinalizador seja definido, a árvore de condição resultante terá quaisquer simplificações possíveis aplicadas a ele.
SQRO_DONT_MAP_RELATIONS
Valor: 0x8
A menos que esse sinalizador seja verdadeiro, um nó folha com uma propriedade virtual que mapeia para várias propriedades será substituído por um OR de nós folha contendo as propriedades reais. Por exemplo, a consulta do AQS "to:Bill" pode resultar em um nó folha em que a propriedade chamada System.StructuredQuery.Virtual.To realmente mapeia para as duas propriedades System.Message.ToAddress e System.Message.ToName, portanto, a árvore de condição resolvida teria um OR que procura "Bill" nessas duas propriedades.
SQRO_DONT_RESOLVE_RANGES
Valor: 0x10
Um intervalo resultante de uma expressão de data/hora, uma expressão como "20..40", é resolvido primeiro para um nó folha que tem um valor VT_UNKNOWN em que o membro punkVal implementa a interface IInterval . A menos que esse sinalizador seja definido, a árvore de condição retornada terá sido resolvida para um AND de comparações simples, como COP_GREATERTHANOREQUAL e COP_LESSTHAN. Por exemplo, para uma consulta AQS "date:this month" resolvida em 19/09/2006 10:28:33, se esse sinalizador não estiver definido, a árvore de condição resultante será um AND de System.ItemDate COP_GREATERTHANOREQUAL 1/9/2006 00:00:00 e System.ItemDate COP_LESSTHAN 1/1/2006 00:00:00. Se esse sinalizador for definido, a árvore de condição resultante relacionará System.ItemDate a um IInterval de modo que seu método IInterval::GetLimits retorne ILK_EXPLICIT_INCLUDED, 1/9/2006 00:00:00, ILK_EXPLICIT_EXCLUDED e 10/1/2006 00:00:00.
SQRO_DONT_REMOVE_UNRESTRICTED_KEYWORDS
Valor: 0x20
Um palavra-chave irrestrito é um palavra-chave que não está associado a um valor que conclui a condição. Por exemplo, na seguinte consulta AQS, a propriedade indicada por "From" é considerada uma palavra-chave irrestrita: "Kind:email Subject:"My Resume" From:". Se esse sinalizador for definido, essa propriedade estará presente na árvore de condição resultante como um nó folha com uma operação de COP_IMPLICIT , um valor de cadeia de caracteres vazio e um tipo semântico de System.StructuredQueryType.Value. Caso contrário, ele será totalmente removido.
SQRO_DONT_SPLIT_WORDS
Valor: 0x40
Se esse sinalizador for definido, um grupo de palavras não separadas por espaço em branco será mantido em conjunto em um único nó folha. Se esse sinalizador não estiver definido, o grupo será dividido em nós folha separados. Um aplicativo pode querer definir esse sinalizador ao resolver uma árvore de condições se a árvore resultante for processada por código que deve fazer qualquer quebra de palavra adicional.
SQRO_IGNORE_PHRASE_ORDER
Valor: 0x80
Se uma frase em uma consulta do AQS estiver entre aspas duplas, as palavras nessa frase entrarão em um único nó folha (independentemente de SQRO_DONT_SPLIT_WORDS esteja definida), a menos que esse sinalizador seja definido, nesse caso, elas acabarão em nós folha separados e sua ordem não importa mais. Um aplicativo poderá definir esse sinalizador se não for capaz de manipular nós folha com várias palavras corretamente.
SQRO_ADD_VALUE_TYPE_FOR_PLAIN_VALUES
Valor: 0x100
SQRO_ADD_ROBUST_ITEM_NAME
Valor: 0x200
Contornar problemas conhecidos em separadores de palavras, adicionando condições em PKEY_ItemNameDisplay conforme necessário.

Comentários

O tipo STRUCTURED_QUERY_RESOLVE_OPTION é definido em StructuredQuery.h, conforme mostrado aqui.

typedef int STRUCTURED_QUERY_RESOLVE_OPTION;

Requisitos

   
Cliente mínimo com suporte Windows XP com SP2, Windows Vista, Windows 7 [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2003 [somente aplicativos da área de trabalho]
Cabeçalho structuredquery.h
Redistribuível Pesquisa da Área de Trabalho do Windows (WDS) 3.0

Confira também

CASE_REQUIREMENT