void CouchbaseEmbedFunctionContext::bindStringParam(const char *name, size32_t len, const char *val) { checkNextParam(name); VStringBuffer cbPlaceholder("$%s", name); size32_t utf8chars; char *utf8; rtlStrToUtf8X(utf8chars, utf8, len, val); auto status = m_pQcmd->named_param(cbPlaceholder.str(), utf8); if (!status.success()) failx("Could not bind Param: %s val: %s", cbPlaceholder.str(), utf8); }
void ViewFieldStringTransformer::transform(unsigned & lenTarget, char * & target, unsigned lenSource, const char * source) { unsigned lenStringSrc; unsigned lenStringTarget; rtlDataAttr stringSrc; rtlDataAttr stringTarget; rtlUtf8ToStrX(lenStringSrc, stringSrc.refstr(), lenSource, source); (*function)(lenStringTarget, stringTarget.refstr(), lenStringSrc, stringSrc.getstr()); rtlStrToUtf8X(lenTarget, target, lenStringTarget, stringTarget.getstr()); }
void bindStringParam(unsigned len, const char *value, const RtlFieldInfo * field, Couchbase::QueryCommand * pQcmd) { VStringBuffer cbPlaceholder("$%s", field->name->queryStr()); if (pQcmd) { size32_t utf8chars; char *utf8; rtlStrToUtf8X(utf8chars, utf8, len, value); auto status = pQcmd->named_param(cbPlaceholder.str(), utf8); if (!status.success()) failx("Could not bind Param: %s val: %s", cbPlaceholder.str(), utf8); } else failx("Internal error: detected invalid CouchbaseQueryCommand while attempting to bind to field: %s", cbPlaceholder.str()); }