X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FSQL%2FTranslator%2FParser%2FMySQL.pm;h=fdd27a204af20e4f83d995ef7a07d13b46d032d3;hb=06debaa81fa0fe74c5a7ea24873d59d5c67e3a1a;hp=81b7d242daa2e719207d3fa998289798352d8537;hpb=fd11d3c50dfe465dee8536af16930af5dfbad611;p=dbsrgits%2FSQL-Translator.git diff --git a/lib/SQL/Translator/Parser/MySQL.pm b/lib/SQL/Translator/Parser/MySQL.pm index 81b7d24..fdd27a2 100644 --- a/lib/SQL/Translator/Parser/MySQL.pm +++ b/lib/SQL/Translator/Parser/MySQL.pm @@ -641,13 +641,14 @@ foreign_key_def_begin : /constraint/i /foreign key/i WORD /foreign key/i { $return = '' } -primary_key_def : primary_key index_name(?) '(' name_with_opt_paren(s /,/) ')' +primary_key_def : primary_key index_name(?) '(' name_with_opt_paren(s /,/) ')' index_type(?) { $return = { supertype => 'constraint', name => $item{'index_name(?)'}[0], type => 'primary_key', fields => $item[4], + options => $item[6][0], }; } @@ -673,7 +674,7 @@ normal_index : KEY index_name_not_using(?) index_type(?) '(' name_with_opt_paren } index_name_not_using : QUOTED_NAME - | /\b([^u][^s]?[^i]?[^n]?[^g]?\w*?)\b/ { $return = $1 } + | /(\b(?!using)\w+\b)/ { $return = $1 } index_type : /using (btree|hash|rtree)/i { $return = uc $1 }