878548 | 1999-07-01 | Henrik Grubbström (Grubba) | | |
a315b5 | 2001-01-09 | Marcus Comstedt | | * $Id: sql_util.pmod,v 1.7 2001/01/09 21:18:30 marcus Exp $
|
878548 | 1999-07-01 | Henrik Grubbström (Grubba) | | *
* Some SQL utility functions.
* They are kept here to avoid circular references.
*
* Henrik Grubbström 1999-07-01
*/
|
a580e1 | 2000-09-27 | Fredrik Hübinette (Hubbe) | | #pike __REAL_VERSION__
|
a20af6 | 2000-09-26 | Fredrik Hübinette (Hubbe) | |
|
878548 | 1999-07-01 | Henrik Grubbström (Grubba) | |
|
a315b5 | 2001-01-09 | Marcus Comstedt | |
|
878548 | 1999-07-01 | Henrik Grubbström (Grubba) | |
string quote(string s)
{
return(replace(s, "\'", "\'\'"));
}
|
485cb1 | 1999-07-01 | Henrik Grubbström (Grubba) | | void fallback()
|
878548 | 1999-07-01 | Henrik Grubbström (Grubba) | | {
|
485cb1 | 1999-07-01 | Henrik Grubbström (Grubba) | | throw(({ "Function not supported in this database.", backtrace() }));
|
878548 | 1999-07-01 | Henrik Grubbström (Grubba) | | }
|
6458a7 | 2000-04-29 | Francesco Chemolli | |
|
4903d5 | 2000-04-29 | Francesco Chemolli | | string emulate_bindings(string query, mapping(string|int:mixed)|void bindings,
void|object driver)
|
6458a7 | 2000-04-29 | Francesco Chemolli | | {
array(string)k, v;
|
4903d5 | 2000-04-29 | Francesco Chemolli | | function my_quote=(driver&&driver->quote?driver->quote:quote);
|
6458a7 | 2000-04-29 | Francesco Chemolli | | if (!bindings)
return query;
v=Array.map(values(bindings),
|
a315b5 | 2001-01-09 | Marcus Comstedt | | lambda(mixed m) {
if(multisetp(m)) m = indices(m)[0];
return (stringp(m)? "'"+my_quote(m)+"'" : (string)m);
});
k=Array.map(indices(bindings),lambda(string s){
return (stringp(s)? s : ":"+s);
});
|
6458a7 | 2000-04-29 | Francesco Chemolli | | return replace(query,k,v);
}
|