pike.git
/
lib
/
modules
/
Sql.pmod
/
pgsql_util.pmod
version
»
Context lines:
10
20
40
80
file
none
3
pike.git/lib/modules/Sql.pmod/pgsql_util.pmod:985:
PD("ParamValues to bind: %O\n", paramValues); #endif Stdio.Buffer plugbuffer = Stdio.Buffer(); { array dta = ({sizeof(dtoid)}); plugbuffer->add(_portalname, 0, _preparedname, 0) ->add_ints(dta + map(dtoid, writeoidformat, paramValues, ({0})) + dta, 2); } string cenc = pgsqlsess.runtimeparameter[CLIENT_ENCODING]; foreach (paramValues; int i; mixed value) {
-
int processtime(object dtype, int tsize, int firstval, int width) {
-
if (stringp(value)) {
-
plugbuffer->add_hstring(value, 4);
-
return 0;
-
} else {
-
if (!objectp(value))
-
value = dtype(value);
-
plugbuffer->add_int32(tsize)->add_int(firstval, width);
-
return 1;
-
}
-
};
+
if (undefinedp(value) || objectp(value) && value->is_val_null) plugbuffer->add_int32(-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: