Bug report #21519
Updated by Alister Hood over 5 years ago
1. In 3.x, if I load shape files as directories (i.e. drag and drop the containing directory into QGIS, rather than the shapefile itself), and then try to use those layers as inputs, I get an error message:
````
<pre>
Traceback (most recent call last):
File "C:/PROGRA~1/QGIS3~1.6/apps/qgis/./python/plugins\processing\algs\qgis\Datasources2Vrt.py", line 102, in processAlgorithm
feedback=feedback)
File "C:/PROGRA~1/QGIS3~1.6/apps/qgis/./python/plugins\processing\algs\qgis\Datasources2Vrt.py", line 133, in mergeDataSources2Vrt
self.tr('Invalid datasource: {}'.format(inFile)))
_core.QgsProcessingException: Invalid datasource: //path_obfuscated/Area_2/BD34_0109|layername=BD34_0109
Execution failed after 0.10 seconds
</pre> ````
It succeeds without error in 2.18.x.
2. If two of the input layers have the same name and I create a "unioned" VRT using 3.x the vrt contains one of them twice and omits the other one. 2.18.x correctly creates a vrt containing both.
3. There is another buglet that isn't a regression as 2.18.x did not support loading the output file after creating it: run the algorithm with 'create "unioned" VRT' unchecked and "open output file after running algorithm" checked, and only one layer in the output VRT will be _loaded_. However, the VRT was actually created correctly (drag and drop the VRT into QGIS and you will get the dialog to select which layers to load).
````
<pre>
Traceback (most recent call last):
File "C:/PROGRA~1/QGIS3~1.6/apps/qgis/./python/plugins\processing\algs\qgis\Datasources2Vrt.py", line 102, in processAlgorithm
feedback=feedback)
File "C:/PROGRA~1/QGIS3~1.6/apps/qgis/./python/plugins\processing\algs\qgis\Datasources2Vrt.py", line 133, in mergeDataSources2Vrt
self.tr('Invalid datasource: {}'.format(inFile)))
_core.QgsProcessingException: Invalid datasource: //path_obfuscated/Area_2/BD34_0109|layername=BD34_0109
Execution failed after 0.10 seconds
</pre> ````
It succeeds without error in 2.18.x.
2. If two of the input layers have the same name and I create a "unioned" VRT using 3.x the vrt contains one of them twice and omits the other one. 2.18.x correctly creates a vrt containing both.
3. There is another buglet that isn't a regression as 2.18.x did not support loading the output file after creating it: run the algorithm with 'create "unioned" VRT' unchecked and "open output file after running algorithm" checked, and only one layer in the output VRT will be _loaded_. However, the VRT was actually created correctly (drag and drop the VRT into QGIS and you will get the dialog to select which layers to load).