diff options
Diffstat (limited to 'sql')
-rw-r--r-- | sql/ha_archive.h | 2 | ||||
-rw-r--r-- | sql/ha_berkeley.cc | 1 | ||||
-rw-r--r-- | sql/ha_innodb.cc | 2 | ||||
-rw-r--r-- | sql/ha_ndbcluster.cc | 6 |
4 files changed, 8 insertions, 3 deletions
diff --git a/sql/ha_archive.h b/sql/ha_archive.h index 6ba6d95685e..56a4b9d1e27 100644 --- a/sql/ha_archive.h +++ b/sql/ha_archive.h @@ -68,7 +68,7 @@ public: ulong table_flags() const { return (HA_REC_NOT_IN_SEQ | HA_NOT_EXACT_COUNT | HA_NO_AUTO_INCREMENT | - HA_FILE_BASED | HA_CAN_INSERT_DELAYED); + HA_FILE_BASED | HA_CAN_INSERT_DELAYED | HA_CAN_GEOMETRY); } ulong index_flags(uint idx, uint part, bool all_parts) const { diff --git a/sql/ha_berkeley.cc b/sql/ha_berkeley.cc index 7cbb4e90452..3a2bdf3ef9a 100644 --- a/sql/ha_berkeley.cc +++ b/sql/ha_berkeley.cc @@ -392,6 +392,7 @@ ha_berkeley::ha_berkeley(TABLE *table_arg) int_table_flags(HA_REC_NOT_IN_SEQ | HA_FAST_KEY_READ | HA_NULL_IN_KEY | HA_CAN_INDEX_BLOBS | HA_NOT_EXACT_COUNT | HA_PRIMARY_KEY_IN_READ_INDEX | HA_FILE_BASED | + HA_CAN_GEOMETRY | HA_AUTO_PART_KEY | HA_TABLE_SCAN_ON_INDEX), changed_rows(0), last_dup_key((uint) -1), version(0), using_ignore(0) {} diff --git a/sql/ha_innodb.cc b/sql/ha_innodb.cc index a7957ee3cbf..74fff12d1f3 100644 --- a/sql/ha_innodb.cc +++ b/sql/ha_innodb.cc @@ -812,6 +812,7 @@ ha_innobase::ha_innobase(TABLE *table_arg) HA_CAN_SQL_HANDLER | HA_NOT_EXACT_COUNT | HA_PRIMARY_KEY_IN_READ_INDEX | + HA_CAN_GEOMETRY | HA_TABLE_SCAN_ON_INDEX), last_dup_key((uint) -1), start_of_scan(0), @@ -2757,6 +2758,7 @@ get_innobase_type_from_mysql_type( return(DATA_DOUBLE); case FIELD_TYPE_DECIMAL: return(DATA_DECIMAL); + case FIELD_TYPE_GEOMETRY: case FIELD_TYPE_TINY_BLOB: case FIELD_TYPE_MEDIUM_BLOB: case FIELD_TYPE_BLOB: diff --git a/sql/ha_ndbcluster.cc b/sql/ha_ndbcluster.cc index a0efcd2c4f9..4248230abbe 100644 --- a/sql/ha_ndbcluster.cc +++ b/sql/ha_ndbcluster.cc @@ -588,9 +588,9 @@ static bool ndb_supported_type(enum_field_types type) case MYSQL_TYPE_ENUM: case MYSQL_TYPE_SET: case MYSQL_TYPE_BIT: + case MYSQL_TYPE_GEOMETRY: return TRUE; case MYSQL_TYPE_NULL: - case MYSQL_TYPE_GEOMETRY: break; } return FALSE; @@ -3714,6 +3714,7 @@ static int create_ndb_column(NDBCOL &col, col.setStripeSize(0); break; //mysql_type_blob: + case MYSQL_TYPE_GEOMETRY: case MYSQL_TYPE_BLOB: if ((field->flags & BINARY_FLAG) && cs == &my_charset_bin) col.setType(NDBCOL::Blob); @@ -3779,7 +3780,6 @@ static int create_ndb_column(NDBCOL &col, break; } case MYSQL_TYPE_NULL: - case MYSQL_TYPE_GEOMETRY: goto mysql_type_unsupported; mysql_type_unsupported: default: @@ -3931,6 +3931,7 @@ int ha_ndbcluster::create(const char *name, * 5 - from extra words added by tup/dict?? */ switch (form->field[i]->real_type()) { + case MYSQL_TYPE_GEOMETRY: case MYSQL_TYPE_BLOB: case MYSQL_TYPE_MEDIUM_BLOB: case MYSQL_TYPE_LONG_BLOB: @@ -4206,6 +4207,7 @@ ha_ndbcluster::ha_ndbcluster(TABLE *table_arg): HA_AUTO_PART_KEY | HA_NO_PREFIX_CHAR_KEYS | HA_NEED_READ_RANGE_BUFFER | + HA_CAN_GEOMETRY | HA_CAN_BIT_FIELD), m_share(0), m_use_write(FALSE), |