Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
张重言
rails
提交
a34c10f7
R
rails
项目概览
张重言
/
rails
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
R
rails
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
a34c10f7
编写于
2月 01, 2014
作者:
M
Mauricio Linhares
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Fixes issue with parsing whitespace content back from database - fixes #13907
上级
9b2a017a
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
26 addition
and
2 deletion
+26
-2
activerecord/CHANGELOG.md
activerecord/CHANGELOG.md
+11
-0
activerecord/lib/active_record/connection_adapters/postgresql/array_parser.rb
...ive_record/connection_adapters/postgresql/array_parser.rb
+3
-2
activerecord/test/cases/adapters/postgresql/array_test.rb
activerecord/test/cases/adapters/postgresql/array_test.rb
+12
-0
未找到文件。
activerecord/CHANGELOG.md
浏览文件 @
a34c10f7
*
Parsing PostgreSQL arrays with empty strings now works correctly.
Previously, if you tried to parse `{"1","","2","","3"}` the result
would be `["1","2","3"]`, removing the empty strings from the array,
which would be incorrect. Now it will correctly produce `["1","","2","","3"]`
as the result of parsing the above PostgreSQL array.
Fixes #13907.
*Maurício Linhares*
*
Associations now raise
`ArgumentError`
on name conflicts.
Dangerous association names conflicts include instance or class methods already
...
...
activerecord/lib/active_record/connection_adapters/postgresql/array_parser.rb
浏览文件 @
a34c10f7
...
...
@@ -91,8 +91,9 @@ def parse_array_contents(array, string, index)
end
def
add_item_to_array
(
array
,
current_item
,
quoted
)
if
current_item
.
length
==
0
elsif
!
quoted
&&
current_item
==
'NULL'
return
if
!
quoted
&&
current_item
.
length
==
0
if
!
quoted
&&
current_item
==
'NULL'
array
.
push
nil
else
array
.
push
current_item
...
...
activerecord/test/cases/adapters/postgresql/array_test.rb
浏览文件 @
a34c10f7
...
...
@@ -93,6 +93,18 @@ def test_multi_dimensional_with_strings
assert_cycle
(
:tags
,
[[[
'1'
],
[
'2'
]],
[[
'2'
],
[
'3'
]]])
end
def
test_with_empty_strings
assert_cycle
(
:tags
,
[
'1'
,
'2'
,
''
,
'4'
,
''
,
'5'
])
end
def
test_with_multi_dimensional_empty_strings
assert_cycle
(
:tags
,
[[[
'1'
,
'2'
],
[
''
,
'4'
],
[
''
,
'5'
]]])
end
def
test_with_arbitrary_whitespace
assert_cycle
(
:tags
,
[[[
'1'
,
'2'
],
[
' '
,
'4'
],
[
' '
,
'5'
]]])
end
def
test_multi_dimensional_with_integers
assert_cycle
(
:ratings
,
[[[
1
],
[
7
]],
[[
8
],
[
10
]]])
end
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录