Commit 2034df15 authored by dkatz@damien-katzs-computer.local's avatar dkatz@damien-katzs-computer.local
Browse files

Merge damien-katzs-computer.local:/Users/dkatz/bug29772/my50-bug29772

into  damien-katzs-computer.local:/Users/dkatz/mysql-5.0-runtime
parents 7328999f 040e520d
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -4357,12 +4357,14 @@ Field *Item::tmp_table_field_from_field_type(TABLE *table)
      return new Field_blob(max_length, maybe_null, name, table,
                          collation.collation);
    break;					// Blob handled outside of case
#ifdef HAVE_SPATIAL
  case MYSQL_TYPE_GEOMETRY:
    return new Field_geom(max_length, maybe_null, name, table,
                          (Field::geometry_type)
                          ((type() == Item::TYPE_HOLDER) ?
                           ((Item_type_holder *)this)->get_geometry_type() :
                           ((Item_geometry_func *)this)->get_geometry_type()));
#endif /* HAVE_SPATIAL */
  }
}

@@ -6482,10 +6484,12 @@ Item_type_holder::Item_type_holder(THD *thd, Item *item)
  if (Field::result_merge_type(fld_type) == INT_RESULT)
    decimals= 0;
  prev_decimal_int_part= item->decimal_int_part();
#ifdef HAVE_SPATIAL
  if (item->field_type() == MYSQL_TYPE_GEOMETRY)
    geometry_type= (item->type() == Item::FIELD_ITEM) ?
      ((Item_field *)item)->get_geometry_type() :
      (Field::geometry_type)((Item_geometry_func *)item)->get_geometry_type();
#endif /* HAVE_SPATIAL */
}