Re: Database Preference? -- Manuel, Michael, Miles
| From: | Manuel Lemos | Date: | Thu, 30 Aug 2001 22:26:23 +0000 |
| Subject: | Re: Database Preference? -- Manuel, Michael, Miles | ||
| References: | 1 2 3 4 5 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-65385@lists.php.net to get a copy of this message | ||
James Potts wrote:
>
> Manuel,
>
> Thanx for the excellent overview of metabase. I will give it a test drive.
> A couple further questions, if you have time:
>
> Do you execute meta commands like you do with the other db interface
> functions, e.g., odbc_connect(), odbc_select(), etc., or are you able to
> encapsulate SQL between tags, e.g.
>
> <tag>
> SELECT bar FROM foo WHERE barname = "chocolate";
> </tag>
>
> Using a function set can be cumbersome, compared to embedded language
> interfaces where you just put SQL between tags, just like PHP is handled
> between the <? ?> tags.
That is the subject of some other project that I have which is an actual
meta-language defined in XML. You write what you want to do with XML
tags, and there is a compiler that translates that in to code of a
target language, like PHP. This is not yet a released project although I
have given a talk on this in San Diego O'Reilly Open Source conference
in July, and if all goes well I will give another talk in November in
PHP conference in Frankfurt. More information on that is available here:
http://www.meta-language.net/
> Also, can you PREPARE, DECLARE, and OPEN cursors like, say, in Informix, so
> you can use variable SELECT parameters? For example, using Informix ESQL/C
> you can PREPARE a statement, use it to DECLARE a CURSOR, and the OPEN the
> CURSOR USING multiple values, as in:
>
> sprintf( query, "%s %s %s %s %s %s %s %s %s",
> "begin work;",
> "update account set balance = balance + ?,"
> "where acct_number = ?;",
> "update teller set balance = balance + ?",
> "where teller_number = ?;",
> "update brance set balance = balance + ?",
> "where branch_number = ?;"
> "insert into history values (?, ?);",
> "commit work;" );
> $prepare qid from $query;
> $execute qid using $delta, $acct_number, $delta, $teller_number,
> $delta, $branch_number, $timestamp, $values;
Metabase supports prepared queries which you can execute as many times
as you want with different values, if it is that what you are asking.
> I should be able to check metabase out later this evening. If it can handle
> the above native database language, I think it will be an asset, especially
> for some of our older applications.
I am not sure if it is exactly what you are asking. In any case there is
an extensive manual and a tutorial that details all it can do.
Regards,
Manuel Lemos