Skip to content

Commit

Permalink
Removed redundant xml override from pg adapter
Browse files Browse the repository at this point in the history
Closes: #11706
  • Loading branch information
pftg committed Aug 2, 2013
1 parent 5753a8c commit 4371c5c
Show file tree
Hide file tree
Showing 3 changed files with 47 additions and 7 deletions.
5 changes: 5 additions & 0 deletions activerecord/CHANGELOG.md
@@ -1,3 +1,8 @@
* Removed redundant override of `xml` column definition for PG,
in order to use `xml` column type instead of `text`

*Paul Nikitochkin*, *Michael Nikitochkin*

* Revert `ActiveRecord::Relation#order` change that make new order * Revert `ActiveRecord::Relation#order` change that make new order
prepend the old one. prepend the old one.


Expand Down
Expand Up @@ -373,15 +373,11 @@ def column(name, type = nil, options = {})
self self
end end


def xml(options = {})
column(args[0], :text, options)
end

private private


def create_column_definition(name, type) def create_column_definition(name, type)
ColumnDefinition.new name, type ColumnDefinition.new name, type
end end
end end


class Table < ActiveRecord::ConnectionAdapters::Table class Table < ActiveRecord::ConnectionAdapters::Table
Expand Down
39 changes: 39 additions & 0 deletions activerecord/test/cases/adapters/postgresql/xml_test.rb
@@ -0,0 +1,39 @@
# encoding: utf-8

require 'cases/helper'
require 'active_record/base'
require 'active_record/connection_adapters/postgresql_adapter'

class PostgresqlXMLTest < ActiveRecord::TestCase
class XmlDataType < ActiveRecord::Base
self.table_name = 'xml_data_type'
end

def setup
@connection = ActiveRecord::Base.connection
begin
@connection.transaction do
@connection.create_table('xml_data_type') do |t|
t.xml 'payload', default: {}
end
end
rescue ActiveRecord::StatementInvalid
return skip "do not test on PG without xml"
end
@column = XmlDataType.columns.find { |c| c.name == 'payload' }
end

def teardown
@connection.execute 'drop table if exists xml_data_type'
end

def test_column
assert_equal :xml, @column.type
end

def test_null_xml
@connection.execute %q|insert into xml_data_type (payload) VALUES(null)|
x = XmlDataType.first
assert_equal(nil, x.payload)
end
end

0 comments on commit 4371c5c

Please sign in to comment.