Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

zmsql - memorijska baza podataka za Lazarus/FreePascal

47 views
Skip to first unread message

AureliusMaticus

unread,
Aug 12, 2011, 11:55:56 AM8/12/11
to
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.
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...

AureliusMaticus

unread,
Aug 24, 2011, 12:25:41 PM8/24/11
to

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...

AureliusMaticus

unread,
Aug 27, 2011, 12:54:18 PM8/27/11
to

Zmsql uključen u noovu verziju CodeTyphon-a:)
http://www.pilotlogic.com/sitejoom/index.php/codetyphon

zeljko

unread,
Aug 29, 2011, 4:52:37 AM8/29/11
to
AureliusMaticus wrote:

> 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

AureliusMaticus

unread,
Aug 30, 2011, 4:44:29 PM8/30/11
to

Hehe, ma smeta, smeta, ali tebe nikad dočekati da to riješiš...:)

AureliusMaticus

unread,
Aug 31, 2011, 3:28:40 PM8/31/11
to

Željko,
By the way, da li postoji kakva mogućnost da ti, odnosno Holobit,
preuzmeš/preuzmete brigu nad daljnjim razvojem zmsql-a?

zeljko

unread,
Sep 1, 2011, 4:16:15 AM9/1/11
to

> Ž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.

zeljko

unread,
Sep 1, 2011, 4:17:19 AM9/1/11
to
AureliusMaticus wrote:


>
> 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.


0 new messages