diff options
author | unknown <monty@mysql.com> | 2005-03-21 23:41:28 +0200 |
---|---|---|
committer | unknown <monty@mysql.com> | 2005-03-21 23:41:28 +0200 |
commit | 802c41e04d0b4bb193abfff1b7084d3a6c971df6 (patch) | |
tree | 0dc25c2b0b090f45da0eec51acfbcb6d42180cd6 /sql/handler.cc | |
parent | 2ba3544f0e053d95e82b9a899fd9b86cbb19b9ce (diff) | |
download | mariadb-git-802c41e04d0b4bb193abfff1b7084d3a6c971df6.tar.gz |
Cleanups during review of code
Fixed newly introduced bug in rollup
client/mysqldump.c:
Safer buffer allocation
Removed wrong assert
mysql-test/r/olap.result:
more tests
mysql-test/t/olap.test:
more tests
sql/handler.cc:
Simple cleanup
Fixed wrong check for next digit (wrong debug output)
sql/item.cc:
Replace shrink_to_length() with mark_as_const() as the former allowed one to do changes to the string
sql/item_sum.cc:
Change reference to pointer
Trivial optimzation of testing 'allways_null'
sql/mysqld.cc:
Proper indentation of comment
sql/sql_select.cc:
Fixed newly introduced bug in rollup
sql/sql_string.h:
Remove not needed 'shrink_to_length()'
Added 'mark_as_const()' to be used when one want to ensure that a string is not changed
Diffstat (limited to 'sql/handler.cc')
-rw-r--r-- | sql/handler.cc | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/sql/handler.cc b/sql/handler.cc index df0d7704163..98fc2be2f8a 100644 --- a/sql/handler.cc +++ b/sql/handler.cc @@ -762,14 +762,13 @@ static char* xid_to_str(char *buf, XID *xid) for (i=0; i < xid->gtrid_length+xid->bqual_length; i++) { uchar c=(uchar)xid->data[i]; - bool is_next_dig; + /* is_next_dig is set if next character is a number */ + bool is_next_dig= FALSE; if (i < XIDDATASIZE) { - char ch=xid->data[i+1]; - is_next_dig=(c >= '0' && c <='9'); + char ch= xid->data[i+1]; + is_next_dig= (ch >= '0' && ch <='9'); } - else - is_next_dig=FALSE; if (i == xid->gtrid_length) { *s++='\''; @@ -782,6 +781,11 @@ static char* xid_to_str(char *buf, XID *xid) if (c < 32 || c > 126) { *s++='\\'; + /* + If next character is a number, write current character with + 3 octal numbers to ensure that the next number is not seen + as part of the octal number + */ if (c > 077 || is_next_dig) *s++=_dig_vec_lower[c >> 6]; if (c > 007 || is_next_dig) |