function add_bind_var($bound_query, $type, $method, $key, $value) { $bv = new \query\BindVariable(); $bv->setType($type); $bv->{$method}($value); $entry = new \query\BoundQuery\BindVariablesEntry(); $entry->setKey($key); $entry->setValue($bv); $bound_query->addBindVariables($entry); }
public static function BindVariable($value) { $bind_var = new \query\BindVariable(); if (is_null($value)) { $bind_var->setType(\query\BindVariable\Type::TYPE_NULL); } else { if (is_string($value)) { $bind_var->setType(\query\BindVariable\Type::TYPE_BYTES); $bind_var->setValueBytes($value); } else { if (is_int($value)) { $bind_var->setType(\query\BindVariable\Type::TYPE_INT); $bind_var->setValueInt($value); } else { if (is_float($value)) { $bind_var->setType(\query\BindVariable\Type::TYPE_FLOAT); $bind_var->setValueFloat($value); } else { if (is_object($value)) { switch (get_class($value)) { case 'VTUnsignedInt': $bind_var->setType(\query\BindVariable\Type::TYPE_UINT); $bind_var->setValueUint($value->value); break; default: throw new VTException('Unknown bind variable class: ' . get_class($value)); } } else { if (is_array($value)) { self::ListBindVariable($bind_var, $value); } else { throw new VTException('Unknown bind variable type.'); } } } } } } return $bind_var; }
function add_list_bind_var($bound_query, $type, $key, $values) { $bv = new \query\BindVariable(); $bv->setType(\query\Type::TUPLE); foreach ($values as $value) { $val = new \query\Value(); $val->setType($type); $val->setValue($value); $bv->addValues($val); } $entry = new \query\BoundQuery\BindVariablesEntry(); $entry->setKey($key); $entry->setValue($bv); $bound_query->addBindVariables($entry); }
public static function BindVariable($value) { $bind_var = new \query\BindVariable(); if (is_array($value)) { if (count($value) == 0) { throw new VTBadInputException('Empty list not allowed for list bind variable'); } $bind_var->setType(\query\Type::TUPLE); foreach ($value as $elem) { list($type, $tval) = self::TypedValue($elem); $bind_var->addValues((new \query\Value())->setType($type)->setValue($tval)); } } else { list($type, $tval) = self::TypedValue($value); $bind_var->setType($type); $bind_var->setValue($tval); } return $bind_var; }