About MC as a very suitable PostGreSQL linkeable WAS...
LiangTyan Fui
mlist at afteroffice.com
Tue Apr 16 12:05:01 EDT 2002
On 4/16/02 11:49 PM, Pierre Sahores wrote:
> Hi List,
>
> Just some scripts to share there, about how to drive PostGreSQL from
> within Metacard...
<snip>
I am using the psql command with MetaCard shell instead.
Some incomplete code sample attached.
function sqlexe @sql
#! postgresql interface
# sql["sqlcmd"] = the sql query
# sql["db"] = the database name
# sql["rsform"] = table format [line | ""], "" for array.
#! hard code some of the command here
put "psql" into sql["cmd"]
put "postgres" into sql["user"]
put "-A" into sql["cmdsuffix"]
replace cr with " " in sql["sqlcmd"]
if sql["db"] = "" then put "test" into sql["db"]
#! construct the command line
put sql["cmd"] &&"-U"&& sql["user"] &" -d "& \
sql["db"] &" -c '"& sql["sqlcmd"] &"' "& \
sql["cmdsuffix"] into shellcmd
#! execute the command in shell
put shell(shellcmd) into rs
put 0 into x
put line 1 of rs into sql[x] #! result description
delete line 1 of rs
put last line of rs into sql["lastline"] #! record description
delete last line of rs
if sql["rsform"] = "line" then
put rs into sql["raw"]
put number of lines of sql["raw"] into x
else
#! build the record table as array
set itemdel to "|"
repeat for each line therec in rs
put 0 into y
add 1 to x
repeat for each item theitem in therec
add 1 to y
put theitem into sql[x,y]
end repeat
end repeat
end if
put x into sql["row"] # number of row
put y into sql["col"] # number of column
end sqlexe
The PHP glue could be faster. But I've tried using the shell command to
obtain a 16 MB data stream without problem: and you don't have to deal with
PHP if you don't feel comfortable with ;-)
Regards,
LiangTyan Fui
More information about the metacard
mailing list