@@ -1491,7 +1491,7 @@ QGis::WkbType QgsMssqlProvider::getWkbType( QString geometryType, int dim )
14911491
14921492QgsVectorLayerImport::ImportError QgsMssqlProvider::createEmptyLayer (
14931493 const QString& uri,
1494- const QgsFieldMap &fields,
1494+ const QgsFields &fields,
14951495 QGis::WkbType wkbType,
14961496 const QgsCoordinateReferenceSystem *srs,
14971497 bool overwrite,
@@ -1541,25 +1541,25 @@ QgsVectorLayerImport::ImportError QgsMssqlProvider::createEmptyLayer(
15411541 {
15421542 int index = 0 ;
15431543 QString pk = primaryKey = " qgs_fid" ;
1544- for ( QgsFieldMap::const_iterator fldIt = fields. begin (); fldIt ! = fields.end (); ++fldIt )
1544+ for ( int i = 0 , n = fields.size (); i < n; ++i )
15451545 {
1546- if ( fldIt. value () .name () == primaryKey )
1546+ if ( fields[i] .name () == primaryKey )
15471547 {
15481548 // it already exists, try again with a new name
15491549 primaryKey = QString ( " %1_%2" ).arg ( pk ).arg ( index++ );
1550- fldIt = fields. begin () ;
1550+ i = 0 ;
15511551 }
15521552 }
15531553 }
15541554 else
15551555 {
15561556 // search for the passed field
1557- for ( QgsFieldMap::const_iterator fldIt = fields. begin (); fldIt ! = fields.end (); ++fldIt )
1557+ for ( int i = 0 , n = fields.size (); i < n; ++i )
15581558 {
1559- if ( fldIt. value () .name () == primaryKey )
1559+ if ( fields[i] .name () == primaryKey )
15601560 {
15611561 // found, get the field type
1562- QgsField fld = fldIt. value () ;
1562+ QgsField fld = fields[i] ;
15631563 if ( convertField ( fld ) )
15641564 {
15651565 primaryKeyType = fld.typeName ();
@@ -1688,12 +1688,12 @@ QgsVectorLayerImport::ImportError QgsMssqlProvider::createEmptyLayer(
16881688
16891689 // get the list of fields
16901690 QList<QgsField> flist;
1691- for ( QgsFieldMap::const_iterator fldIt = fields. begin (); fldIt ! = fields.end (); ++fldIt )
1691+ for ( int i = 0 , n = fields.size (); i < n; ++i )
16921692 {
1693- QgsField fld = fldIt. value () ;
1693+ QgsField fld = fields[i] ;
16941694 if ( fld.name () == primaryKey )
16951695 {
1696- oldToNewAttrIdxMap->insert ( fldIt. key ( ), 0 );
1696+ oldToNewAttrIdxMap->insert ( fields. indexFromName ( fld. name () ), 0 );
16971697 continue ;
16981698 }
16991699
@@ -1714,7 +1714,7 @@ QgsVectorLayerImport::ImportError QgsMssqlProvider::createEmptyLayer(
17141714
17151715 flist.append ( fld );
17161716 if ( oldToNewAttrIdxMap )
1717- oldToNewAttrIdxMap->insert ( fldIt. key ( ), offset++ );
1717+ oldToNewAttrIdxMap->insert ( fields. indexFromName ( fld. name () ), offset++ );
17181718 }
17191719
17201720 if ( !provider->addAttributes ( flist ) )
@@ -1782,7 +1782,7 @@ QGISEXTERN QgsDataItem *dataItem( QString thePath, QgsDataItem *parentItem )
17821782
17831783QGISEXTERN QgsVectorLayerImport::ImportError createEmptyLayer (
17841784 const QString& uri,
1785- const QgsFieldMap &fields,
1785+ const QgsFields &fields,
17861786 QGis::WkbType wkbType,
17871787 const QgsCoordinateReferenceSystem *srs,
17881788 bool overwrite,
0 commit comments