Eu aqui de novo com dúvidas de índices.
Olha, no Advantage Data Architect, Dá pra criar índices e arquivos de índices na mão. O sistema atual tem um arquivo de índice (que é o mesmo nome do dbf)
Como estava criando um índice novo para o sistema, eu criei um arquivo de índice separado, e nesse arquivo de índice adicionei o índice. Então, na hora de usar (apenas 1 pesquisa no sistema), simplesmente usei dbsetindex(novoArquivoDeIndice). Que sonho! funcionou!
Mas depois lembrei que precisa que o índice esteja aberto quando forem feitas atualizações, etc... senão o índice fica desatualizado...
:(
Como prefiro evitar mexer no restante do sistema, então penso na possibilidade de ao inves de criar o arquivo de indice separado do padrao, apenas adicionar o indice ao arquivo existente. Minhas perguntas:
- (1) Quando atualiza os registros do dbf, todos os índices no cdx são atualizados ou apenas o ativo? Se sim, quer dizer que meu índice novo vai ser atualizado também?
- (2) Isso de colocar todos os indices no mesmo arquivo é uma boa prática?
- (3) Como seleciono o indice certo dentre esses no cdx? dbsetindex() é pra escolher o arquivo de indice, não é? não o índice dentro do arquivo. estou confuso sobre dbSetOrder() ou OrdSetFocus(). Não me parecem muito intuitivos esses nomes, a menos que eles chamem cada indice no arquivo de indices de "ordem"
Agradeço atencipadamente!