summaryrefslogtreecommitdiff
path: root/sql/field.cc
diff options
context:
space:
mode:
authorunknown <monty@hundin.mysql.fi>2002-11-07 04:03:44 +0200
committerunknown <monty@hundin.mysql.fi>2002-11-07 04:03:44 +0200
commit4060f083076dcac09a37148d2f733b33fa825f2b (patch)
tree3b9ae7230972e46b9789ccf84dbfed194cee9298 /sql/field.cc
parentb0da9dbd24a7fdd89a2471be1fdcf889c3dfc7d6 (diff)
parent72413e7f81cb87327d8bb2094a43d66578cd1632 (diff)
downloadmariadb-git-4060f083076dcac09a37148d2f733b33fa825f2b.tar.gz
Merge work:/my/mysql-4.0 into hundin.mysql.fi:/my/mysql-4.0
sql/field.cc: Auto merged sql/sql_parse.cc: Auto merged
Diffstat (limited to 'sql/field.cc')
-rw-r--r--sql/field.cc11
1 files changed, 8 insertions, 3 deletions
diff --git a/sql/field.cc b/sql/field.cc
index 79c47886b7c..b80428b36c4 100644
--- a/sql/field.cc
+++ b/sql/field.cc
@@ -4879,6 +4879,7 @@ uint pack_length_to_packflag(uint type)
Field *make_field(char *ptr, uint32 field_length,
uchar *null_pos, uchar null_bit,
uint pack_flag,
+ enum_field_types field_type,
Field::utype unireg_check,
TYPELIB *interval,
const char *field_name,
@@ -4904,6 +4905,9 @@ Field *make_field(char *ptr, uint32 field_length,
return new Field_blob(ptr,null_pos,null_bit,
unireg_check, field_name, table,
pack_length,f_is_binary(pack_flag) != 0);
+ if (f_is_geom(pack_flag))
+ return 0;
+
if (interval)
{
if (f_is_enum(pack_flag))
@@ -4917,7 +4921,7 @@ Field *make_field(char *ptr, uint32 field_length,
}
}
- switch ((enum enum_field_types) f_packtype(pack_flag)) {
+ switch (field_type) {
case FIELD_TYPE_DECIMAL:
return new Field_decimal(ptr,field_length,null_pos,null_bit,
unireg_check, field_name, table,
@@ -4980,10 +4984,11 @@ Field *make_field(char *ptr, uint32 field_length,
return new Field_datetime(ptr,null_pos,null_bit,
unireg_check, field_name, table);
case FIELD_TYPE_NULL:
- default: // Impossible (Wrong version)
return new Field_null(ptr,field_length,unireg_check,field_name,table);
+ default: // Impossible (Wrong version)
+ break;
}
- return 0; // Impossible (Wrong version)
+ return 0; // Impossible
}