fix: character and bit columns with fixed length not inserting/updating properly
Fixes the error "value too long for type character(1)" when the char length of the column was bigger than one.
This commit is contained in:
@@ -391,6 +391,22 @@ spec actualPgVersion = do
|
||||
`shouldRespondWith` [json|[{ id: 20 }]|]
|
||||
{ matchStatus = 201 }
|
||||
|
||||
-- https://github.com/PostgREST/postgrest/issues/2861
|
||||
context "bit and char columns with length" $ do
|
||||
it "should insert to a bit column with length" $
|
||||
request methodPost "/bitchar_with_length?select=bit"
|
||||
[("Prefer", "return=representation")]
|
||||
[json|{"bit": "10101"}|]
|
||||
`shouldRespondWith` [json|[{ "bit": "10101" }]|]
|
||||
{ matchStatus = 201 }
|
||||
|
||||
it "should insert to a char column with length" $
|
||||
request methodPost "/bitchar_with_length?select=char"
|
||||
[("Prefer", "return=representation")]
|
||||
[json|{"char": "abcde"}|]
|
||||
`shouldRespondWith` [json|[{ "char": "abcde" }]|]
|
||||
{ matchStatus = 201 }
|
||||
|
||||
context "POST with ?columns parameter" $ do
|
||||
it "ignores json keys not included in ?columns" $ do
|
||||
request methodPost "/articles?columns=id,body" [("Prefer", "return=representation")]
|
||||
|
||||
@@ -384,6 +384,22 @@ spec actualPgVersion = do
|
||||
, matchHeaders = ["Preference-Applied" <:> "missing=default"]
|
||||
}
|
||||
|
||||
-- https://github.com/PostgREST/postgrest/issues/2861
|
||||
context "bit and char columns with length" $ do
|
||||
it "should update a bit column with length" $
|
||||
request methodPatch "/bitchar_with_length?char=eq.aaaaa"
|
||||
[("Prefer", "return=representation")]
|
||||
[json|{"bit": "11100"}|]
|
||||
`shouldRespondWith` [json|[{ "bit": "11100", "char": "aaaaa" }]|]
|
||||
{ matchStatus = 200 }
|
||||
|
||||
it "should update a char column with length" $
|
||||
request methodPatch "/bitchar_with_length?bit=eq.00000"
|
||||
[("Prefer", "return=representation")]
|
||||
[json|{"char": "zzzyy"}|]
|
||||
`shouldRespondWith` [json|[{ "bit": "00000", "char": "zzzyy" }]|]
|
||||
{ matchStatus = 200 }
|
||||
|
||||
context "tables with self reference foreign keys" $ do
|
||||
context "embeds children after update" $ do
|
||||
it "without filters" $
|
||||
|
||||
Reference in New Issue
Block a user