Changeset 12031


Ignore:
Timestamp:
Aug 8, 2011, 11:04:04 PM (13 years ago)
Author:
sdlime
Message:

Tentative fix for SDE/query issues... (#3977)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/branch-6-0/mapserver/mapsde.c

    r11881 r12031  
    3636#include "mapthread.h"
    3737
    38 
    39 
    4038#ifdef USE_SDE
    4139#include <sdetype.h> /* ESRI SDE Client Includes */
     
    9795int msSDELayerIsOpen(layerObj *layer) {
    9896#ifdef USE_SDE
    99 
    100     if(layer->layerinfo)
    101         return(MS_TRUE);
    102    
    103     return MS_FALSE;
    104 
     97  if(layer->layerinfo)
     98    return(MS_TRUE);
     99  return MS_FALSE;
    105100#else
    106     msSetError(MS_MISCERR, "SDE support is not available.",
    107              "msSDELayerIsOpen()");
    108     return(MS_FALSE);
     101  msSetError(MS_MISCERR, "SDE support is not available.",  "msSDELayerIsOpen()");
     102  return(MS_FALSE);
    109103#endif
    110104}
     
    13961390int  msSDELayerClose(layerObj *layer) {
    13971391#ifdef USE_SDE
    1398 
    1399 
    14001392    msSDELayerInfo *sde=NULL;
    1401    
    14021393    sde = layer->layerinfo;
    14031394   
     
    14061397   
    14071398    if(layer->debug)
    1408         msDebug("msSDELayerClose(): Closing layer %s.\n", layer->name);
     1399       msDebug("msSDELayerClose(): Closing layer %s.\n", layer->name);
    14091400   
    14101401    if (sde->layerinfo) SE_layerinfo_free(sde->layerinfo);
     
    14241415 
    14251416#else
    1426     msSetError( MS_MISCERR,
    1427               "SDE support is not available.",
    1428               "msSDELayerClose()");
     1417    msSetError( MS_MISCERR, "SDE support is not available.", "msSDELayerClose()");
    14291418    return(MS_FALSE);
    14301419#endif
     
    20822071int msSDELayerGetItems(layerObj *layer) {
    20832072#ifdef USE_SDE
    2084     int status;
    2085     status = msSDELayerInitItemInfo(layer);
    2086 
    2087     if (status != MS_SUCCESS) {
    2088         msSetError( MS_MISCERR, 
    2089                     "Unable to create SDE column info",
    2090                     "msSDELayerGetItems()");
    2091         return(MS_FAILURE);     
    2092     }   
    2093     return (MS_SUCCESS);
    2094 
     2073  int status;
     2074  status = msSDELayerInitItemInfo(layer);
     2075  if (status != MS_SUCCESS) {
     2076    msSetError( MS_MISCERR, "Unable to create SDE column info", "msSDELayerGetItems()");
     2077    return(MS_FAILURE);     
     2078  }   
     2079  return (MS_SUCCESS);
    20952080#else
    2096     msSetError( MS_MISCERR,
    2097                 "SDE support is not available.",
    2098                 "msSDELayerGetItems()");
    2099     return(MS_FAILURE);
     2081  msSetError( MS_MISCERR, "SDE support is not available.", "msSDELayerGetItems()");
     2082  return(MS_FAILURE);
    21002083#endif
    21012084}
     
    21042087/* msSDELayerFreeItemInfo                                               */
    21052088/* -------------------------------------------------------------------- */
    2106 void msSDELayerFreeItemInfo(layerObj *layer)
    2107 {
     2089void msSDELayerFreeItemInfo(layerObj *layer) {
    21082090#ifdef USE_SDE
    2109     msSDELayerInfo *sde = NULL;
    2110     int i;
    2111     if (!msSDELayerIsOpen(layer)) {
    2112         msSetError( MS_SDEERR,
    2113                     "SDE layer has not been opened.",
    2114                     "msSDELayerFreeItemInfo()");
    2115     }
    2116     sde = layer->layerinfo;
     2091  msSDELayerInfo *sde = NULL;
     2092
     2093  sde = layer->layerinfo;
     2094  if(sde) {
    21172095    if (sde->basedefs) {
    2118         SE_table_free_descriptions(sde->basedefs); 
    2119         sde->basedefs = NULL;
     2096      SE_table_free_descriptions(sde->basedefs); 
     2097      sde->basedefs = NULL;
    21202098    }
    21212099    if (sde->joindefs) {
    2122         SE_table_free_descriptions(sde->joindefs);
    2123         sde->joindefs = NULL;
    2124     }
    2125     if (layer->iteminfo) {
    2126         msFree(layer->iteminfo);
    2127         layer->iteminfo = NULL;
    2128     }
    2129 
    2130      if (layer->items) {
    2131          for (i=0; i< layer->numitems; i++) {
    2132              msFree(layer->items[i]);
    2133          }
    2134          msFree(layer->items);
    2135          layer->items = NULL;
    2136          layer->numitems = 0;
    2137      }
    2138 
     2100      SE_table_free_descriptions(sde->joindefs);
     2101      sde->joindefs = NULL;
     2102    }
     2103  }
     2104
     2105  if (layer->iteminfo) {
     2106    msFree(layer->iteminfo);
     2107    layer->iteminfo = NULL;
     2108  }
    21392109#else
    2140     msSetError( MS_MISCERR,
    2141                 "SDE support is not available.",
    2142                 "msSDELayerFreeItemInfo()");
     2110  msSetError( MS_MISCERR, "SDE support is not available.", "msSDELayerFreeItemInfo()");
     2111  return;
    21432112#endif
    21442113}
Note: See TracChangeset for help on using the changeset viewer.