mirror of
https://github.com/qgis/QGIS.git
synced 2025-04-27 00:03:38 -04:00
Fix for editing problems
git-svn-id: http://svn.osgeo.org/qgis/trunk@6882 c8812cc2-4d05-0410-92ff-de0c093fc19c
This commit is contained in:
parent
c94d100beb
commit
fe77a6ac12
@ -148,8 +148,8 @@ void QgsMapToolCapture::canvasReleaseEvent(QMouseEvent * e)
|
|||||||
|
|
||||||
f->setGeometryAndOwnership(&wkb[0],size);
|
f->setGeometryAndOwnership(&wkb[0],size);
|
||||||
// add the fields to the QgsFeature
|
// add the fields to the QgsFeature
|
||||||
const QgsFieldMap& fields=provider->fields();
|
const QgsFieldMap fields=provider->fields();
|
||||||
for(QgsFieldMap::const_iterator it = fields.begin(); it != fields.end(); ++it)
|
for(QgsFieldMap::const_iterator it = fields.constBegin(); it != fields.constEnd(); ++it)
|
||||||
{
|
{
|
||||||
f->addAttribute(it.key(), provider->getDefaultValue(it.key()) );
|
f->addAttribute(it.key(), provider->getDefaultValue(it.key()) );
|
||||||
}
|
}
|
||||||
@ -371,7 +371,7 @@ void QgsMapToolCapture::canvasReleaseEvent(QMouseEvent * e)
|
|||||||
f->setGeometryAndOwnership(&wkb[0],size);
|
f->setGeometryAndOwnership(&wkb[0],size);
|
||||||
|
|
||||||
// add the fields to the QgsFeature
|
// add the fields to the QgsFeature
|
||||||
const QgsFieldMap& fields = provider->fields();
|
const QgsFieldMap fields = provider->fields();
|
||||||
for(QgsFieldMap::const_iterator it = fields.begin(); it != fields.end(); ++it)
|
for(QgsFieldMap::const_iterator it = fields.begin(); it != fields.end(); ++it)
|
||||||
{
|
{
|
||||||
f->addAttribute(it.key(), provider->getDefaultValue(it.key()));
|
f->addAttribute(it.key(), provider->getDefaultValue(it.key()));
|
||||||
|
@ -1549,7 +1549,6 @@ bool QgsPostgresProvider::addFeature(QgsFeature& f, int primaryKeyHighWater)
|
|||||||
)
|
)
|
||||||
{
|
{
|
||||||
charactertype=true;
|
charactertype=true;
|
||||||
break; // no need to continue with this loop
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -1557,18 +1556,28 @@ bool QgsPostgresProvider::addFeature(QgsFeature& f, int primaryKeyHighWater)
|
|||||||
// important: escape quotes in field value
|
// important: escape quotes in field value
|
||||||
fieldvalue.replace("'", "''");
|
fieldvalue.replace("'", "''");
|
||||||
|
|
||||||
|
//request default value explicitly if fieldvalue is an empty string
|
||||||
|
if(fieldvalue.isEmpty())
|
||||||
|
{
|
||||||
|
insert += "DEFAULT";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
// XXX isn't it better to always escape field value?
|
// XXX isn't it better to always escape field value?
|
||||||
if(charactertype)
|
if(charactertype)
|
||||||
{
|
{
|
||||||
insert+="'";
|
insert+="'";
|
||||||
}
|
}
|
||||||
|
|
||||||
insert+=fieldvalue;
|
insert+=fieldvalue;
|
||||||
|
|
||||||
if(charactertype)
|
if(charactertype)
|
||||||
{
|
{
|
||||||
insert+="'";
|
insert+="'";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
insert+=")";
|
insert+=")";
|
||||||
QgsDebugMsg("insert statement is: "+insert);
|
QgsDebugMsg("insert statement is: "+insert);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user