CDX no GAS

Projeto [x]Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

Avatar do usuário
Alexandre Silva
Usuário Nível 3
Usuário Nível 3
Mensagens: 376
Registrado em: 26 Mar 2007 00:16
Localização: Itapema - SC

CDX no GAS

Mensagem 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

* Clipper 5.2e/Gaspro 4.0 /CDX/Blinker 7.0 Harbour 3.2 Console Hbmk2
Avatar do usuário
Jairo Maia
Moderador
Moderador
Mensagens: 2785
Registrado em: 16 Ago 2010 13:46
Localização: Campinas-SP

CDX no GAS

Mensagem 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.
Abraços, Jairo
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
Avatar do usuário
Alexandre Silva
Usuário Nível 3
Usuário Nível 3
Mensagens: 376
Registrado em: 26 Mar 2007 00:16
Localização: Itapema - SC

CDX no GAS

Mensagem por Alexandre Silva »

Obrigado. vou testar e posto aqui..
* Clipper 5.2e/Gaspro 4.0 /CDX/Blinker 7.0 Harbour 3.2 Console Hbmk2
Responder