From: Maxence Guesdon <maxence.guesdon@inria.fr>
To: caml-list@inria.fr
Subject: Re: [Caml-list] Printf question
Date: Sat, 27 Sep 2003 11:39:30 +0200 [thread overview]
Message-ID: <20030927113930.7148b4e5.maxence.guesdon@inria.fr> (raw)
In-Reply-To: <20030927091408.GB14604@redhat.com>
Hi,
> To be completely safe at compile time, the OCaml code and the database
> tables would need to be generated from some common source. That
> approach is probably too heavyweight.
In DBForge, included in Cameleon, you define your tables, with some
information about the ocaml type for each column and the functions to
tranlate to and from these ocaml type. Then dbforge generates a module
with a module per table, with the following functions in each module:
create, insert, update, delete, select, drop.
The functions have types using the types of the columns you indicated in
the schema. Thus you get for free the main functions to access each table
separately.
A future extension is the possibility to define sql queries. Dbforge would
then check the queries against the schema, and embed them in functions
(still with the types you specified for columns). And all this at compile
time.
DBForge can generate code for OCaml-Mysql, OCaml-Postgresql and OCamlODBC.
Cameleon: http://savannah.nongnu.org/projects/cameleon
Regards,
- Maxence Guesdon
-------------------
To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr
Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
next prev parent reply other threads:[~2003-09-27 9:39 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-09-26 18:02 Richard Jones
2003-09-26 19:04 ` Alain.Frisch
2003-09-29 7:44 ` Mike Potanin
2003-09-27 0:11 ` Olivier Andrieu
2003-09-27 7:23 ` Richard Jones
2003-09-27 8:20 ` Basile Starynkevitch
2003-09-27 9:14 ` Richard Jones
2003-09-27 9:39 ` Maxence Guesdon [this message]
2003-09-29 16:42 ` Pierre Weis
2003-09-29 18:13 ` Richard Jones
2003-09-29 19:57 ` Pierre Weis
2003-09-29 21:50 ` Richard Jones
2003-09-29 22:36 ` Pierre Weis
2003-09-30 8:03 ` Richard Jones
2003-09-30 8:45 ` Pierre Weis
2003-09-30 9:17 ` Michal Moskal
2003-09-30 14:14 ` Christophe TROESTLER
2003-09-30 13:19 ` skaller
2003-09-30 20:52 ` Pierre Weis
2003-10-01 14:39 ` Christophe TROESTLER
2003-10-01 14:57 ` Richard Jones
2003-10-01 15:52 ` [Caml-list] DBI (was: Printf question) Christophe TROESTLER
2003-10-01 16:21 ` [Caml-list] Printf question Florian Hars
-- strict thread matches above, loose matches on Subject: below --
2003-05-18 1:34 Brian Hurt
2003-05-18 3:23 ` Manos Renieris
2003-05-18 3:32 ` William Lovas
2003-05-18 6:06 ` Basile STARYNKEVITCH
2003-05-19 9:39 ` Damien
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20030927113930.7148b4e5.maxence.guesdon@inria.fr \
--to=maxence.guesdon@inria.fr \
--cc=caml-list@inria.fr \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox