Pular para o conteúdo principal

range_hashed

O dicionário é armazenado na memória na forma de uma tabela hash com um array ordenado de intervalos e seus respectivos valores. Esse método de armazenamento funciona da mesma forma que hashed e permite usar intervalos de data/hora (tipo numérico arbitrário) além da chave. Exemplo: A tabela contém descontos para cada anunciante no formato:
Para usar uma amostra em intervalos de datas, defina os elementos 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.
Exemplo:

Para trabalhar com esses dicionários, você precisa passar um argumento adicional para a função dictGet, para o qual será selecionado um intervalo:
Exemplo de consulta:
Esta função retorna o valor para os ids especificados e o intervalo de datas que inclui a data fornecida. Detalhes do algoritmo:
  • Se o id não for encontrado ou não for encontrado um intervalo para o id, retorna o valor padrão do tipo do atributo.
  • Se houver intervalos sobrepostos e range_lookup_strategy=min, retorna um intervalo correspondente com range_min mínimo; se vários intervalos forem encontrados, retorna um intervalo com range_max mínimo; se ainda assim vários intervalos forem encontrados (vários intervalos tiverem o mesmo range_min e range_max), retorna um intervalo aleatório entre eles.
  • Se houver intervalos sobrepostos e range_lookup_strategy=max, retorna um intervalo correspondente com range_min máximo; se vários intervalos forem encontrados, retorna um intervalo com range_max máximo; se ainda assim vários intervalos forem encontrados (vários intervalos tiverem o mesmo range_min e range_max), retorna um intervalo aleatório entre eles.
  • Se range_max for NULL, o intervalo será aberto. NULL é tratado como o maior valor possível. Para range_min, 1970-01-01 ou 0 (-MAX_INT) podem ser usados como valor aberto.
Exemplo de configuração:

Exemplo de configuração com intervalos sobrepostos e abertos:

complex_key_range_hashed

O Dicionário é armazenado na memória na forma de uma tabela hash com um Array ordenado de intervalos e seus respectivos valores (consulte range_hashed). Esse tipo de armazenamento é usado com chaves compostas. Exemplo de configuração:
Última modificação em 2 de julho de 2026