range_hashed
range_min e range_max na estrutura. Esses elementos devem conter os elementos name e type (se type não for especificado, o tipo padrão será usado: Date). type pode ser qualquer tipo numérico (Date / DateTime / UInt64 / Int32 / outros).
Os valores de
range_min e range_max devem estar dentro dos limites do tipo Int64.- DDL
- Arquivo de configuração
Para trabalhar com esses dicionários, você precisa passar um argumento adicional para a função
dictGet, para o qual será selecionado um intervalo:
ids especificados e o intervalo de datas que inclui a data fornecida.
Detalhes do algoritmo:
- Se o
idnão for encontrado ou não for encontrado um intervalo para oid, retorna o valor padrão do tipo do atributo. - Se houver intervalos sobrepostos e
range_lookup_strategy=min, retorna um intervalo correspondente comrange_minmínimo; se vários intervalos forem encontrados, retorna um intervalo comrange_maxmínimo; se ainda assim vários intervalos forem encontrados (vários intervalos tiverem o mesmorange_minerange_max), retorna um intervalo aleatório entre eles. - Se houver intervalos sobrepostos e
range_lookup_strategy=max, retorna um intervalo correspondente comrange_minmáximo; se vários intervalos forem encontrados, retorna um intervalo comrange_maxmáximo; se ainda assim vários intervalos forem encontrados (vários intervalos tiverem o mesmorange_minerange_max), retorna um intervalo aleatório entre eles. - Se
range_maxforNULL, o intervalo será aberto.NULLé tratado como o maior valor possível. Pararange_min,1970-01-01ou0(-MAX_INT) podem ser usados como valor aberto.
- DDL
- Arquivo de configuração
Exemplo de configuração com intervalos sobrepostos e abertos: