Changeset 11870

Show
Ignore:
Timestamp:
08/10/07 00:09:57 (1 year ago)
Author:
hobu
Message:

support fetching of UUIDs for ArcSDE 9.2 (#1740)

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/gdal/ogr/ogrsf_frmts/sde/ogrsdelayer.cpp

    r11869 r11870  
    155155 
    156156          case SE_STRING_TYPE: 
     157#ifdef SE_UUID_TYPE 
     158          case SE_UUID_TYPE: 
     159#endif 
    157160            eOGRType = OFTString; 
    158161            nWidth = asColumnDefs[iCol].size; 
     
    161164#ifdef SE_NSTRING_TYPE 
    162165          case SE_NSTRING_TYPE: 
    163             eOGRType = OFTString; 
     166            eOGRType = OFTWideString; 
    164167            nWidth = asColumnDefs[iCol].size; 
    165168            break; 
     
    985988          break; 
    986989 
     990 
     991#ifdef SE_UUID_TYPE 
     992          case SE_UUID_TYPE: 
     993          { 
     994              char *pszTempString = (char *) 
     995                  CPLMalloc(poFieldDef->GetWidth()+1); 
     996 
     997              nSDEErr = SE_stream_get_uuid( hStream, anFieldMap[i]+1,  
     998                                              pszTempString ); 
     999              if( nSDEErr == SE_SUCCESS ) 
     1000                  poFeat->SetField( i, pszTempString ); 
     1001              else if( nSDEErr != SE_NULL_VALUE ) 
     1002              { 
     1003                  poDS->IssueSDEError( nSDEErr, "SE_stream_get_string" ); 
     1004                  return NULL; 
     1005              } 
     1006              CPLFree( pszTempString ); 
     1007          } 
     1008          break; 
     1009#endif 
    9871010          case SE_BLOB_TYPE: 
    9881011          {