@@ -80,22 +80,25 @@ def getSource(self):
80
80
81
81
self .execSQLCommand ('ALTER TABLE "QGIS"."EDIT_DATA" MODIFY "pk" DROP IDENTITY' , ignore_errors = True )
82
82
self .execSQLCommand ('DROP TABLE "QGIS"."EDIT_DATA"' , ignore_errors = True )
83
- self .execSQLCommand ("""CREATE TABLE QGIS.EDIT_DATA ("pk" INTEGER GENERATED by default ON null as IDENTITY(START WITH 1 INCREMENT BY 1) PRIMARY KEY, "cnt" INTEGER, "name" VARCHAR2(100), "name2" VARCHAR2(100), "num_char" VARCHAR2(100), GEOM SDO_GEOMETRY)""" )
83
+ self .execSQLCommand ("""CREATE TABLE QGIS.EDIT_DATA ("pk" INTEGER GENERATED by default ON null as IDENTITY(START WITH 1 INCREMENT BY 1) PRIMARY KEY, "cnt" INTEGER, "name" VARCHAR2(100), "name2" VARCHAR2(100), "num_char" VARCHAR2(100), "dt" TIMESTAMP, "date" DATE, "time" VARCHAR2(100), GEOM SDO_GEOMETRY)""" )
84
84
self .execSQLCommand ("""DELETE FROM user_sdo_geom_metadata where TABLE_NAME = 'EDIT_DATA'""" )
85
85
self .execSQLCommand (
86
86
"""INSERT INTO user_sdo_geom_metadata (TABLE_NAME, COLUMN_NAME, DIMINFO, SRID) VALUES ( 'EDIT_DATA', 'GEOM', sdo_dim_array(sdo_dim_element('X',-75,-55,0.005),sdo_dim_element('Y',65,85,0.005)),4326)""" , ignore_errors = True )
87
87
self .execSQLCommand ("""CREATE INDEX edit_data_spatial_idx ON QGIS.EDIT_DATA(GEOM) INDEXTYPE IS MDSYS.SPATIAL_INDEX""" )
88
- self .execSQLCommand ("""INSERT INTO QGIS.EDIT_DATA ("pk", "cnt", "name", "name2", "num_char", GEOM)
89
- SELECT 5, -200, NULL, 'NuLl', '5', SDO_GEOMETRY( 2001,4326,SDO_POINT_TYPE(-71.123, 78.23, NULL), NULL, NULL) from dual
90
- UNION ALL SELECT 3, 300, 'Pear', 'PEaR', '3', NULL from dual
91
- UNION ALL SELECT 1, 100, 'Orange', 'oranGe', '1', SDO_GEOMETRY( 2001,4326,SDO_POINT_TYPE(-70.332, 66.33, NULL), NULL, NULL) from dual
92
- UNION ALL SELECT 2, 200, 'Apple', 'Apple', '2', SDO_GEOMETRY( 2001,4326,SDO_POINT_TYPE(-68.2, 70.8, NULL), NULL, NULL) from dual
93
- UNION ALL SELECT 4, 400, 'Honey', 'Honey', '4', SDO_GEOMETRY( 2001,4326,SDO_POINT_TYPE(-65.32, 78.3, NULL), NULL, NULL) from dual""" )
88
+ self .execSQLCommand ("""INSERT INTO QGIS.EDIT_DATA ("pk", "cnt", "name", "name2", "num_char", "dt", "date", "time", GEOM)
89
+ SELECT 5, -200, NULL, 'NuLl', '5', TIMESTAMP '2020-05-04 12:13:14', DATE '2020-05-02','12:13:01', SDO_GEOMETRY( 2001,4326,SDO_POINT_TYPE(-71.123, 78.23, NULL), NULL, NULL) from dual
90
+ UNION ALL SELECT 3, 300, 'Pear', 'PEaR', '3', NULL, NULL, NULL, NULL from dual
91
+ UNION ALL SELECT 1, 100, 'Orange', 'oranGe', '1', TIMESTAMP '2020-05-03 12:13:14', DATE '2020-05-03','12:13:14', SDO_GEOMETRY( 2001,4326,SDO_POINT_TYPE(-70.332, 66.33, NULL), NULL, NULL) from dual
92
+ UNION ALL SELECT 2, 200, 'Apple', 'Apple', '2', TIMESTAMP '2020-05-04 12:14:14', DATE '2020-05-04','12:14:14', SDO_GEOMETRY( 2001,4326,SDO_POINT_TYPE(-68.2, 70.8, NULL), NULL, NULL) from dual
93
+ UNION ALL SELECT 4, 400, 'Honey', 'Honey', '4', TIMESTAMP '2021-05-04 13:13:14', DATE '2021-05-04','13:13:14', SDO_GEOMETRY( 2001,4326,SDO_POINT_TYPE(-65.32, 78.3, NULL), NULL, NULL) from dual""" )
94
94
vl = QgsVectorLayer (
95
95
self .dbconn + ' sslmode=disable key=\' pk\' srid=4326 type=POINT table="QGIS"."EDIT_DATA" (GEOM) sql=' ,
96
96
'test' , 'oracle' )
97
97
return vl
98
98
99
+ def treat_time_as_string (self ):
100
+ return True
101
+
99
102
def getEditableLayer (self ):
100
103
return self .getSource ()
101
104
@@ -160,7 +163,15 @@ def uncompiledFilters(self):
160
163
'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))\' ))' ,
161
164
'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))\' ))' ,
162
165
'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))\' ))' ,
163
- '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))\' ))'
166
+ '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))\' ))' ,
167
+ '"dt" <= make_datetime(2020, 5, 4, 12, 13, 14)' ,
168
+ '"dt" < make_date(2020, 5, 4)' ,
169
+ '"dt" = to_datetime(\' 000www14ww13ww12www4ww5ww2020\' ,\' zzzwwwsswwmmwwhhwwwdwwMwwyyyy\' )' ,
170
+ '"date" <= make_datetime(2020, 5, 4, 12, 13, 14)' ,
171
+ '"date" >= make_date(2020, 5, 4)' ,
172
+ '"date" = to_date(\' www4ww5ww2020\' ,\' wwwdwwMwwyyyy\' )' ,
173
+ 'to_time("time") >= make_time(12, 14, 14)' ,
174
+ 'to_time("time") = to_time(\' 000www14ww13ww12www\' ,\' zzzwwwsswwmmwwhhwww\' )'
164
175
])
165
176
return filters
166
177
0 commit comments