summaryrefslogtreecommitdiff
path: root/sql/field.cc
diff options
context:
space:
mode:
authormonty@mysql.com <>2004-02-09 12:31:03 +0100
committermonty@mysql.com <>2004-02-09 12:31:03 +0100
commit06432eac3606d75045109e3bad2538543f1a574b (patch)
tree4cdb6965fba280ace2fc30421a0f25332597e43e /sql/field.cc
parent480b082cf44db4fb2722e256f16e5f8c7c537bcf (diff)
downloadmariadb-git-06432eac3606d75045109e3bad2538543f1a574b.tar.gz
Added --compact to mysqlbinlog
Fixed output from mysqlbinlog when using --skip-comments Fixed warnings from valgrind Fixed ref_length when used with HEAP tables More efficent need_conversion() Fixed error handling in UPDATE with not updateable tables Fixed bug in null handling in CAST to signed/unsigned
Diffstat (limited to 'sql/field.cc')
-rw-r--r--sql/field.cc20
1 files changed, 14 insertions, 6 deletions
diff --git a/sql/field.cc b/sql/field.cc
index 9f25b770ab0..f337f4ca46c 100644
--- a/sql/field.cc
+++ b/sql/field.cc
@@ -4058,10 +4058,12 @@ void Field_datetime::sql_type(String &res) const
int Field_string::store(const char *from,uint length,CHARSET_INFO *cs)
{
int error= 0;
+ uint32 not_used;
char buff[80];
String tmpstr(buff,sizeof(buff), &my_charset_bin);
+
/* Convert character set if nesessary */
- if (String::needs_conversion(from, length, cs, field_charset))
+ if (String::needs_conversion(length, cs, field_charset, &not_used))
{
tmpstr.copy(from, length, cs, field_charset);
from= tmpstr.ptr();
@@ -4246,10 +4248,12 @@ uint Field_string::max_packed_col_length(uint max_length)
int Field_varstring::store(const char *from,uint length,CHARSET_INFO *cs)
{
int error= 0;
+ uint32 not_used;
char buff[80];
String tmpstr(buff,sizeof(buff), &my_charset_bin);
+
/* Convert character set if nesessary */
- if (String::needs_conversion(from, length, cs, field_charset))
+ if (String::needs_conversion(length, cs, field_charset, &not_used))
{
tmpstr.copy(from, length, cs, field_charset);
from= tmpstr.ptr();
@@ -4565,10 +4569,11 @@ int Field_blob::store(const char *from,uint length,CHARSET_INFO *cs)
bool was_conversion;
char buff[80];
String tmpstr(buff,sizeof(buff), &my_charset_bin);
+ uint32 not_used;
/* Convert character set if nesessary */
- if ((was_conversion= String::needs_conversion(from, length,
- cs, field_charset)))
+ if ((was_conversion= String::needs_conversion(length, cs, field_charset,
+ &not_used)))
{
tmpstr.copy(from, length, cs, field_charset);
from= tmpstr.ptr();
@@ -5079,10 +5084,12 @@ void Field_enum::store_type(ulonglong value)
int Field_enum::store(const char *from,uint length,CHARSET_INFO *cs)
{
int err= 0;
+ uint32 not_used;
char buff[80];
String tmpstr(buff,sizeof(buff), &my_charset_bin);
+
/* Convert character set if nesessary */
- if (String::needs_conversion(from, length, cs, field_charset))
+ if (String::needs_conversion(length, cs, field_charset, &not_used))
{
tmpstr.copy(from, length, cs, field_charset);
from= tmpstr.ptr();
@@ -5259,11 +5266,12 @@ int Field_set::store(const char *from,uint length,CHARSET_INFO *cs)
int err= 0;
char *not_used;
uint not_used2;
+ uint32 not_used_offset;
char buff[80];
String tmpstr(buff,sizeof(buff), &my_charset_bin);
/* Convert character set if nesessary */
- if (String::needs_conversion(from, length, cs, field_charset))
+ if (String::needs_conversion(length, cs, field_charset, &not_used_offset))
{
tmpstr.copy(from, length, cs, field_charset);
from= tmpstr.ptr();