Alan Kennedy [Mon, 31 May 2004 01:30:55 +0000 (01:30 +0000)]
Reacomodo el obtener siguiente para que pueda ser llamado via la mismas funcion que para B y B*. Esta un poco buggy con tipo1, ahora lo voy a tener que seguir revisando
Agrego T4 y T5 a la GUI en varios lados. La carga inicial se hace sin problemas,
palma en obtener_sig_clave porque no esta contemplado usar la otra funcion
obtener_sig_clave_isam
* Agrego PADRE a INDICE, que es el puntero al EMUFS que lo contiene (bugo, a
vos tambien te va a servir esto para obtener_siguiente, yo lo necesite y lo
agregue, de paso nos queda la interfaz generica)
* Cambios en la generacion de una clave de texto
Se termina el external sort. La interfaz ya es completamente genérica y pasó un
test simple con registros enteros. Se limpian archivos de prueba viejos.
Alan Kennedy [Sun, 30 May 2004 22:01:43 +0000 (22:01 +0000)]
Expongo el obtener siguiente de secuencial indexado, via la funcion en indince obtener_sig_clave_isam, la cual debe ser llamada con EMU como primer parametro y la clave como segundo. Internamente, llamara a una funcion de Tipo4 o Tipo5 segun corresponda y por ello el agregado de la funcion dinamica en EMUFS
Nicolás Dimov [Sun, 30 May 2004 19:58:43 +0000 (19:58 +0000)]
ya que esta le pongo los modificar registro plus par que no joda y los puedas usar... si es qeu andan porque no los probe,, pero deberian andar porque llaman a las otras funciones que si estan probadas
Arreglo el 99% de mis bugs pendientes, algun vivo se olvido de asignar la
funcion emufs->modificar_registro en las tipoX_inicilizar (solo tipo2 la tenia).
Alan Kennedy [Sun, 30 May 2004 19:27:01 +0000 (19:27 +0000)]
Piloteado de mini bug que pudiera existir en insertar ordenado, siempre se devuelve la sig clave encontrada, la GUI podria validar que no sea un siguiente y skipearla, o lo puedo hacer yo...
* BUGFIX : En emufs_destruir habia un bug donde eliminaba mal y se colgaba
* BUGFIX : Si al leer archivo .info cant==0 no se hace nada
* Agrego a la creacion de facturas restar la cantidad vendida del articulo
en el archivo de articulos.
TODO : ver por que se cuelga en articulos.c:1276 !! :-(
Alan Kennedy [Sun, 30 May 2004 19:11:10 +0000 (19:11 +0000)]
Fixeo bug en prepostkey, pero salto bug en insert_ordenado. Nico ahora lo mira, yo por mi lado veo como puedo parchear el obtener_sig para que no pifee
* BUGFIX : leia los indices en orden inverso y quedaba mal el indice
primario. Fixed!, ahora si no se pasa parametros a emufs_view se
trata de cargar desde los archivos existentes.
Se separa el algoritmo de ordenamiento del ejemplo, se borran cosas obsoletas.
Ya está todo listo, sólo falta convertir algunos tipos de datos para hacerlo
genérico.
Alan Kennedy [Sun, 30 May 2004 10:59:51 +0000 (10:59 +0000)]
Me rindo 3 horas de buscar un bug en busqueda de siguiente o anterior ancla para una dada. Must fix manaina sino no va a funcionar la busqueda de un siguiente
Se amplia MERGEFILE para poder usarlo de salida tambien (al crear los chunks).
Antes se podia usar solo para entrada (al hacer el merge). Gracias a esto ahora
se implementa usando tmpfile() para los archivos temporales.
Alan Kennedy [Sun, 30 May 2004 06:01:52 +0000 (06:01 +0000)]
Agrego funciones para obtener menor y mayor claves del arbol y las asigno a punteros en INDICE, comenzando a darle algo a richard. Continuo laburando en el obtener_sig_clave que es fundamental para rich
Nicolás Dimov [Sun, 30 May 2004 05:12:50 +0000 (05:12 +0000)]
rompo todo porque me la banco... a ver si alguien se da cuenta por que se cuelga cuando quiero crear un indice. en el tipo3_bplus_main creo el emu, y despues mando a crear el indice pero dentro de emufs_agregar_indice iguala dos punteros y muere ahi..
Nicolás Dimov [Sat, 29 May 2004 23:00:52 +0000 (23:00 +0000)]
-Se agregan T4 y T5 que son los tipo1 y tipo3 pero secuenciales indexados..
-Se modifica la creacion de EMUFS para que contemple estos tipos
-Faltaria manejar estos tipos en toda la GUI
-Falta implementar un par de funciones de los tipos, como modificar_registro.. ya las hago.
Alan Kennedy [Sat, 29 May 2004 21:00:43 +0000 (21:00 +0000)]
Borrar de B+ terminado o al menos codeado en su totalidad y probado en cada rama logica del mismo, con un arbol de Nivel 0 y 1, aplicando cada variante posible (o eso espero). Restar ahora probarlo con algo de nivel > 1 y comenzar a escribir los wrappers que hacen de interfaz entre INDICE y la implementacion
* Otro avance en el arbol B*, todavia no se si anda, pero compila.
El pasar claves al parecer estar funcionando, pero hasta que no
termine el split 2-3 no se puede saber, Wait for that !!
* Cambio algunos printf por fprintf(stderr
* Agrego un nuevo campo en INDICE para poder usar claves
string en tipos de archivo de registro de long variable
* Seguro que algo mas cambie.
Alan Kennedy [Sat, 29 May 2004 17:58:36 +0000 (17:58 +0000)]
Caso 3a terminado, rotacion a izquierda, falta 3a rotacion derecha, 3b y listo Arbol B+ al menos en su funcionalidad basica Crear,Insertar, Buscar, Obtener Bloque dondre Grabar, Eliminar