summaryrefslogtreecommitdiff
path: root/sql/sql_yacc.yy
diff options
context:
space:
mode:
Diffstat (limited to 'sql/sql_yacc.yy')
-rw-r--r--sql/sql_yacc.yy14
1 files changed, 12 insertions, 2 deletions
diff --git a/sql/sql_yacc.yy b/sql/sql_yacc.yy
index 84c68d37c91..1d9a3f2df10 100644
--- a/sql/sql_yacc.yy
+++ b/sql/sql_yacc.yy
@@ -1114,7 +1114,8 @@ field_spec:
(enum enum_field_types) $3,
lex->length,lex->dec,lex->type,
lex->default_value, lex->comment,
- lex->change,lex->interval,lex->charset))
+ lex->change,lex->interval,lex->charset,
+ lex->uint_geom_type))
YYABORT;
};
@@ -1167,20 +1168,28 @@ type:
| BLOB_SYM opt_len { Lex->charset=&my_charset_bin;
$$=FIELD_TYPE_BLOB; }
| GEOMETRY_SYM { Lex->charset=&my_charset_bin;
+ Lex->uint_geom_type= Field::GEOM_GEOMETRY;
$$=FIELD_TYPE_GEOMETRY; }
| GEOMETRYCOLLECTION { Lex->charset=&my_charset_bin;
+ Lex->uint_geom_type= Field::GEOM_GEOMETRYCOLLECTION;
$$=FIELD_TYPE_GEOMETRY; }
| POINT_SYM { Lex->charset=&my_charset_bin;
+ Lex->uint_geom_type= Field::GEOM_POINT;
$$=FIELD_TYPE_GEOMETRY; }
| MULTIPOINT { Lex->charset=&my_charset_bin;
+ Lex->uint_geom_type= Field::GEOM_MULTIPOINT;
$$=FIELD_TYPE_GEOMETRY; }
| LINESTRING { Lex->charset=&my_charset_bin;
+ Lex->uint_geom_type= Field::GEOM_LINESTRING;
$$=FIELD_TYPE_GEOMETRY; }
| MULTILINESTRING { Lex->charset=&my_charset_bin;
+ Lex->uint_geom_type= Field::GEOM_MULTILINESTRING;
$$=FIELD_TYPE_GEOMETRY; }
| POLYGON { Lex->charset=&my_charset_bin;
+ Lex->uint_geom_type= Field::GEOM_POLYGON;
$$=FIELD_TYPE_GEOMETRY; }
| MULTIPOLYGON { Lex->charset=&my_charset_bin;
+ Lex->uint_geom_type= Field::GEOM_MULTIPOLYGON;
$$=FIELD_TYPE_GEOMETRY; }
| MEDIUMBLOB { Lex->charset=&my_charset_bin;
$$=FIELD_TYPE_MEDIUM_BLOB; }
@@ -1549,7 +1558,8 @@ alter_list_item:
(enum enum_field_types) $5,
lex->length,lex->dec,lex->type,
lex->default_value, lex->comment,
- $3.str, lex->interval, lex->charset))
+ $3.str, lex->interval, lex->charset,
+ lex->uint_geom_type))
YYABORT;
}
opt_place