pbxt-discuss team mailing list archive
-
pbxt-discuss team
-
Mailing list archive
-
Message #00015
Re: goal 0 of embedde pbxt reached || (was: Re: PBXT: Embedded Database (library))
Hi Martin,
Excellent! I will check it out. You may noticed that I am following
your progress on LP now.
You seem to be an experienced developer. What have worked on previously?
I guess the next step would be to defined an interface, and begin the
implementation.
This raises the question of whether to use the MySQL handler
interface, or to go in and replace ha_pbxt.cc altogether.
If you use the handler interface, then you will have to continue to
simulate MySQL, which may not suite the API (you will have to call the
handler functions in the same order that MySQL does).
If you replace ha_pbxt, then you will have to nevertheless include
some of the functionality in this code. For example, you should take
over the init and shutdown code.
What you need to keep is the "cursor" type paradigm.
What I mean is, to do and index or table scan you do the following:
- open a cursor for a table
* which means grap an XTOpenTable from the table pool
- call init
* Initialize the scan.
- Call search and next in a loop.
- call exit
* Free resources
- close the cursor
* which means return the open table to the pool
All such actions need to be enclosed in a:
- begin transaction
...
- commit/rollback transaction
The transaction is per thread, and all relevant information is stored
in the XTThread structure.
Let me know if you have any questions and we can plan this together.
Best regards,
Paul
P.S. I have cc'ed to the PBXT list, to get feedback from anyone else
who is interested in the project! :)
On Feb 11, 2010, at 3:53 PM, Martin Scholl wrote:
Hello Paul,
just like to inform you my first babystep was done; libembpbxt.la
can be
build without mysql's sources:
lp:embedded-pbxt/abstract-frm
by invoking
make -j2 -C src libembpbxt.la && make -j2 -C bin lackmus
.
Lackmus is link-time test against libembpbxt.so.
Still the "semantic part" of the port is outstanding. Currently the
stuff only compiles and links.
The changes to pbxt's codebase are minimal so far (afair). Most of the
changes are only preprocessor-relevant.
[snip]
So long,
Martin
--
Paul McCullagh
PrimeBase Technologies
www.primebase.org
www.blobstreaming.org
pbxt.blogspot.com
Follow ups