mirror of
https://github.com/qgis/QGIS.git
synced 2025-02-28 00:17:30 -05:00
fixing bug #7822
This commit is contained in:
parent
5e760dd292
commit
9a0be04113
@ -801,6 +801,16 @@ QgsVectorFileWriter::writeAsVectorFormat( QgsVectorLayer* layer,
|
|||||||
|
|
||||||
writer->startRender( layer );
|
writer->startRender( layer );
|
||||||
|
|
||||||
|
// enabling transaction on databases that support it
|
||||||
|
bool transactionsEnabled = true;
|
||||||
|
OGRLayerH ogrCurrentLayer = writer->getLayer();
|
||||||
|
|
||||||
|
if ( OGRERR_NONE != OGR_L_StartTransaction(ogrCurrentLayer) )
|
||||||
|
{
|
||||||
|
QgsDebugMsg("Error when trying to enable transactions on OGRLayer.");
|
||||||
|
transactionsEnabled = false;
|
||||||
|
}
|
||||||
|
|
||||||
// write all features
|
// write all features
|
||||||
while ( fit.nextFeature( fet ) )
|
while ( fit.nextFeature( fet ) )
|
||||||
{
|
{
|
||||||
@ -862,6 +872,14 @@ QgsVectorFileWriter::writeAsVectorFormat( QgsVectorLayer* layer,
|
|||||||
n++;
|
n++;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ( transactionsEnabled )
|
||||||
|
{
|
||||||
|
if ( OGRERR_NONE != OGR_L_CommitTransaction(ogrCurrentLayer) )
|
||||||
|
{
|
||||||
|
QgsDebugMsg("Error while commiting transaction on OGRLayer.");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
writer->stopRender( layer );
|
writer->stopRender( layer );
|
||||||
delete writer;
|
delete writer;
|
||||||
|
|
||||||
|
@ -155,6 +155,9 @@ class CORE_EXPORT QgsVectorFileWriter
|
|||||||
double symbologyScaleDenominator() const { return mSymbologyScaleDenominator; }
|
double symbologyScaleDenominator() const { return mSymbologyScaleDenominator; }
|
||||||
void setSymbologyScaleDenominator( double d ) { mSymbologyScaleDenominator = d; }
|
void setSymbologyScaleDenominator( double d ) { mSymbologyScaleDenominator = d; }
|
||||||
|
|
||||||
|
/**Returns OGRLayer used to begin and commit transactions on database*/
|
||||||
|
OGRLayerH getLayer() { return mLayer; }
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
//! @note not available in python bindings
|
//! @note not available in python bindings
|
||||||
OGRGeometryH createEmptyGeometry( QGis::WkbType wkbType );
|
OGRGeometryH createEmptyGeometry( QGis::WkbType wkbType );
|
||||||
|
Loading…
x
Reference in New Issue
Block a user