pike.git
/
lib
/
modules
/
Sql.pmod
/
pgsql.pike
version
»
Context lines:
10
20
40
80
file
none
3
pike.git/lib/modules/Sql.pmod/pgsql.pike:1608:
if(sizeof(dtoid)!=sizeof(paramValues)) USERERROR( sprintf("Invalid number of bindings, expected %d, got %d\n", sizeof(dtoid),sizeof(paramValues))); foreach(dtoid;;int textbin) plugbuf+=({_c.plugint16(oidformat(textbin))}); plugbuf+=({_c.plugint16(sizeof(paramValues))}); foreach(paramValues;int i;mixed value) { if(zero_type(value)) plugbuf+=({_c.plugint32(-1)}); // NULL
+
else if(stringp(value) && !sizeof(value)) {
+
int k=0;
+
switch(dtoid[i]) {
+
default:
+
k=-1; // cast empty strings to NULL for non-string types
+
case BYTEAOID:
+
case TEXTOID:
+
case XMLOID:
+
case BPCHAROID:
+
case VARCHAROID:;
+
}
+
plugbuf+=({_c.plugint32(k)});
+
}
else switch(dtoid[i]) { default: { int k; len+=k=sizeof(value=(string)value); plugbuf+=({_c.plugint32(k),value}); break; } case BOOLOID:plugbuf+=({_c.plugint32(1)});len++; switch(stringp(value)?value[0]:value) {