Пример #1
0
 virtual void processUnicode(unsigned len, const UChar *value, const RtlFieldInfo * field)
 {
     size32_t utf8chars;
     char *utf8;
     rtlUnicodeToUtf8X(utf8chars, utf8, len, value);
     MYSQL_BIND &bindInfo = createBindBuffer(MYSQL_TYPE_STRING, 0);
     bindInfo.buffer = utf8;
     bindInfo.buffer_length = rtlUtf8Size(utf8chars, utf8);
     bindInfo.length = &bindInfo.buffer_length;
 }
Пример #2
0
void ViewFieldUnicodeTransformer::transform(unsigned & lenTarget, char * & target, unsigned lenSource, const char * source)
{
    unsigned lenUnicodeSrc;
    unsigned lenUnicodeTarget;
    rtlDataAttr unicodeSrc;
    rtlDataAttr unicodeTarget;

    rtlUtf8ToUnicodeX(lenUnicodeSrc, unicodeSrc.refustr(), lenSource, source);
    (*function)(lenUnicodeTarget, unicodeTarget.refustr(), lenUnicodeSrc, unicodeSrc.getustr());
    rtlUnicodeToUtf8X(lenTarget, target, lenUnicodeTarget, unicodeTarget.getustr());
}
Пример #3
0
 void CouchbaseEmbedFunctionContext::bindUnicodeParam(const char *name, size32_t chars, const UChar *val)
 {
     checkNextParam(name);
     VStringBuffer cbPlaceholder("$%s", name);
     size32_t utf8chars;
     char *utf8;
     rtlUnicodeToUtf8X(utf8chars, utf8, chars, val);
     auto status = m_pQcmd->named_param(cbPlaceholder.str(), utf8);
     if (!status.success())
         failx("Could not bind Param: %s val: %s", cbPlaceholder.str(), utf8);
 }
Пример #4
0
 void bindUnicodeParam(unsigned chars, const UChar *value, const RtlFieldInfo * field, Couchbase::QueryCommand * pQcmd)
 {
     VStringBuffer cbPlaceholder("$%s", field->name->queryStr());
     if (pQcmd)
     {
         size32_t utf8chars;
         char *utf8;
         rtlUnicodeToUtf8X(utf8chars, utf8, chars, 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());
 }