Ticket #2359 (new defect)

Opened 2 months ago

Last modified 2 months ago

OGR SDE from trunk won't build, misses OFTWideString definition

Reported by: dionw Assigned to: hobu
Priority: normal Milestone: 1.6.0
Component: OGR_SF Version: svn-trunk
Severity: normal Keywords: sde widestring
Cc: warmerdam

Description

Seems related to changeset:14369 in which this enumeration value was removed.

Building (RHEL3, SDE 9.2) gives:

ogrsdelayer.cpp: In member function `int OGRSDELayer::Initialize(const char*, const char*, const char*)':
ogrsdelayer.cpp:224: `OFTWideString' undeclared (first use this function)
ogrsdelayer.cpp:224: (Each undeclared identifier is reported only once for each function it appears in.)
ogrsdelayer.cpp: In member function `OGRGeometry* OGRSDELayer::TranslateSDEGeometry(_SE_ShapeRecord*)':
ogrsdelayer.cpp:1676: warning: int format, long int arg (arg 4)
ogrsdelayer.cpp: In member function `virtual OGRErr OGRSDELayer::DeleteFeature(long int)':
ogrsdelayer.cpp:2413: warning: too few arguments for format
make: *** [../o/ogrsdelayer.o] Error 1

Change History

05/09/08 06:05:46 changed by rouault

  • version changed from unspecified to svn-trunk.

This is also the case for fme and idb drivers.

$ grep -r OFTWideString ogr ogr/ogrsf_frmts/fme/.svn/text-base/ogrfmelayercached.cpp.svn-base: else if( poFieldDef->GetType?() == OFTWideString ) ogr/ogrsf_frmts/fme/.svn/text-base/ogrfmelayercached.cpp.svn-base: else if( poFieldDef->GetType?() == OFTWideStringList ) ogr/ogrsf_frmts/fme/.svn/text-base/ogrfmelayercached.cpp.svn-base: eType = OFTWideString; ogr/ogrsf_frmts/fme/.svn/text-base/ogrfmelayercached.cpp.svn-base: eType = OFTWideStringList; ogr/ogrsf_frmts/fme/ogrfmelayercached.cpp: else if( poFieldDef->GetType?() == OFTWideString ) ogr/ogrsf_frmts/fme/ogrfmelayercached.cpp: else if( poFieldDef->GetType?() == OFTWideStringList ) ogr/ogrsf_frmts/fme/ogrfmelayercached.cpp: eType = OFTWideString; ogr/ogrsf_frmts/fme/ogrfmelayercached.cpp: eType = OFTWideStringList; ogr/ogrsf_frmts/idb/.svn/text-base/ogridbtablelayer.cpp.svn-base: case OFTWideStringList: ogr/ogrsf_frmts/idb/.svn/text-base/ogridbtablelayer.cpp.svn-base: case OFTWideString: ogr/ogrsf_frmts/idb/.svn/text-base/ogridbtablelayer.cpp.svn-base: case OFTWideStringList: ogr/ogrsf_frmts/idb/.svn/text-base/ogridbtablelayer.cpp.svn-base: case OFTWideString: ogr/ogrsf_frmts/idb/.svn/text-base/ogridbtablelayer.cpp.svn-base: case OFTWideStringList: ogr/ogrsf_frmts/idb/.svn/text-base/ogridbtablelayer.cpp.svn-base: case OFTWideString: ogr/ogrsf_frmts/idb/ogridbtablelayer.cpp: case OFTWideStringList: ogr/ogrsf_frmts/idb/ogridbtablelayer.cpp: case OFTWideString: ogr/ogrsf_frmts/idb/ogridbtablelayer.cpp: case OFTWideStringList: ogr/ogrsf_frmts/idb/ogridbtablelayer.cpp: case OFTWideString: ogr/ogrsf_frmts/idb/ogridbtablelayer.cpp: case OFTWideStringList: ogr/ogrsf_frmts/idb/ogridbtablelayer.cpp: case OFTWideString: ogr/ogrsf_frmts/sde/.svn/text-base/ogrsdelayer.cpp.svn-base: eOGRType = OFTWideString; ogr/ogrsf_frmts/sde/ogrsdelayer.cpp: eOGRType = OFTWideString;

05/09/08 06:28:01 changed by rouault

As OFTWideString and OFTWideStringList have been removed from ogr_api.h, I think we'll have to explicitly mention it in GDAL 1.6.0 NEWS, so that people won't be surprised in case they recompile their own drivers.

05/09/08 10:43:08 changed by warmerdam

I have reintroduced the declaration for these symbols to reduce backward compatability hassles (r14410). If I'm going to bitch about other peoples backward compatability problems, I ought to take them seriously too!

05/09/08 11:02:41 changed by warmerdam

  • keywords set to sde widestring.
  • owner changed from warmerdam to hobu.
  • cc set to warmerdam.
  • milestone set to 1.6.0.

I have also removed references from the fme and idb drivers in trunk (r14412). I have not altered the SDE code which looks like it needs "real" support for translating wide string fields into UTF-8 per the RFC. Turning ticket over to Howard for this.

(PS the previous change was actually r14411)