Merge pull request #13858 from taosdata/fix/jsonFlt

fix: json filter error
This commit is contained in:
Yihao Deng 2022-06-15 16:41:15 +08:00 committed by GitHub
commit e85b591e1a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 30 additions and 35 deletions

View File

@ -243,9 +243,8 @@ class TDTestCase:
tdSql.checkRows(2) tdSql.checkRows(2)
tdSql.query("select * from jsons1 where jtag->'tag2'!='beijing'") tdSql.query("select * from jsons1 where jtag->'tag2'!='beijing'")
tdSql.checkRows(5) tdSql.checkRows(5)
#open tdSql.query("select * from jsons1 where jtag->'tag2'=''")
#tdSql.query("select * from jsons1 where jtag->'tag2'=''") tdSql.checkRows(2)
#tdSql.checkRows(2)
# #
# # where json value is int # # where json value is int
tdSql.query("select * from jsons1 where jtag->'tag1'=5") tdSql.query("select * from jsons1 where jtag->'tag1'=5")
@ -253,11 +252,10 @@ class TDTestCase:
tdSql.checkData(0, 1, 2) tdSql.checkData(0, 1, 2)
tdSql.query("select * from jsons1 where jtag->'tag1'=10") tdSql.query("select * from jsons1 where jtag->'tag1'=10")
tdSql.checkRows(0) tdSql.checkRows(0)
# open tdSql.query("select * from jsons1 where jtag->'tag1'<54")
#tdSql.query("select * from jsons1 where jtag->'tag1'<54") tdSql.checkRows(4)
#tdSql.checkRows(3) tdSql.query("select * from jsons1 where jtag->'tag1'<=11")
#tdSql.query("select * from jsons1 where jtag->'tag1'<=11") tdSql.checkRows(4)
#tdSql.checkRows(3)
tdSql.query("select * from jsons1 where jtag->'tag1'>4") tdSql.query("select * from jsons1 where jtag->'tag1'>4")
tdSql.checkRows(2) tdSql.checkRows(2)
tdSql.query("select * from jsons1 where jtag->'tag1'>=5") tdSql.query("select * from jsons1 where jtag->'tag1'>=5")
@ -270,31 +268,28 @@ class TDTestCase:
# # where json value is double # # where json value is double
tdSql.query("select * from jsons1 where jtag->'tag1'=1.232") tdSql.query("select * from jsons1 where jtag->'tag1'=1.232")
tdSql.checkRows(1) tdSql.checkRows(1)
# open tdSql.query("select * from jsons1 where jtag->'tag1'<1.232")
#tdSql.query("select * from jsons1 where jtag->'tag1'<1.232") tdSql.checkRows(1)
#tdSql.checkRows(0) tdSql.query("select * from jsons1 where jtag->'tag1'<=1.232")
#tdSql.query("select * from jsons1 where jtag->'tag1'<=1.232") tdSql.checkRows(2)
#tdSql.checkRows(1)
tdSql.query("select * from jsons1 where jtag->'tag1'>1.23") tdSql.query("select * from jsons1 where jtag->'tag1'>1.23")
tdSql.checkRows(3) tdSql.checkRows(3)
tdSql.query("select * from jsons1 where jtag->'tag1'>=1.232") tdSql.query("select * from jsons1 where jtag->'tag1'>=1.232")
tdSql.checkRows(3) tdSql.checkRows(3)
# open tdSql.query("select * from jsons1 where jtag->'tag1'!=1.232")
#tdSql.query("select * from jsons1 where jtag->'tag1'!=1.232") tdSql.checkRows(6)
#tdSql.checkRows(2)
tdSql.query("select * from jsons1 where jtag->'tag1'!=3.232") tdSql.query("select * from jsons1 where jtag->'tag1'!=3.232")
tdSql.checkRows(7) tdSql.checkRows(7)
#tdSql.error("select * from jsons1 where jtag->'tag1'/0=3") #tdSql.error("select * from jsons1 where jtag->'tag1'/0=3")
#tdSql.error("select * from jsons1 where jtag->'tag1'/5=1") #tdSql.error("select * from jsons1 where jtag->'tag1'/5=1")
# #
# # where json value is bool # # where json value is bool
#tdSql.query("select * from jsons1 where jtag->'tag1'=true") tdSql.query("select * from jsons1 where jtag->'tag1'=true")
# open tdSql.checkRows(0)
#tdSql.checkRows(0)
#tdSql.query("select * from jsons1 where jtag->'tag1'=false") #tdSql.query("select * from jsons1 where jtag->'tag1'=false")
#tdSql.checkRows(1) #tdSql.checkRows(1)
#tdSql.query("select * from jsons1 where jtag->'tag1'!=false") tdSql.query("select * from jsons1 where jtag->'tag1'!=false")
#tdSql.checkRows(0) tdSql.checkRows(3)
#tdSql.error("select * from jsons1 where jtag->'tag1'>false") #tdSql.error("select * from jsons1 where jtag->'tag1'>false")
# #
# # where json value is null # # where json value is null
@ -303,18 +298,17 @@ class TDTestCase:
#tdSql.checkRows(1) #tdSql.checkRows(1)
# #
# # where json key is null # # where json key is null
# open tdSql.query("select * from jsons1 where jtag->'tag_no_exist'=3")
#tdSql.query("select * from jsons1 where jtag->'tag_no_exist'=3") tdSql.checkRows(0)
#tdSql.checkRows(0)
# #
# # where json value is not exist # # where json value is not exist
#tdSql.query("select * from jsons1 where jtag->'tag1' is null") tdSql.query("select * from jsons1 where jtag->'tag1' is null")
#tdSql.checkData(0, 0, 'jsons1_9') tdSql.checkData(0, 0, 'jsons1_9')
#tdSql.checkRows(1) tdSql.checkRows(2)
#tdSql.query("select * from jsons1 where jtag->'tag4' is null") tdSql.query("select * from jsons1 where jtag->'tag4' is null")
#tdSql.checkRows(9) tdSql.checkRows(9)
#tdSql.query("select * from jsons1 where jtag->'tag3' is not null") tdSql.query("select * from jsons1 where jtag->'tag3' is not null")
#tdSql.checkRows(4) tdSql.checkRows(3)
# #
# # test contains # # test contains
tdSql.query("select * from jsons1 where jtag contains 'tag1'") tdSql.query("select * from jsons1 where jtag contains 'tag1'")
@ -344,10 +338,10 @@ class TDTestCase:
# #
# #
# # test with between and # # test with between and
#tdSql.query("select * from jsons1 where jtag->'tag1' between 1 and 30") tdSql.query("select * from jsons1 where jtag->'tag1' between 1 and 30")
#tdSql.checkRows(3) tdSql.checkRows(3)
#tdSql.query("select * from jsons1 where jtag->'tag1' between 'femail' and 'beijing'") tdSql.query("select * from jsons1 where jtag->'tag1' between 'femail' and 'beijing'")
#tdSql.checkRows(2) tdSql.checkRows(2)
# #
# # test with tbname/normal column # # test with tbname/normal column
tdSql.query("select * from jsons1 where tbname = 'jsons1_1'") tdSql.query("select * from jsons1 where tbname = 'jsons1_1'")
@ -362,6 +356,7 @@ class TDTestCase:
# #
# # test where condition like # # test where condition like
# open # open
# syntax error
#tdSql.query("select *,tbname from jsons1 where jtag->'tag2' like 'bei%'") #tdSql.query("select *,tbname from jsons1 where jtag->'tag2' like 'bei%'")
#tdSql.checkRows(2) #tdSql.checkRows(2)
#tdSql.query("select *,tbname from jsons1 where jtag->'tag1' like 'fe%' and jtag->'tag2' is not null") #tdSql.query("select *,tbname from jsons1 where jtag->'tag1' like 'fe%' and jtag->'tag2' is not null")