diff options
author | Davi Arnaut <Davi.Arnaut@Sun.COM> | 2010-07-14 11:12:26 -0300 |
---|---|---|
committer | Davi Arnaut <Davi.Arnaut@Sun.COM> | 2010-07-14 11:12:26 -0300 |
commit | 7f1eedec2d70c3afe3b9b1c788d357322189a237 (patch) | |
tree | c1cb5b7c9fbb5fd6901154d278efe7223b5cac53 /sql/spatial.h | |
parent | 4972f4d8030b5fc053b3c5605505215a653a39e1 (diff) | |
parent | f317d3a6fb413cfc04c1ed005df8e859664e41d5 (diff) | |
download | mariadb-git-7f1eedec2d70c3afe3b9b1c788d357322189a237.tar.gz |
Merge of mysql-5.1-bugteam into mysql-trunk-merge.
Diffstat (limited to 'sql/spatial.h')
-rw-r--r-- | sql/spatial.h | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/sql/spatial.h b/sql/spatial.h index aabbb7a1b97..b0c609ceeef 100644 --- a/sql/spatial.h +++ b/sql/spatial.h @@ -17,6 +17,7 @@ #define _spatial_h #include "sql_string.h" /* String, LEX_STRING */ +#include <my_compiler.h> #ifdef HAVE_SPATIAL @@ -229,15 +230,18 @@ public: { wkb_xdr= 0, /* Big Endian */ wkb_ndr= 1 /* Little Endian */ - }; + }; + + /** Callback which creates Geometry objects on top of a given placement. */ + typedef Geometry *(*create_geom_t)(char *); class Class_info { public: LEX_STRING m_name; int m_type_id; - void (*m_create_func)(void *); - Class_info(const char *name, int type_id, void(*create_func)(void *)); + create_geom_t m_create_func; + Class_info(const char *name, int type_id, create_geom_t create_func); }; virtual const Class_info *get_class_info() const=0; @@ -525,10 +529,8 @@ public: const Class_info *get_class_info() const; }; -struct Geometry_buffer -{ - Aligned_char_array<sizeof(Gis_point)> buf; -}; +struct Geometry_buffer : public + my_aligned_storage<sizeof(Gis_point), MY_ALIGNOF(Gis_point)> {}; #endif /*HAVE_SPATAIAL*/ #endif |