- Project tools
- How do I...
|Over 500 more tools...
Re: [Catacomb] DBMS abstraction
On Friday, September 6, 2002, at 09:40 AM, Sung Kim wrote:
We need dbms.[ch] which is high level of DB interface which can deal
all kind of DBMS.
Behind that, we can have dbms_mysql.[ch], dbms_oracle.[ch] and so on.
So your work is really great.
In that sense, do we really need dbms_mysql.h? The data is in
dbms_mysql.c and the interface should be same as dbms_mysql.h and
dbms_oracle.h. So I think the low level interface must be defined in
dbms.h so that the other dbms_xxxx.c developer can implement the
Also agreed, we should unify dbms.h and dbms_mysql.h...For that matter,
dbms.c and dbms_mysql.c could be unified as well. Best would be to
have a dbms.h that is not database specific (using statics in the .c
file and having ids in the structs is one way to hide implementation
specifics...) We can play that out over the next couple of weeks...
Also we might need to consider *hooker* to support multiple DB.
Yup, that's my hope.
Also would you like to make a new branch?
The changes that this incorporates are important enough for the safety
of the server that I'd say it should go on the main trunk. Let me think
about it some more. (Usually I reserve branches for either specific
releases or major features, not security or bug fixes.)
* The dbms struct carries it's own memory pool, should that be a child
of another pool? Given that each query will be generating a fair
of string allocations, should each query have it's own child pool? I'm
unclear as to when memory pools are cleaned up, so guidance (or URL's)
would be appreciated.
I think we should pass pool when we create DB. Since we open DB only
when apache start, and close when apache stop, the pool can be larger.
* coding style/variable naming comments are always appreciated, I can
work with whatever style you like. (I often set my tab stops at 4, but
I'll try to make sure it looks ok with 8.)
To avoid name conflict, please use prefix, "dav_repos_".
For structs? I notice that most functions in dbms.c are prefixed with
"dbms_", it might be good to enforce a naming convention on all
(non-static) functions as well (since that's where you'll end up with
I plan on being at the interop event Tuesday afternoon and Wednesday,
hope to see you there!
Did you aware that there is mod_dav_psql. I think we might look at
that one tool.
I'll be at the event only Monday and Tuesday morning. :-)
I appreciate your work again.