From 934c1c230c18f69f815842ea7244937e97bc21a8 Mon Sep 17 00:00:00 2001 From: ZC-Loaner Date: Thu, 13 Aug 2020 16:11:23 +0530 Subject: [PATCH 1/6] Changed GeomFromWKB to ST_GeomFromWKB, as GeomFromWKB is deprecated in and after mysql5.7 --- .../connection_adapters/mysql2spatial_adapter/main_adapter.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 From f4d9b0bfbdb9b8fb1267b6a058ebb567ce222d4f Mon Sep 17 00:00:00 2001 From: ZC-Loaner Date: Thu, 13 Aug 2020 16:21:04 +0530 Subject: [PATCH 2/6] Changed GeomFromWKB to ST_GeomFromWKB, as GeomFromWKB is deprecated in and after mysql5.7 --- .../connection_adapters/mysql2spatial_adapter/arel_tosql.rb | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) 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..3b70c63 100644 --- a/lib/active_record/connection_adapters/mysql2spatial_adapter/arel_tosql.rb +++ b/lib/active_record/connection_adapters/mysql2spatial_adapter/arel_tosql.rb @@ -39,9 +39,9 @@ class MySQL2Spatial < MySQL end FUNC_MAP = { - 'st_wkttosql' => 'GeomFromText', - 'st_wkbtosql' => 'GeomFromWKB', - 'st_length' => 'GLength' + 'st_wkttosql' => 'ST_GeomFromText', + 'st_wkbtosql' => 'ST_GeomFromWKB', + 'st_length' => 'ST_GLength' }.freeze include ::RGeo::ActiveRecord::SpatialToSql From 4f4802d9b825e6794d6196a8e7506f961a7c5869 Mon Sep 17 00:00:00 2001 From: ZC-Loaner Date: Thu, 13 Aug 2020 16:25:41 +0530 Subject: [PATCH 3/6] Changed GeomFromWKB to ST_GeomFromWKB, as GeomFromWKB is deprecated in and after mysql5.7 --- .../connection_adapters/mysql2spatial_adapter/spatial_column.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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..5e9fde4 100644 --- a/lib/active_record/connection_adapters/mysql2spatial_adapter/spatial_column.rb +++ b/lib/active_record/connection_adapters/mysql2spatial_adapter/spatial_column.rb @@ -40,7 +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_ From 818274a90b120156fbe8314a0fd209f15019da5e Mon Sep 17 00:00:00 2001 From: ZC-Loaner Date: Thu, 13 Aug 2020 16:46:48 +0530 Subject: [PATCH 4/6] Changed GeomFromWKB to ST_GeomFromWKB, as GeomFromWKB is deprecated in and after mysql5.7 --- .../connection_adapters/mysql2spatial_adapter/arel_tosql.rb | 2 +- .../mysql2spatial_adapter/spatial_column.rb | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) 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 3b70c63..3cd0066 100644 --- a/lib/active_record/connection_adapters/mysql2spatial_adapter/arel_tosql.rb +++ b/lib/active_record/connection_adapters/mysql2spatial_adapter/arel_tosql.rb @@ -42,7 +42,7 @@ class MySQL2Spatial < MySQL 'st_wkttosql' => 'ST_GeomFromText', 'st_wkbtosql' => 'ST_GeomFromWKB', 'st_length' => 'ST_GLength' - }.freeze + } include ::RGeo::ActiveRecord::SpatialToSql 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 5e9fde4..625acdf 100644 --- a/lib/active_record/connection_adapters/mysql2spatial_adapter/spatial_column.rb +++ b/lib/active_record/connection_adapters/mysql2spatial_adapter/spatial_column.rb @@ -41,7 +41,7 @@ module Mysql2SpatialAdapter class SpatialColumn < column_base_class_ FACTORY_SETTINGS_CACHE = {} - + FACTORY_SETTINGS_CACHE_DUP = {} def initialize(factory_settings_, table_name_, name_, default_, sql_type_ = nil, null_ = true) @factory_settings = factory_settings_ @table_name = table_name_ @@ -50,7 +50,7 @@ def initialize(factory_settings_, table_name_, name_, default_, sql_type_ = nil, if type == :spatial @limit = { type: @geometric_type.type_name.underscore } end - FACTORY_SETTINGS_CACHE[factory_settings_.object_id] = factory_settings_ + FACTORY_SETTINGS_CACHE_DUP[factory_settings_.object_id] = factory_settings_ end attr_reader :geometric_type @@ -75,7 +75,7 @@ def type_cast_code(var_name_) if type == :spatial '::ActiveRecord::ConnectionAdapters::Mysql2SpatialAdapter::SpatialColumn.convert_to_geometry(' \ "#{var_name_}, ::ActiveRecord::ConnectionAdapters::Mysql2SpatialAdapter::SpatialColumn::" \ - "FACTORY_SETTINGS_CACHE[#{@factory_settings.object_id}], #{@table_name.inspect}, #{name.inspect})" + "FACTORY_SETTINGS_CACHE_DUP[#{@factory_settings.object_id}], #{@table_name.inspect}, #{name.inspect})" else super end From d2d404670ef21f8913b54e94036640f25e5dbcf1 Mon Sep 17 00:00:00 2001 From: ZC-Loaner Date: Thu, 13 Aug 2020 16:51:37 +0530 Subject: [PATCH 5/6] Changed GeomFromWKB to ST_GeomFromWKB, as GeomFromWKB is deprecated in and after mysql5.7 --- .../mysql2spatial_adapter/spatial_column.rb | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) 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 625acdf..928ef7d 100644 --- a/lib/active_record/connection_adapters/mysql2spatial_adapter/spatial_column.rb +++ b/lib/active_record/connection_adapters/mysql2spatial_adapter/spatial_column.rb @@ -41,7 +41,6 @@ module Mysql2SpatialAdapter class SpatialColumn < column_base_class_ FACTORY_SETTINGS_CACHE = {} - FACTORY_SETTINGS_CACHE_DUP = {} def initialize(factory_settings_, table_name_, name_, default_, sql_type_ = nil, null_ = true) @factory_settings = factory_settings_ @table_name = table_name_ @@ -50,7 +49,7 @@ def initialize(factory_settings_, table_name_, name_, default_, sql_type_ = nil, if type == :spatial @limit = { type: @geometric_type.type_name.underscore } end - FACTORY_SETTINGS_CACHE_DUP[factory_settings_.object_id] = factory_settings_ + FACTORY_SETTINGS_CACHE[factory_settings_.object_id] = factory_settings_ end attr_reader :geometric_type @@ -75,7 +74,7 @@ def type_cast_code(var_name_) if type == :spatial '::ActiveRecord::ConnectionAdapters::Mysql2SpatialAdapter::SpatialColumn.convert_to_geometry(' \ "#{var_name_}, ::ActiveRecord::ConnectionAdapters::Mysql2SpatialAdapter::SpatialColumn::" \ - "FACTORY_SETTINGS_CACHE_DUP[#{@factory_settings.object_id}], #{@table_name.inspect}, #{name.inspect})" + "FACTORY_SETTINGS_CACHE[#{@factory_settings.object_id}], #{@table_name.inspect}, #{name.inspect})" else super end From ee1d31b74d56876dd1a907f2c463611ad0c08cc6 Mon Sep 17 00:00:00 2001 From: ZC-Loaner Date: Fri, 14 Aug 2020 14:05:31 +0530 Subject: [PATCH 6/6] Changed GeomFromWKB to ST_GeomFromWKB, as GeomFromWKB is deprecated in and after mysql5.7 --- .../connection_adapters/mysql2spatial_adapter/column_methods.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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