Página 1 de 1

CDX no GAS

Enviado: 06 Mar 2012 22:53
por Alexandre Silva
APos eliminar todos os DBT, comecei a fazer testes para usar os Indices CDX no Sistema em Gas pro..
Atualmente uso os NTX, pois os NSX estavam corrompendo (nao teve jeito), os NTX pelo menos funcionam..

Entao, quem conhece o GAS, sabe que tem a opcao de gerar fonte para Indexar em CDX,
ao gerar o fonte no programa principal, tava lá o request do cdx..
Rddsetdefault("dbfcdx")
Dbsetdriver("dbfcdx")

O que achei estranho foi a criacao dos indices, em outros sistemas harbour, feitos na unha, que rodam em CDX. apenas um arquivo é criado. onde todos os indices estao dentro, acho bom porque sao menos arquivos na rede.

No gas, o sistema cria como se fosse os ntx, um arq para cada indice.
exemplo: cli1.cdx cli2.cdx cli3.cdx para os 3 indices do cliente, em vez de cliente.cdx

O tamanho é menor cerca de 25 % do ntx,e para minha surpresa funciona.. desse jeito
nao testei no cliente ainda. mas parece certo..
Isso pode implicar em algo como perda de desempenho ? ou corrupcao.. ??
Alguem trabalha com CDX dessa maneira ?
Vejam a funcao de indecao...(no gaspro para CDX)

Código: Selecionar todos


FOR t=1 TO LEN(sistema[op_sis,O_INDIC])
   ntx=sistema[op_sis,O_ARQUI,O_DIR_NTX]+sistema[op_sis,O_INDIC,t]+EXTENSAO()   // nome do indice
   POE_GAUGE("Classificando o arquivo|"+ntx,"AGUARDE!")
   chvind=sistema[op_sis,O_CHAVE,t]    // chave de indexacao
   IF FILE(ntx)
      ERASE (ntx)
   ENDI
   tg_=ALLTRIM(STR(t))
   INDE ON &chvind. TAG (tg_) TO (ntx)
NEXT


CDX no GAS

Enviado: 07 Mar 2012 14:18
por Jairo Maia
Olá Alexandre,

Nos sistemas gerados pelo GAS mantenho esta característica, e não há problemas.
Alexandre Silva escreveu:Isso pode implicar em algo como perda de desempenho ? ou corrupcao.. ??
Alguem trabalha com CDX dessa maneira ?
Se há perda, é insignificante, pois não é notado. Quanto a corrupção, as chances são iguais.

Você poderia usar a TAG e criar um índice e sub-índices fazendo uma pequena alteração no laço FOR/NEXT que vc postou, mas isso implicaria também em alterar a função USEARQ(), e talvez mais alguma coisa.

Na minha opinião, valeria a pena você testar no cliente, com as características de máquinas, rede, e fluxo usado por ele. Creio que não haverá surpresa manter a forma que o GAS projeta para trabalhar com os índices individuais.

CDX no GAS

Enviado: 08 Mar 2012 02:14
por Alexandre Silva
Obrigado. vou testar e posto aqui..