@@ -95,7 +95,7 @@ def getSource(self):
95
95
# create temporary table for edit tests
96
96
self .execSQLCommand ('DROP TABLE IF EXISTS qgis_test.edit_data' )
97
97
self .execSQLCommand (
98
- """CREATE TABLE qgis_test.edit_data (pk INTEGER PRIMARY KEY,cnt integer, name nvarchar(max), name2 nvarchar(max), num_char nvarchar(max), geom geometry)""" )
98
+ """CREATE TABLE qgis_test.edit_data (pk INTEGER PRIMARY KEY,cnt integer, name nvarchar(max), name2 nvarchar(max), num_char nvarchar(max), dt datetime, [date] date, [time] time, geom geometry)""" )
99
99
100
100
vl = QgsVectorLayer (
101
101
self .dbconn + ' sslmode=disable key=\' pk\' srid=4326 type=POINT table="qgis_test"."edit_data" (geom) sql=' ,
@@ -104,22 +104,22 @@ def getSource(self):
104
104
self .assertTrue (vl .isValid (), vl .dataProvider ().error ().message ())
105
105
106
106
f1 = QgsFeature ()
107
- f1 .setAttributes ([5 , - 200 , NULL , 'NuLl' , '5' ])
107
+ f1 .setAttributes ([5 , - 200 , NULL , 'NuLl' , '5' , QDateTime ( QDate ( 2020 , 5 , 4 ), QTime ( 12 , 13 , 14 )), QDate ( 2020 , 5 , 2 ), QTime ( 12 , 13 , 1 ) ])
108
108
f1 .setGeometry (QgsGeometry .fromWkt ('Point (-71.123 78.23)' ))
109
109
110
110
f2 = QgsFeature ()
111
- f2 .setAttributes ([3 , 300 , 'Pear' , 'PEaR' , '3' ])
111
+ f2 .setAttributes ([3 , 300 , 'Pear' , 'PEaR' , '3' , NULL , NULL , NULL ])
112
112
113
113
f3 = QgsFeature ()
114
- f3 .setAttributes ([1 , 100 , 'Orange' , 'oranGe' , '1' ])
114
+ f3 .setAttributes ([1 , 100 , 'Orange' , 'oranGe' , '1' , QDateTime ( QDate ( 2020 , 5 , 3 ), QTime ( 12 , 13 , 14 )), QDate ( 2020 , 5 , 3 ), QTime ( 12 , 13 , 14 ) ])
115
115
f3 .setGeometry (QgsGeometry .fromWkt ('Point (-70.332 66.33)' ))
116
116
117
117
f4 = QgsFeature ()
118
- f4 .setAttributes ([2 , 200 , 'Apple' , 'Apple' , '2' ])
118
+ f4 .setAttributes ([2 , 200 , 'Apple' , 'Apple' , '2' , QDateTime ( QDate ( 2020 , 5 , 4 ), QTime ( 12 , 14 , 14 )), QDate ( 2020 , 5 , 4 ), QTime ( 12 , 14 , 14 ) ])
119
119
f4 .setGeometry (QgsGeometry .fromWkt ('Point (-68.2 70.8)' ))
120
120
121
121
f5 = QgsFeature ()
122
- f5 .setAttributes ([4 , 400 , 'Honey' , 'Honey' , '4' ])
122
+ f5 .setAttributes ([4 , 400 , 'Honey' , 'Honey' , '4' , QDateTime ( QDate ( 2021 , 5 , 4 ), QTime ( 13 , 13 , 14 )), QDate ( 2021 , 5 , 4 ), QTime ( 13 , 13 , 14 ) ])
123
123
f5 .setGeometry (QgsGeometry .fromWkt ('Point (-65.32 78.3)' ))
124
124
125
125
self .assertTrue (vl .dataProvider ().addFeatures ([f1 , f2 , f3 , f4 , f5 ]))
@@ -144,6 +144,8 @@ def partiallyCompiledFilters(self):
144
144
'name LIKE \' Apple\' ' ,
145
145
'name LIKE \' aPple\' ' ,
146
146
'name ILIKE \' aPple\' ' ,
147
+ 'name LIKE \' Ap_le\' ' ,
148
+ 'name LIKE \' Ap\_le\' ' ,
147
149
'name ILIKE \' %pp%\' ' ,
148
150
'"name" || \' \' || "name" = \' Orange Orange\' ' ,
149
151
'"name" || \' \' || "cnt" = \' Orange 100\' ' ,
@@ -212,7 +214,15 @@ def uncompiledFilters(self):
212
214
'overlaps(translate($geometry,-1,-1),geom_from_wkt( \' Polygon ((-75.1 76.1, -75.1 81.6, -68.8 81.6, -68.8 76.1, -75.1 76.1))\' ))' ,
213
215
'overlaps(buffer($geometry,1),geom_from_wkt( \' Polygon ((-75.1 76.1, -75.1 81.6, -68.8 81.6, -68.8 76.1, -75.1 76.1))\' ))' ,
214
216
'intersects(centroid($geometry),geom_from_wkt( \' Polygon ((-74.4 78.2, -74.4 79.1, -66.8 79.1, -66.8 78.2, -74.4 78.2))\' ))' ,
215
- 'intersects(point_on_surface($geometry),geom_from_wkt( \' Polygon ((-74.4 78.2, -74.4 79.1, -66.8 79.1, -66.8 78.2, -74.4 78.2))\' ))'
217
+ 'intersects(point_on_surface($geometry),geom_from_wkt( \' Polygon ((-74.4 78.2, -74.4 79.1, -66.8 79.1, -66.8 78.2, -74.4 78.2))\' ))' ,
218
+ '"dt" <= make_datetime(2020, 5, 4, 12, 13, 14)' ,
219
+ '"dt" < make_date(2020, 5, 4)' ,
220
+ '"dt" = to_datetime(\' 000www14ww13ww12www4ww5ww2020\' ,\' zzzwwwsswwmmwwhhwwwdwwMwwyyyy\' )' ,
221
+ '"date" <= make_datetime(2020, 5, 4, 12, 13, 14)' ,
222
+ '"date" >= make_date(2020, 5, 4)' ,
223
+ '"date" = to_date(\' www4ww5ww2020\' ,\' wwwdwwMwwyyyy\' )' ,
224
+ '"time" >= make_time(12, 14, 14)' ,
225
+ '"time" = to_time(\' 000www14ww13ww12www\' ,\' zzzwwwsswwmmwwhhwww\' )'
216
226
])
217
227
return filters
218
228
0 commit comments