Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Index: ogr/ogrsf_frmts/pg/ogrpgdatasource.cpp
- ===================================================================
- --- ogr/ogrsf_frmts/pg/ogrpgdatasource.cpp (révision 22336)
- +++ ogr/ogrsf_frmts/pg/ogrpgdatasource.cpp (copie de travail)
- @@ -1189,6 +1189,8 @@
- if (pszLayerName == NULL)
- return NULL;
- + const char* pszFIDColumnName = CSLFetchNameValueDef(papszOptions, "FID", "OGC_FID");
- +
- if (strncmp(pszLayerName, "pg", 2) == 0)
- {
- CPLError(CE_Warning, CPLE_AppDefined,
- @@ -1379,10 +1381,13 @@
- {
- osCommand.Printf(
- "%s ( "
- - " OGC_FID SERIAL, "
- + " %s SERIAL, "
- " WKB_GEOMETRY %s, "
- - " CONSTRAINT \"%s_pk\" PRIMARY KEY (OGC_FID) )",
- - osCreateTable.c_str(), pszGeomType, pszTableName );
- + " CONSTRAINT \"%s_pk\" PRIMARY KEY (%s) )",
- + osCreateTable.c_str(),
- + pszFIDColumnName,
- + pszGeomType,
- + pszTableName, pszFIDColumnName);
- }
- else if ( eType != wkbNone && EQUAL(pszGeomType, "geography") )
- {
- @@ -1393,18 +1398,24 @@
- if (nSRSId)
- osCommand.Printf(
- - "%s ( OGC_FID SERIAL, \"%s\" geography(%s%s,%d), CONSTRAINT \"%s_pk\" PRIMARY KEY (OGC_FID) )",
- - osCreateTable.c_str(), pszGFldName, pszGeometryType, nDimension == 2 ? "" : "Z", nSRSId, pszTableName );
- + "%s ( %s SERIAL, \"%s\" geography(%s%s,%d), CONSTRAINT \"%s_pk\" PRIMARY KEY (%s) )",
- + osCreateTable.c_str(), pszFIDColumnName,
- + pszGFldName, pszGeometryType,
- + nDimension == 2 ? "" : "Z", nSRSId, pszTableName,
- + pszFIDColumnName);
- else
- osCommand.Printf(
- - "%s ( OGC_FID SERIAL, \"%s\" geography(%s%s), CONSTRAINT \"%s_pk\" PRIMARY KEY (OGC_FID) )",
- - osCreateTable.c_str(), pszGFldName, pszGeometryType, nDimension == 2 ? "" : "Z", pszTableName );
- + "%s ( %s SERIAL, \"%s\" geography(%s%s), CONSTRAINT \"%s_pk\" PRIMARY KEY (%s) )",
- + osCreateTable.c_str(), pszFIDColumnName,
- + pszGFldName, pszGeometryType,
- + nDimension == 2 ? "" : "Z", pszTableName,
- + pszFIDColumnName);
- }
- else
- {
- osCommand.Printf(
- - "%s ( OGC_FID SERIAL, CONSTRAINT \"%s_pk\" PRIMARY KEY (OGC_FID) )",
- - osCreateTable.c_str(), pszTableName );
- + "%s ( %s SERIAL, CONSTRAINT \"%s_pk\" PRIMARY KEY (%s) )",
- + osCreateTable.c_str(), pszFIDColumnName, pszTableName, pszFIDColumnName );
- }
- hResult = PQexec(hPGConn, osCommand.c_str());
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement