@@ -905,8 +905,8 @@ bool QgsPostgresProvider::loadFields()
905
905
fields << fieldName;
906
906
907
907
mAttrPalIndexName .insert ( i, fieldName );
908
+ mDefaultValues .insert ( mAttributeFields .size (), defValMap[tableoid][attnum] );
908
909
mAttributeFields .append ( QgsField ( fieldName, fieldType, fieldTypeName, fieldSize, fieldPrec, fieldComment ) );
909
- mDefaultValues .insert ( i, defValMap[tableoid][attnum] );
910
910
}
911
911
912
912
return true ;
@@ -1778,23 +1778,24 @@ bool QgsPostgresProvider::addFeatures( QgsFeatureList &flist )
1778
1778
1779
1779
for ( int i = 0 ; i < fieldId.size (); i++ )
1780
1780
{
1781
- QVariant value = attrs[ fieldId[i] ];
1781
+ int attrIdx = fieldId[i];
1782
+ QVariant value = attrs[ attrIdx ];
1782
1783
1783
1784
QString v;
1784
1785
if ( value.isNull () )
1785
1786
{
1786
- const QgsField &fld = field ( fieldId[i] );
1787
- v = paramValue ( defaultValues[i ], defaultValues[i ] );
1788
- features->setAttribute ( fieldId[i] , convertValue ( fld.type (), v ) );
1787
+ const QgsField &fld = field ( attrIdx );
1788
+ v = paramValue ( defaultValues[ attrIdx ], defaultValues[ attrIdx ] );
1789
+ features->setAttribute ( idx , convertValue ( fld.type (), v ) );
1789
1790
}
1790
1791
else
1791
1792
{
1792
- v = paramValue ( value.toString (), defaultValues[i ] );
1793
+ v = paramValue ( value.toString (), defaultValues[ attrIdx ] );
1793
1794
1794
1795
if ( v != value.toString () )
1795
1796
{
1796
- const QgsField &fld = field ( fieldId[i] );
1797
- features->setAttribute ( fieldId[i] , convertValue ( fld.type (), v ) );
1797
+ const QgsField &fld = field ( attrIdx );
1798
+ features->setAttribute ( attrIdx , convertValue ( fld.type (), v ) );
1798
1799
}
1799
1800
}
1800
1801
0 commit comments