// use binds if available else use QBSet value but with RawSql to avoid escape
$set[$k] =
isset($this->binds
[$k]) ?
$this->binds
[$k][0
] :
new RawSql($value);
} $this->binds =
[];
$this->
resetRun([ 'QBSet' =>
[],
'QBKeys' =>
[],
]);
$this->
setData($set, true
); // unescaped items are RawSql now
} elseif ($set !== null
) { $this->
setData($set,
$escape);
} // else setData() has already been used and we need to do nothing
return $this->
batchExecute('_upsertBatch'
);
} /**
* Compiles batch upsert strings and runs the queries
*
* @param array|object|null $set a dataset
*
* @return false|int|string[] Number of affected rows or FALSE on failure, SQL array when testMode
*
* @throws DatabaseException
*/