Merge pull request #29706 from kamipo/use_information_schema_to_extract_expression

Use `information_schema` to extract `generation_expression` for MariaDB
This commit is contained in:
Matthew Draper 2017-07-09 02:58:56 +09:30 committed by GitHub
commit 8fdc166e56
2 changed files with 2 additions and 2 deletions

@ -53,7 +53,7 @@ def schema_collation(column)
end
def extract_expression_for_virtual_column(column)
if mariadb?
if mariadb? && version < "10.2.5"
create_table_info = create_table_info(column.table_name)
if %r/#{quote_column_name(column.name)} #{Regexp.quote(column.sql_type)}(?: COLLATE \w+)? AS \((?<expression>.+?)\) #{column.extra}/ =~ create_table_info
$~[:expression].inspect

@ -52,7 +52,7 @@ def test_change_table
def test_schema_dumping
output = dump_table_schema("virtual_columns")
assert_match(/t\.virtual\s+"upper_name",\s+type: :string,\s+as: "UPPER\(`name`\)"$/i, output)
assert_match(/t\.virtual\s+"upper_name",\s+type: :string,\s+as: "(?:UPPER|UCASE)\(`name`\)"$/i, output)
assert_match(/t\.virtual\s+"name_length",\s+type: :integer,\s+as: "LENGTH\(`name`\)",\s+stored: true$/i, output)
end
end