indices cdx

Post Reply
Verhoven
Posts: 435
Joined: Sun Oct 09, 2005 7:23 pm

indices cdx

Post by Verhoven »

Quiero pasarme a trabajar con índices CDX en vez de los NTX pero necesito que alguien me de algunas recomendaciones previas y si existe algún manual al respecto.

Utilizo xHarbour de PuertoSur para fw 2.4

Gracias.
User avatar
leandro
Posts: 958
Joined: Wed Oct 26, 2005 2:49 pm
Location: Colombia
Contact:

lo hago asi...

Post by leandro »

al inicio de tu programa colocas lo siguiente...

Code: Select all

REQUEST DBFCDX
RddSetDefault("DBFCDX")
y los indices los genero de la siguiente manera...

Code: Select all

USE (oLamcla:tPrem) ALIAS tPrem EXCLUSIVE NEW
IF !NETERR()
  oProgress:nPosition += 1
  FERASE(oLamcla:tPrem+".CDX")
  IF FILE(oLamcla:tPrem+".CDX")
   ELSE
    INDEX ON Articulo TAG nTcod
    INDEX ON nombre   TAG nTnom
   ENDIF
 ELSE
  MSGINFO(oLamcla:tPrem)
ENDI
tPrem->(dbclosearea())
Espero te sirva...

ah: nunca me han fallado hasta el momento....
Saludos
LEANDRO ALFONSO
SISTEMAS LYMA - BASE
Bogotá (Colombia)
[ FWH 19.09 ] [ xHarbour 1.2.3 Intl. (SimpLex) (Build 20190613) ] [ Embarcadero C++ 7.30 for Win32 ]
User avatar
jose_murugosa
Posts: 943
Joined: Mon Feb 06, 2006 4:28 pm
Location: Uruguay
Contact:

Un detalle importante

Post by jose_murugosa »

Un detalle importante como habrás visto en el ejemplo anterior es que los índices cdx no se reindexan (aunque se puede hacer) sino que se borran y se vuelven a crear, esto se debe a un bug de estos índices que hace que la información anterior quede dentro del archivo aunque "desconectada" con lo cual cada vez que reindexas el archivo aumenta de tamaño sustancialmente.

Debes tener en cuenta que si usas la cláusula SET AUTOPEN ON debes ponerla en OFF antes de indizar, de otro modo el archivo CDX se abrirá junto con la base y no podrás borrarlos luego de recrear los índices la volverás a poner en ON.

Te adjunto un par de documentos del Rafa Carmona sobre DBFCDX ( no te asustes son unas 5 páginas) a mí me ayudaron sustancialmente en el uso de estos índices. :D

bajalo en:
http://hyperupload.com/download/01d627c ... x.exe.html
(son dos pdf en un archivo self stracting de Rar)

Verás que trabajando con SET AUTOPEN ON y e INDICES BAG ESTRUCTURALES te ahorrarás cientos de líneas de código e índices corruptos. :!:

Un fuerte abrazo.
Saludos/Regards,
José Murugosa
FWH + Harbour + Bcc7. Una seda!
User avatar
Armando
Posts: 2479
Joined: Fri Oct 07, 2005 8:20 pm
Location: Toluca, México
Contact:

Post by Armando »

Verhoven, Leandro y José:

Con la función ORDLISTREBUILD() y no he tenido problemas.
denle una mirada.


Saludos, Armando
SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
Post Reply