indices cdx

indices cdx

Postby Verhoven » Wed Apr 26, 2006 3:00 pm

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.
Verhoven
 
Posts: 522
Joined: Sun Oct 09, 2005 7:23 pm

lo hago asi...

Postby leandro » Wed Apr 26, 2006 4:51 pm

al inicio de tu programa colocas lo siguiente...

Code: Select all  Expand view  RUN
REQUEST DBFCDX
RddSetDefault("DBFCDX")


y los indices los genero de la siguiente manera...

Code: Select all  Expand view  RUN
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 AREVALO
Bogotá (Colombia)
https://hymlyma.com
https://hymplus.com/
leandroalfonso111@gmail.com
leandroalfonso111@hotmail.com

[ Embarcadero C++ 7.60 for Win32 ] [ FiveWin 23.07 ] [ xHarbour 1.3.0 Intl. (SimpLex) (Build 20230914) ]
User avatar
leandro
 
Posts: 1676
Joined: Wed Oct 26, 2005 2:49 pm
Location: Colombia

Un detalle importante

Postby jose_murugosa » Wed Apr 26, 2006 9:28 pm

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
"Los errores en programación, siempre están entre la silla y el teclado y la IA!!"
User avatar
jose_murugosa
 
Posts: 1181
Joined: Mon Feb 06, 2006 4:28 pm
Location: Uruguay

Postby Armando » Thu Apr 27, 2006 12:59 pm

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
User avatar
Armando
 
Posts: 3231
Joined: Fri Oct 07, 2005 8:20 pm
Location: Toluca, México


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 55 guests