Esempio n. 1
0
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);
}
Esempio n. 2
0
 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;
 }