21 de Junio 2007

SQLITE3

Implementacion libre para Harbour sobre BD Sqlite3.

Hace bastante tiempo que no posteo por aqui. Una de las razones principales es que estado un pelín liado con la salud, y me a sido imposible haber seguido publicando.

Bueno, a lo que íbamos.

Estoy implementando una nueva versión libre de las librerias de acceso a Sqlite3 a través de [x]Harbour.

Algunos todavian me dicen como es que sigo dando código libre a la comunidad de xBase, que más que comunidad, parece una reunión de los 4 vecinos mal avenidos, pero en fin, y siempre contesto, que ni yo lo sé ;-), quizás ¿ para ayudar a otros ? Vete tú a saber.

El trabajo parte inicialmente en el estudio de la implementación sobre la version 2.X de Sqlite , realizada por Alejandro de Garate,
si bien, la versión 2 y 3 han cambiado, su trabajo hizo que cogiera con ganas el portar la nueva versión.

Además quiero agraceder a WenCheng Liao, ( si no me 'liao' ese es el apellido ) desde Taiwan, el haberme pasado una versión suya, y llegar a un acuerdo en liberar partes de su trabajo como GPL.

Si bien he estado mirando ambos código, el mio es un pelín diferente, porque parto de la idea, que un wrapper, debe o debería ser lo más parecido al original.

Despué ya haremos funciones que realicen determinadas tareas, para facilitar mejor el acceso a los datos o la recuperación de los mismos, pero eso será en la segunda fase.

El hacer también el wrapper lo más puro al origen, y portarlo simplemente a Harbour, sin GUI de por medio, facilita que todo programador de Harbour pueda usarlo sin problemas, no dependiendo de que si programa con objetos, con clases, con funciones, o con chimpances rodeados de teclados rosas...
simplemente, funcionará.

Actualmente esta en version ALPHA 0.2, la 0.1 simplemente abria,
ejecutaba una instruccion, y se cerraba.

La 0.2, ya es posible recuperar los datos, saber el tipo, las cantidad de filas de la select, etc..., bueno, lo que se supone
que debe hacer una 0.2 ;-)

El código fuente esta dividido en 2:
- El servidor , un fichero .c y .h, que lo podeis coger, o bien desde
http://www-sqlite.org o si eres usuarios de T-Gtk lo tienes ya disponibles en /src/sqlite3
Esto es simplemente el servidor.

- La librería de acceso al Sqlite3 para Harbour.
Como gente interesada en esta librería , le importará 3 pimientos T-Gtk, no vamos a castigarles con bajarse un montón de codigo fuente inútil, para ello he creado un nuevo módulo llamado sqlite3 en T-Gtk, aparte de nuestra GUI favorita.

Los datos de conexión a través del CVS son:
cvs -z3 -d:pserver:anonymous@t-gtk.cvs.sourceforge.net:/cvsroot/t-gtk co -P sqlite3

Si usais tortoiseCVS o similar, al final os debería quedar una linea similar a la descrita arriba, si usas GNU/Linux, escribe simplemente esa linea en la linea de comandos y obtendras automaticamente un directorio en tu home , p.e. /home/rafa/sqlite3.

Faltan unas pocas funciones más, y el siguiente plan será crear funciones más productivas y crear las clases, que usar objetos nos simplificará mejor las cosas ;-)

Ah! Se me olvidaba... los makefiles son para los usuarios de T-Gtk, por favor, createlos para tu sistema, no me dió tiempo a probar con otros.

Saludos.
Rafa Carmona

Escrito por Rafa Carmona a las 21 de Junio 2007 a las 01:36 AM
Comentarios

Excelente Rafa, como siempre!

Respecto de eso de dar código libre a la comunidad... lo único que se me ocurre que puede inhibir a una persona de NO hacerlo es una cuestión de miedo o temor a que alguien más se beneficie sin costo y te perjudique en tu propio negocio. En general los programadores no compiten entre sí en términos económicos, sino más bien cuestiones de "bronce" y reconocimiento, no?
Si no te ves perjudicado por compartir tus ideas y conocimientos ¿Por qué no hacerlo?
Lo que más me sorprende de tí es que no se de donde sacas tiempo! Y tu mujer debe ser una santa, seguro, porque a la mía le digo que el sábado voy a estar en chat de programadores y me corta los 00.

Yendo al punto, este esfuerzo tuyo me parece fantástico y nos deja más cerca del Harbour Data Object HDO tal como se pensó en un principio, ya que como has hecho todo en términos de wrappers todo es reutilizable.

Y con las clases seguro que mejora. Ojalá algún día veamos el HDO hecho realidad.

Gracias por tu trabajo.

Escrito por Carlos Mora a las 22 de Junio 2007 a las 12:01 PM

Rafa:

Me tomo la molestia de escribir, muy poco lo hago, pero quiero animarte y dicirte que si hay una comunidad mirando y aprendiendo de los GURUS y maestros como TU; muchos no se atreven a escribir por mostrar sus debilidades y simplemente se limitan a leer y aprender.

Cada vez que lee a los expertos, ne doy cuenta que no se casi nada, muchas veces quisiera ayudar pero nos llevan mucho camino.... Pero algun dia con esfuerzo podre ayudar como lo haces TU.

Animo amigo, porque de tanto leerle es como si fueras mi amigo....jijiji

Desde un hermoso rincon de la tierra (Bogotá DC. Colombia)

Escrito por Mauricio Arevalo a las 25 de Junio 2007 a las 08:45 PM

Mauricio, ánimo, que yo estaba como tú, a diferencia que no tenia a nadie que me explicara las cosas.

Por ello, sabiendo lo dificil que resulta a veces entender el código, creo que no cuesta nada explicar y enseñar, en lo poco que uno sabe, para que otros puedan, algún día, mejorar lo que aprendieron, y que vuelvan a trasmitir sus conocimientos a otros.

Puedo entender que la gente no publica nada, más por falta de tiempo, yo me quito muchas horas de sueño, aunque no lo parezca, para poder publicar estas mismas lineas.

Saludos

Escrito por Rafa Carmona a las 25 de Junio 2007 a las 11:11 PM

Hola Rafa: Gracias por tus continuos aportes !!! Una duda: Sqlite corre bajo linux ?
Un abrazo
gustavo

Escrito por gustavo rosbaco a las 27 de Junio 2007 a las 02:44 AM

Si, corre en un monton de S.O, corre hasta en mi Nokia 770, que es un Linux( Maemo.org ) con un micro ARM

Saludos

Escrito por Rafa Carmona a las 27 de Junio 2007 a las 03:04 PM
Escribir un comentario









¿Recordar informacion personal?