Commit
…iolation error message
- Loading branch information
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -504,9 +504,9 @@ DescPrinter::DescPrinter(thread_db* tdbb, const dsc* desc, int mLen) | |
|
||
fb_assert(!desc->isBlob()); | ||
|
||
value = MOV_make_string2(tdbb, desc, ttype_dynamic); | ||
const bool octets = (desc->isText() && desc->getTextType() == ttype_binary); | ||
This comment has been minimized.
Sorry, something went wrong.
This comment has been minimized.
Sorry, something went wrong.
hvlad
Author
Member
|
||
value = MOV_make_string2(tdbb, desc, octets ? ttype_binary : ttype_dynamic); | ||
|
||
const int len = (int) value.length(); | ||
const char* const str = value.c_str(); | ||
|
||
if (desc->isText() || desc->isDateTime()) | ||
|
@@ -517,24 +517,29 @@ DescPrinter::DescPrinter(thread_db* tdbb, const dsc* desc, int mLen) | |
value.rtrim(pad); | ||
} | ||
|
||
if (desc->isText() && desc->getTextType() == ttype_binary) | ||
if (octets) | ||
{ | ||
Firebird::string hex; | ||
|
||
int len = (int) value.length(); | ||
const bool cut = (len > (maxLen - 3) / 2); | ||
This comment has been minimized.
Sorry, something went wrong.
asfernandes
Member
|
||
if (cut) | ||
len = (maxLen - 5) / 2; | ||
|
||
char* s = hex.getBuffer(2 * len); | ||
|
||
for (int i = 0; i < len; i++) | ||
{ | ||
sprintf(s, "%02X", (int)(unsigned char) str[i]); | ||
s += 2; | ||
} | ||
|
||
value = "x'" + hex + "'"; | ||
value = "x'" + hex + (cut ? "..." : "'"); | ||
This comment has been minimized.
Sorry, something went wrong.
dyemanov
Member
|
||
} | ||
else | ||
value = "'" + value + "'"; | ||
} | ||
|
||
if (value.length() > maxLen) | ||
if (value.length() > (FB_SIZE_T) maxLen) | ||
This comment has been minimized.
Sorry, something went wrong.
dyemanov
Member
|
||
{ | ||
fb_assert(desc->isText()); | ||
|
||
|
Could we please leave "octets" up to SQL users and use "binary" instead in the codebase? This wording looks more obvious / better understandable to me.