diff --git a/lib/active_record/connection_adapters/mysql2spatial_adapter/arel_tosql.rb b/lib/active_record/connection_adapters/mysql2spatial_adapter/arel_tosql.rb index 96a011f..3cd0066 100644 --- a/lib/active_record/connection_adapters/mysql2spatial_adapter/arel_tosql.rb +++ b/lib/active_record/connection_adapters/mysql2spatial_adapter/arel_tosql.rb @@ -39,10 +39,10 @@ class MySQL2Spatial < MySQL end FUNC_MAP = { - 'st_wkttosql' => 'GeomFromText', - 'st_wkbtosql' => 'GeomFromWKB', - 'st_length' => 'GLength' - }.freeze + 'st_wkttosql' => 'ST_GeomFromText', + 'st_wkbtosql' => 'ST_GeomFromWKB', + 'st_length' => 'ST_GLength' + } include ::RGeo::ActiveRecord::SpatialToSql diff --git a/lib/active_record/connection_adapters/mysql2spatial_adapter/column_methods.rb b/lib/active_record/connection_adapters/mysql2spatial_adapter/column_methods.rb index 19fc9a6..a7442bf 100644 --- a/lib/active_record/connection_adapters/mysql2spatial_adapter/column_methods.rb +++ b/lib/active_record/connection_adapters/mysql2spatial_adapter/column_methods.rb @@ -43,7 +43,7 @@ def point(name, options = {}) end end - ConnectionAdapters::TableDefinition.include ColumnMethods + ConnectionAdapters::TableDefinition.send(:include, ColumnMethods) end end end diff --git a/lib/active_record/connection_adapters/mysql2spatial_adapter/main_adapter.rb b/lib/active_record/connection_adapters/mysql2spatial_adapter/main_adapter.rb index 3e6efb0..422f736 100644 --- a/lib/active_record/connection_adapters/mysql2spatial_adapter/main_adapter.rb +++ b/lib/active_record/connection_adapters/mysql2spatial_adapter/main_adapter.rb @@ -63,7 +63,7 @@ def native_database_types def quote(value_, column_ = nil) if ::RGeo::Feature::Geometry.check_type(value_) - "GeomFromWKB(0x#{::RGeo::WKRep::WKBGenerator.new(hex_format: true).generate(value_)},#{value_.srid})" + "ST_GeomFromWKB(0x#{::RGeo::WKRep::WKBGenerator.new(hex_format: true).generate(value_)},#{value_.srid})" else super end diff --git a/lib/active_record/connection_adapters/mysql2spatial_adapter/spatial_column.rb b/lib/active_record/connection_adapters/mysql2spatial_adapter/spatial_column.rb index af73cc2..928ef7d 100644 --- a/lib/active_record/connection_adapters/mysql2spatial_adapter/spatial_column.rb +++ b/lib/active_record/connection_adapters/mysql2spatial_adapter/spatial_column.rb @@ -40,8 +40,7 @@ module Mysql2SpatialAdapter ConnectionAdapters::Mysql2Adapter::Column : ConnectionAdapters::Mysql2Column class SpatialColumn < column_base_class_ - FACTORY_SETTINGS_CACHE = {}.freeze - + FACTORY_SETTINGS_CACHE = {} def initialize(factory_settings_, table_name_, name_, default_, sql_type_ = nil, null_ = true) @factory_settings = factory_settings_ @table_name = table_name_