Trenutna verzija je 0.1.5 i može se skinuti ovdje:
http://www.4shared.com/file/B8SDbOQ1/TZMSQL-015.html
Tema se raspravlja na Lazarusovom forumu ovdje:
http://lazarus.freepascal.org/index.php/topic,13821.15.html
O čemu se radi? Dakle,
TZMConnection komponenta definira "bazu podataka", pri čemu je "baza
podataka" naprosto mapa u kojoj se nalaze csv tablice. zmsql se bazira
na najobičnijim tekstualnim datotekama, pri čemu je ";" separator
polja, a "." je decimalni separator.
TZMQueryDataSet je in-memory dataset kojemu je predak TBufDataSet.
Podatke može učitavati direktno iz csv tablica ili SQL upitom iz jedne
ili više csv tablica. SQL upiti se izvršavaju preko TJanSQL engine-a
(originalni autor: Jan Verhoeven, 2002). Dakle, glavna je fora što se
upiti izvršavaju nad csv tablicama!
Omogućeni su i parametrizirani upiti (TParams), ali rudimentarno.
Pomoću svojstava MasterDatasource i MasterFields omogućeno je master/
detail filtriranje odnosno sinhroniziranje.
TZMReferentialKey omogućava definiranje ključeva za referencijalni
integritet. Na taj način se mogu povezati dva ZMQueryDataseta i
omogučiti referencijalni insert/update/delete.
Dodatno, omogućio sam i trajnost datasetova na način da ima svojstvo
PersistentSave i ako je True, tada se dataset snima u csv kod svakog
mijenjanja podatka i prilikom uništavanja. Za sada je to tako da snima
cijelu tablicu, nisam smislio kako to napraviti na nivou zapisa...
Eto, ako nekoga zanima i želi se uključiti u razvoj ovog projekta
otvorenog koda, svaka pomoć bi dobro došla...
Neke od stvari koje treba napraviti:
- omogućiti ftAutoInc tip polja
- doraditi implementaciju parametriziranih polja
- doraditi JanSQL mehanizam za SQL upite, koji ima podosta mana, npr:
--> sporo izvršavanje kod više spojenih tablica
--> nekorektno izvršavanje nekih upita
--> nepostojanje SELECT DISTINCT
--> nepostojanje JOIN iskaza
--> nepostojanje lijevih i desnih joinova...
Eh, još kad bih našao nekog strastvenog ljubitelja Pascala da mi
pomogne unaprijediti JanSQL database engine....
Nešto sam već napravio na tokenizeru i expression evaluatoru, ali sam
JanSQL mi je malo tvrđi orah...
Zmsql uključen u noovu verziju CodeTyphon-a:)
http://www.pilotlogic.com/sitejoom/index.php/codetyphon
> Pozdrav svima!
> Napravio sam paket za Lazarus/FreePascal, koji se zove zmsql, a radi
> se o in-memory bazi podataka, koji se sastoji od tri komponente:
> TZMConnection, TZMQueryDataSet i TZMReferentialKey.
>
> Trenutna verzija je 0.1.5 i može se skinuti ovdje:
>
> http://www.4shared.com/file/B8SDbOQ1/TZMSQL-015.html
>
> Tema se raspravlja na Lazarusovom forumu ovdje:
> http://lazarus.freepascal.org/index.php/topic,13821.15.html
>
> O čemu se radi? Dakle,
>
> TZMConnection komponenta definira "bazu podataka", pri čemu je "baza
> podataka" naprosto mapa u kojoj se nalaze csv tablice. zmsql se bazira
> na najobičnijim tekstualnim datotekama, pri čemu je ";" separator
> polja, a "." je decimalni separator.
>
> TZMQueryDataSet je in-memory dataset kojemu je predak TBufDataSet.
A ne smeta te http://bugs.freepascal.org/view.php?id=19631 ?
zeljko
Hehe, ma smeta, smeta, ali tebe nikad dočekati da to riješiš...:)
Željko,
By the way, da li postoji kakva mogućnost da ti, odnosno Holobit,
preuzmeš/preuzmete brigu nad daljnjim razvojem zmsql-a?
Nikad ne reci nikad :) ... ne znam, sada smo zatrpani poslom...mozda se
pozabavim time za jedno mjesec-dva ...
z.
>
> Hehe, ma smeta, smeta, ali tebe nikad dočekati da to riješiš...:)
Nisam niti rekao da cu to ja rjesavati, poslao sam Joostu (db maintainer) mail i
rekao mi je da ce pogledati, ali on je jos na godisnjem tako da ce to stajati
jos neko vrijeme ...
z.