Flowdock
method

extract_expression_for_virtual_column

Importance_0
v5.2.3 - Show latest stable - 0 notes - Class: SchemaDumper
extract_expression_for_virtual_column(column) private

No documentation

This method has no description. You can help the Ruby on Rails community by adding new notes.

Hide source
# File activerecord/lib/active_record/connection_adapters/mysql/schema_dumper.rb, line 60
          def extract_expression_for_virtual_column(column)
            if @connection.mariadb? && @connection.version < "10.2.5"
              create_table_info = @connection.send(:create_table_info, column.table_name)
              column_name = @connection.quote_column_name(column.name)
              if /#{column_name} #{Regexp.quote(column.sql_type)}(?: COLLATE \w+)? AS \((?<expression>.+?)\) #{column.extra}/ =~ create_table_info
                $~[:expression].inspect
              end
            else
              scope = @connection.send(:quoted_scope, column.table_name)
              column_name = @connection.quote(column.name)
              sql = "SELECT generation_expression FROM information_schema.columns"                      " WHERE table_schema = #{scope[:schema]}"                      "   AND table_name = #{scope[:name]}"                      "   AND column_name = #{column_name}"
              @connection.query_value(sql, "SCHEMA").inspect
            end
          end
Register or log in to add new notes.