/* $Id: sdetype.h,v 1.306 2003/11/05 19:43:11 jose2260 Exp $ */
/***********************************************************************
*
*N {sdetype.h} -- Spatial Database Engine Datatypes/Defines Header File
*
*:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
*
*P Purpose:
*
* Spatial Database Engine Datatypes/Defines Header File
*
* COPYRIGHT 1992-2003 ESRI
*
* TRADE SECRETS: ESRI PROPRIETARY AND CONFIDENTIAL
* Unpublished material - all rights reserved under the
* Copyright Laws of the United States.
*
* For additional information, contact:
* Environmental Systems Research Institute, Inc.
* Attn: Contracts Dept
* 380 New York Street
* Redlands, California, USA 92373
*
* email: contracts@esri.com
*
*E
*:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
*
*H History:
*
*E
***********************************************************************/
#ifndef SDE_TYPES
#define SDE_TYPES
#ifdef __cplusplus
extern "C" {
#endif
#include
#include
#include
#include "sg.h"
#define SE_ALL 0
/************************************************************
*** Backwards compatibility macros for SDE 3.0 code -- use
*** SE_RELEASE and SE_connection_get_release() instead.
*** At some future point these will probably be removed.
************************************************************/
#ifndef SDE_COMMON
# define SE_VERSION SE_RELEASE
# define SE_connection_get_version SE_connection_get_release
#endif /* SDE_COMMON */
/************************************************************
*** ALLOWABLE SHAPE TYPE MASKS FOR LAYERS
************************************************************/
#define SE_NIL_TYPE_MASK (1L)
#define SE_POINT_TYPE_MASK (1L<<1) #define
SE_LINE_TYPE_MASK
(1L<<2)
SE_SIMPLE_LINE_TYPE_MASK
(1L<<3)
SE_AREA_TYPE_MASK
(1L<<4)
SE_MULTIPART_TYPE_MASK
(1L<<18)
/************************************************************
***
ALLOWABLE
STORAGE
TYPE
MASKS
FOR
LAYERS
************************************************************/
SE_STORAGE_NORMALIZED_TYPE
(1L<<23)
SE_STORAGE_SDEBINARY_TYPE
(1L<<24)
SE_STORAGE_WKB_TYPE
(1L<<25)
SE_STORAGE_SQL_TYPE
(1L<<26)
SE_STORAGE_SPATIAL_TYPE
(1L<<27)
SE_STORAGE_LOB_TYPE
(1L<<28)
LAYER
CHARATERISTICS
SE_LAYER_AUTO_REGISTER
(1L<<5)
SE_LAYER_HAS_USER_DEFINED_EXTENT
(1L<<6)
SE_LAYER_HAS_GEODETIC_EXTENT
(1L<<1)
PRECISION
SE_LAYER_PRECISION_DEFAULT
0
SE_LAYER_PRECISION_32_BIT
32
SE_LAYER_PRECISION_64_BIT
64
OGC
Declarations
SE_OGC_STORAGE_NORMALIZED
SE_OGC_STORAGE_WKB
1
SE_OGC_STORAGE_OTHER
2
Geometry
Values
typedef
enum
{
SE_OGC_GEOMETRY="0,"
SE_OGC_POINT="1,"
SE_OGC_CURVE="2,"
SE_OGC_LINESTRING="3,"
SE_OGC_SURFACE="4,"
SE_OGC_POLYGON="5,"
SE_OGC_COLLECTION="6,"
SE_OGC_MULTIPOINT="7,"
SE_OGC_MULTICURVE="8,"
SE_OGC_MULTILINESTRING="9,"
SE_OGC_MULTISURFACE="10,"
SE_OGC_MULTIPOLYGON=11
}
SE_OGC_GEOMETRY_TYPES;
/**************************************************************************
OBSOLETE
DEFINES
--
NOT
NEW
CODE
***************************************************************************/
SE_NORMALIZED_TYPE_MASK
SE_EXTERNAL_TYPE_MASK
SE_REGISTERED_TYPE_MASK
/***************************************/
/******
ACCESS
RIGHTS
CONSTANTS
********/
SE_SELECT_PRIVILEGE
(1<<1)
SE_UPDATE_PRIVILEGE
(1<<2)
SE_INSERT_PRIVILEGE
(1<<3)
SE_DELETE_PRIVILEGE
(1<<4)
/***************************************************/
TABLE
UPDATING
DBMS
STATS
SE_UPDATE_ADDS_TABLE_STATS
SE_UPDATE_DELETES_TABLE_STATS
SE_UPDATE_FEATURE_TABLE_STATS
SE_UPDATE_BUSINESS_TABLE_STATS
SE_UPDATE_RASTER_TABLE_STATS
SE_UPDATE_XML_TABLE_STATS
(1L<<7)
SE_UPDATE_ALL_TABLE_STATS
(SE_UPDATE_ADDS_TABLE_STATS
|
\
SE_UPDATE_BUSINESS_TABLE_STATS)
LOCKING
MODES
SE_WRITE_LOCK
SE_READ_LOCK
ATTRIBUTE
DATA
TYPES
SE_INT16_TYPE
/*
2-byte
Integer
*/
SE_INT32_TYPE
4-byte
SE_FLOAT32_TYPE
3
Float
SE_FLOAT64_TYPE
4
8-byte
SE_STRING_TYPE
5
Null
Term.
Character
Array
SE_BLOB_TYPE
6
Variable
Length
SE_DATE_TYPE
7
Struct
tm
Date
SE_SHAPE_TYPE
8
Shape
(SE_SHAPE)
SE_RASTER_TYPE
9
Raster
SE_XML_TYPE
10
XML
Document
SE_INT64_TYPE
11
SE_UUID_TYPE
12
A
Universal
Unique
ID
SE_CLOB_TYPE
13
SE_NSTRING_TYPE
14
UNICODE
SE_NCLOB_TYPE
15
Large
Object
SE_POINT_TYPE
20
Point
ADT
SE_CURVE_TYPE
21
LineString
SE_LINESTRING_TYPE
22
SE_SURFACE_TYPE
23
Polygon
SE_POLYGON_TYPE
24
SE_GEOMETRYCOLLECTION_TYPE
25
MultiPoint
SE_MULTISURFACE_TYPE
26
SE_MULTICURVE_TYPE
27
SE_MULTIPOINT_TYPE
28
SE_MULTILINESTRING_TYPE
29
MultiLineString
SE_MULTIPOLYGON_TYPE
30
MultiPolygon
SE_GEOMETRY_TYPE
31
OLD
(Depreciated)
SE_SMALLINT_TYPE
SE_INTEGER_TYPE
SE_FLOAT_TYPE
SE_DOUBLE_TYPE
DEFINING
LIMITS
<a
name=SE_MAX_MESSAGE_LENGTH>#define SE_MAX_MESSAGE_LENGTH 512 /* MAXIMUM ERROR MESSAGE LENGTH */
#define SE_MAX_SQL_MESSAGE_LENGTH 4096 /* MAXIMUM SQL ERROR MESSAGE LENGTH */
#define SE_MAX_PATH_LEN 512 /* MAXIMUM FILE PATH NAME LENGTH */
#define SE_MAX_CONFIG_KEYWORD_LEN 32 /* MAXIMUM CONFIGURATION KEYWORD
LENGTH */
#define SE_MAX_CONFIG_STR_LEN 2048 /* MAXIMUM CONFIGURATION STRING LENGTH */
#define SE_MAX_PROP_NAME_LEN 32 /* MAXIMUM PROPERTY NAME LENGTH */
#define SE_MAX_PROP_VAL_LEN 512 /* MAXIMUM PROPERTY VALUE LENGTH */
#define SE_MAX_DESCRIPTION_LEN 64 /* MAXIMUM LAYER DESCRIPTION LENGTH */
#define SE_MAX_FEAT_CLASS_LEN 128 /* MAXIMUM FILEINFO FEATUE CLASS
DESCRIPTION LENGTH */
#define SE_MAX_COLUMN_LEN 32 /* MAXIMUM COLUMN NAME LENGTH */
#define SE_MAX_TABLE_LEN 160 /* MAXIMUM TABLE NAME LENGTH */
#define SE_MAX_SCHEMA_TABLE_LEN 30 /* MAXIMUN TABLE 'ONLY' NAME LENGTH */
#define SE_MAX_ALIAS_LEN 32 /* MAXIMUM TABLE ALIAS LENGTH */
#define SE_MAX_ENTITY_LEN 256 /* MAXIMUM ENTITY TYPE LENGTH */
#define SE_MAX_HINT_LEN 1024/* MAXIMUM DBMS HINT LENGTH */
#define SE_MAX_OWNER_LEN 32 /* MAXIMUM TABLE OWNER NAME LENGTH */
#define SE_MAX_INDEX_LEN 160 /* MAXIMUM INDEX NAME LENGTH */
#define SE_MAX_GROUP_LEN 26 /* MAXIMUM GROUP NAME LENGTH */
#define SE_MAX_COLUMNS 256 /* MAXIMUM NUMBER OF COLUMNS */
#define SE_MAX_ANNO_TEXT_LEN 255 /* MAXIMUM ANNOTATION TEXT LENGTH */
#define SE_MAX_VERSION_LEN 64 /* MAXIMUM VERSION NAME LENGTH */
#define SE_MAX_OSNAME_LEN 64 /* MAXIMUM OPERATING SYSTEM NAME LENGTH */
#define SE_MAX_OSVERSION_LEN 128 /* MAXIMUM OPERATING SYSTEM VERSION LENGTH */
#define SE_MAX_DBMSVERSION_LEN 128 /* MAXIMUM DATABASE VERSION LENGTH */
#define SE_MAX_VERSION_INPUT_LEN 62 /* MAXIMUM USER-SUPPLIED VERSION NAME
LENGTH */
#define SE_MAX_OBJECT_NAME_LEN 160 /* MAXIMUM OBJECT NAME LENGTH */
#define SE_MAX_METADATA_CLASS_LEN 32 /* MAXIMUM CLASS NAME LENGTH */
#define SE_MAX_METADATA_PROPERTY_LEN 32/* MAXIMUM PROPERTY NAME LENGTH */
#define SE_MAX_METADATA_VALUE_LEN 255 /* MAXIMUM VALUE LENGTH */
#define SE_MAX_LOCATOR_PROPERTY_LEN 32 /* MAXIMUM PROPERTY NAME LENGTH */
#define SE_MAX_LOCATOR_VALUE_LEN 255 /* MAXIMUM VALUE LENGTH */
#define SE_MAX_SERVER_LEN 32 /* MAXIMUM SERVER NAME LENGTH */
#define SE_MAX_INSTANCE_LEN 32 /* MAXIMUM INSTANCE NAME LENGTH */
#define SE_MAX_PASSWORD_LEN 32 /* MAXIMUM PASSWORD NAME LENGTH */
#define SE_MAX_DATABASE_LEN 32 /* MAXIMUM DATABASE NAME LENGTH */
#define SE_MAX_SCL_CODESIZE 256 /* MAXIMUM SCL OBJECT CODE LENGTH */
#define SE_MAX_FUNCTION_LEN 32 /* MAXIMUM FUNCTION NAME LENGTH */
#define SE_MAX_KEYWORD_LEN 32 /* MAXIMUM DBMS RESERVED KEYWORD LENGTH */
#define SE_MAX_LOGFILE_NAME_LEN 64 /* MAXIMUM BASE LOGFILE NAME LENGTH */
#define SE_UUID_STRING_LEN 40 /* UUID STRING LENGTH + 1 Nil byte +
3 bytes for alignment. */
#define SE_MAX_XML_INDEX_NAME_LEN 32 /* MAXIMUM XML INDEX NAME LENGTH */
#define SE_MAX_XML_TAG_NAME_LEN 256 /* MAXIMUM XML TAG NAME STRING LENGTH */
#define SE_MAX_SID_COLUMN_LEN 38 /* MAXIMUM LENGTH OF STATE_ID COLUMN */
#define SE_MAX_LIN_COLUMN_LEN 38 /* MAXIMUM LENGTH OF LINEAGE_NAME COLUMN */
#define SE_MAX_TRANSFORM_NAME_LEN 256 /* MAXIMUM LENGTH OF A TRANSFORM NAME */
/* CONSTANTS ALLOWING FOR FULLY QUALIFIED TABLE AND COLUMN NAMES */
#define SE_QUALIFIED_TABLE_NAME (SE_MAX_DATABASE_LEN + SE_MAX_OWNER_LEN +\
SE_MAX_TABLE_LEN + 2)
#define SE_QUALIFIED_COLUMN_LEN (SE_QUALIFIED_TABLE_NAME + \
SE_MAX_COLUMN_LEN + 1)
#define SE_QUALIFIED_VERSION_LEN (SE_MAX_OWNER_LEN + SE_MAX_VERSION_LEN + 1)
#define SE_QUALIFIED_LOGFILE_NAME (SE_MAX_DATABASE_LEN + SE_MAX_OWNER_LEN +\
SE_MAX_LOGFILE_NAME_LEN + 2)
#define SE_QUALIFIED_OBJECT_NAME (SE_MAX_DATABASE_LEN + SE_MAX_OWNER_LEN +\
SE_MAX_OBJECT_NAME_LEN + 2)
#define SE_QUALIFIED_XML_INDEX_LEN (SE_MAX_XML_INDEX_NAME_LEN + \
SE_MAX_OWNER_LEN + 1)
/************************************************************
*** Minimum gridsize for Layer
************************************************************/
#define SE_MIN_GRIDSIZE 256 /* MINIMUM LAYER GRIDSIZE (system units) */
/************************************************************
*** ATTRIBUTE INDICATOR VALUES
************************************************************/
#define SE_IS_NULL_VALUE 1
#define SE_IS_NOT_NULL_VALUE 2
/************************************************************
*** LOG FILE DEFINES
************************************************************/
#define SE_INPUT_MODE 0
#define SE_OUTPUT_MODE 1
#define SE_EXTEND_MODE 2
#define SE_OUTPUT_NO_DELETE_MODE 3
#define SE_LOG_PERSISTENT 1
#define SE_LOG_TEMPORARY 2
#define SE_LOG_FOR_TABLE 1
#define SE_LOG_FOR_LAYER 2
#define SE_LOG_INTERSECT 1
#define SE_LOG_UNION 2
#define SE_LOG_DIFFERENCE 3
#define SE_LOG_SYMDIFF 4
typedef enum {
SE_LOGFILE_DELETE_MODE_DEFER = 0,
SE_LOGFILE_DELETE_MODE_IMMEDIATE
} SE_LOGFILE_DELETE_MODE;
/************************************************************
*** SPATIAL REFERENCE DEFINES
************************************************************/
#define SE_MAX_SPATIALREF_AUTHNAME_LEN 256
#define SE_MAX_SPATIALREF_SRTEXT_LEN 2048
typedef struct _SE_SpatialRef *SE_SPATIALREFINFO;
/************************************************************
*** ALLOWABLE SPATIAL INDEX TYPE DEFINES FOR LAYERS
*** NOTE: THEIR AVAILABILITY IS DBMS DEPENDENT.
************************************************************/
#define SE_SPATIALINDEX_MULTI_GRID 1
#define SE_SPATIALINDEX_DBTUNE 0
#define SE_SPATIALINDEX_NONE -1
#define SE_SPATIALINDEX_RTREE -2
#define SE_SPATIALINDEX_FIXED_QUADTREE -3
#define SE_SPATIALINDEX_HYBRID_QUADTREE -4
#define SE_SPATIALINDEX_UNKNOWN -5
/************************************************************
*** SEARCH ORDERS
************************************************************/
#define SE_ATTRIBUTE_FIRST 1 /* DO NOT USE SPATIAL INDEX */
#define SE_SPATIAL_FIRST 2 /* USE SPATIAL INDEX */
#define SE_OPTIMIZE 3 /* LET SDE DECIDE */
/************************************************************
*** QUERY TYPES
************************************************************/
#define SE_QUERYTYPE_ATTRIBUTE_FIRST 1
#define SE_QUERYTYPE_JFA 2
#define SE_QUERYTYPE_JSF 3
#define SE_QUERYTYPE_JSFA 4
#define SE_QUERYTYPE_V3 5
#define SE_MAX_QUERYTYPE 5
/************************************************************
*** CONSTANTS FOR SE_PTABLE_SNAP routine
************************************************************/
#define SE_SNAP2D 0
#define SE_SNAP3D 1
/************************************************************
*** INDIVIDUAL BIT-MASKS FOR STATISTICS OPERATIONS
************************************************************/
#define SE_MIN_STATS 0x0001
#define SE_AVERAGE_STATS 0x0002
#define SE_MAX_STATS 0x0004
#define SE_STD_DEV_STATS 0x0008
#define SE_COUNT_STATS 0x0010
#define SE_DISTINCT_STATS 0x0020
#define SE_BASIC_STATS SE_MIN_STATS | SE_AVERAGE_STATS | SE_MAX_STATS | \
SE_STD_DEV_STATS | SE_COUNT_STATS
#define SE_ALL_STATS SE_BASIC_STATS | SE_DISTINCT_STATS
/************************************************************
*** CONCURRENCY POLICIES
************************************************************/
#define SE_UNPROTECTED_POLICY 0
#define SE_ONE_THREAD_POLICY 1
#define SE_TRYLOCK_POLICY 2
#define SE_LOCK_POLICY 3
/********************************************************************
*** SPATIAL FILTER TYPES FOR SPATIAL CONSTRAINTS AND STABLE SEARCHES
*********************************************************************/
#define SE_SHAPE_FILTER 1
#define SE_ID_FILTER 2
/************************************************************
*** STABLE OPTIONS
************************************************************/
#define SE_DELETE_CURRENT (LONG)0
/************************************************/
/*** SDE ROWID pseudo-column -- Obsolete!!!! ***/
/*** Only present for backwards compatibity: ***/
/*** Use registered tables row ID's instead. ***/
/************************************************/
#define SE_ROW_ID "SE_ROW_ID"
/**************************
* Binary Conversion Enum *
**************************/
typedef enum
{
SE_BINARY_CONVERSION_TO_LOB = 1,
SE_BINARY_CONVERSION_TO_LONGRAW = 2
} SE_BINARY_CONVERSION;
/*******************************/
/*** Shape attribute names ***/
/*******************************/
#define SE_SHAPE_ATTRIBUTE_NUMOFPTS 0
#define SE_SHAPE_ATTRIBUTE_ENTITY 1
#define SE_SHAPE_ATTRIBUTE_XMIN 2
#define SE_SHAPE_ATTRIBUTE_XMAX 3
#define SE_SHAPE_ATTRIBUTE_YMIN 4
#define SE_SHAPE_ATTRIBUTE_YMAX 5
#define SE_SHAPE_ATTRIBUTE_ZMIN 6
#define SE_SHAPE_ATTRIBUTE_ZMAX 7
#define SE_SHAPE_ATTRIBUTE_MMIN 8
#define SE_SHAPE_ATTRIBUTE_MMAX 9
#define SE_SHAPE_ATTRIBUTE_AREA 10
#define SE_SHAPE_ATTRIBUTE_LENGTH 11
#define SE_SHAPE_ATTRIBUTE_TEXT 12
#define SE_SHAPE_ATTRIBUTE_FID 13
/**********************************/
/***** DBMS IDENTIFIERS *********/
/**********************************/
#define SE_DBMS_IS_UNKNOWN -1
#define SE_DBMS_IS_OTHER 0
#define SE_DBMS_IS_ORACLE 1
#define SE_DBMS_IS_INFORMIX 2
#define SE_DBMS_IS_SYBASE 3
#define SE_DBMS_IS_DB2 4
#define SE_DBMS_IS_SQLSERVER 5
#define SE_DBMS_IS_ARCINFO 6
#define SE_DBMS_IS_IUS 7
#define SE_DBMS_IS_DB2_EXT 8
#define SE_DBMS_IS_ARCSERVER 9
#define SE_DBMS_IS_JET 10
/******************************/
/*** DBMS Properties ***/
/******************************/
#define SE_DBMS_CAN_RENAME (1<<0) #define
SE_DBMS_CAN_ADD_COL
(1<<1)
SE_DBMS_CAN_DROP_COL
(1<<2)
SE_DBMS_OWNER_PREFIXES_TABLE
(1<<3)
SE_DBMS_IS_CASE_SENSITIVE
(1<<4)
SE_DBMS_SUPPORT_DELIMITED_IDENTIFIER
(1<<5)
SE_DBMS_IS_CASE_SENSITIVE_IN_COMPARISON
(1<<6)
SE_DBMS_IS_USER_CASE_SENSITIVE
(1<<7)
SE_DBMS_IS_PASSWORD_CASE_SENSITIVE
(1<<8)
SE_DBMS_UNICODE_IN_ALL_CHAR
(1<<9)
SE_DBMS_UNICODE_IN_STRING_TYPE
(1<<10)
SE_DBMS_UNICODE_IN_CLOB_TYPE
(1<<11)
SE_DBMS_UNICODE_IN_OBJECT_NAMES
(1<<12)
SE_DBMS_CODEPAGE_IS_UTF8
(1<<13)
SE_DBMS_CODEPAGE_IS_UTF16
(1<<14)
SE_DBMS_CODEPAGE_IS_UCS2
(1<<15)
SE_DBMS_CHAR_TYPES_STORE_UTF8
(1<<16)
SE_DBMS_CHAR_TYPES_STORE_UTF16
(1<<17)
SE_DBMS_CHAR_TYPES_STORE_UCS2
(1<<18)
SE_DBMS_NCHAR_TYPES_STORE_UTF8
(1<<19)
SE_DBMS_NCHAR_TYPES_STORE_UTF16
(1<<20)
SE_DBMS_NCHAR_TYPES_STORE_UCS2
(1<<21)
SE_DBMS_CODEPAGE_IS_UNICODE
\
(SE_DBMS_CODEPAGE_IS_UTF8
|\
SE_DBMS_CODEPAGE_IS_UCS2)
/*******
Lock
type
values
for
SE_TABLE_LOCK
*******/
/*****************************************************/
SE_TABLE_SHARED_SCHEMA_LOCK
1
SE_TABLE_EXCLUSIVE_SCHEMA_LOCK
2
/****************************************************************************/
/***
INSTANCE
MODES
--
Returned
in
system_mode
field
of
SE_INSTANCE_STATUS
*/
SE_INSTANCE_ACCEPTING
SE_INSTANCE_BLOCKING
SE_INSTANCE_LOCK
SE_INSTANCE_LAYER_READ_LOCK
0
SE_INSTANCE_LAYER_WRITE_LOCK
SE_INSTANCE_AREA_READ_LOCK
SE_INSTANCE_AREA_WRITE_LOCK
3
SE_INSTANCE_AUTO_LOCK
4
/************************************/
SE_instance_control()
options
SE_CONTROL_INSTANCE_SHUTDOWN
SE_CONTROL_INSTANCE_PAUSE
SE_CONTROL_INSTANCE_RESUME
SE_CONTROL_INSTANCE_KILL
SE_CONTROL_INSTANCE_KILL_ALL
5
SE_CONTROL_INSTANCE_START
6
/****************************************/
SE_ANNO
text
justification
SE_ANNO_UPPER_LEFT
SE_ANNO_UPPER_CENTER
SE_ANNO_UPPER_RIGHT
SE_ANNO_CENTER_LEFT
SE_ANNO_CENTER_CENTER
SE_ANNO_CENTER_RIGHT
SE_ANNO_LOWER_LEFT
7
SE_ANNO_LOWER_CENTER
8
SE_ANNO_LOWER_RIGHT
9
Registered
Table
Row
ID
Types
SE_REGISTRATION_ROW_ID_COLUMN_TYPE_SDE
SE_REGISTRATION_ROW_ID_COLUMN_TYPE_USER
SE_REGISTRATION_ROW_ID_COLUMN_TYPE_NONE
/*********************************************************/
SDE-maintained
rowid
columns
allocation
methods
***/
SE_REGISTRATION_ROW_ID_ALLOCATION_SINGLE
SE_REGISTRATION_ROW_ID_ALLOCATION_MANY
Metadata
Object
SE_METADATA_OBJECT_TYPE_TABLE
SE_METADATA_OBJECT_TYPE_LOCATOR
SE_METADATA_OBJECT_TYPE_XML_COLUMN
Locator
Status
SE_LOCATOR_TEMPLATE
SE_LOCATOR_VALIDATED
SE_LOCATOR_DEFINED
/*********************************************/
External
FileInfo
SE_FILEINFO_OBJECT_TYPE_EXPORT_FMT
SE_FILEINFO_OBJECT_TYPE_SHAPEFILE
SE_FILEINFO_OBJECT_TYPE_COVERAGE
/********************************/
Version
Reserved
Names
SE_DEFAULT_VERSION_NAME
"DEFAULT"
SE_QUALIFIED_DEFAULT_VERSION_NAME
"sde"
"."
/******************************/
Access
SE_VERSION_ACCESS_PUBLIC
SE_VERSION_ACCESS_PROTECTED
SE_VERSION_ACCESS_PRIVATE
/****************************/
State
Ids
SE_BASE_STATE_ID
(0)
SE_NULL_STATE_ID
(-1)
SE_DEFAULT_STATE_ID
(-2)
/*************************************/
Conflict
Filter
SE_STATE_DIFF_NOCHECK
SE_STATE_DIFF_NOCHANGE_UPDATE
SE_STATE_DIFF_NOCHANGE_DELETE
SE_STATE_DIFF_UPDATE_NOCHANGE
SE_STATE_DIFF_UPDATE_UPDATE
SE_STATE_DIFF_UPDATE_DELETE
SE_STATE_DIFF_INSERT
SE_STATE_DIFF_RESTORE
/*******************************************************/
(for
SE_INSTANCE_STATE_LOCK)
SE_STATE_TREE_SHARED_LOCK
SE_STATE_TREE_EXCLUSIVE_LOCK
SE_STATE_SHARED_LOCK
SE_STATE_EXCLUSIVE_LOCK
SE_STATE_SHARED_AUTOLOCK
SE_STATE_EXCLUSIVE_AUTOLOCK
Rowlocking
SE_ROWLOCKING_LOCK_ON_QUERY
(1)
SE_ROWLOCKING_LOCK_ON_INSERT
SE_ROWLOCKING_LOCK_ON_UPDATE
SE_ROWLOCKING_UNLOCK_ON_QUERY
SE_ROWLOCKING_UNLOCK_ON_UPDATE
SE_ROWLOCKING_FILTER_MY_LOCKS
SE_ROWLOCKING_FILTER_OTHER_LOCKS
SE_ROWLOCKING_FILTER_UNLOCKED
SE_ROWLOCKING_LOCK_ONLY
SE_OBJECTLOCK_NO_LOCK_SET
(99)
SE_OBJECTLOCK_SHARED_LOCK
SE_OBJECTLOCK_EXCLUSIVE_LOCK
SE_OBJECTLOCK_EXCLUSIVE_AUTOLOCK
(2)
/*****************************/
SE_VERSION_SHARED_LOCK
SE_VERSION_EXCLUSIVE_LOCK
SE_VERSION_EXCLUSIVE_AUTOLOCK
Trace
Mode
SE_TRACE_API_BRIEF
(1<<0)
SE_TRACE_API_VERBOSE
SE_TRACE_TIME_MINSEC
SE_TRACE_TIME_HRMINSEC
SE_TRACE_FLUSH
SE_TRACE_CLIENT_SIDE
SE_TRACE_SRVR_SIDE
XML
TAG
DATA
SE_XML_INDEX_STRING_TYPE
/*
index
type.
SE_XML_INDEX_DOUBLE_TYPE
numeric
SE_XML_INDEX_TEMPLATE
SE_XML_INDEX_DEFINITION
SE_XML_INDEX_AUTO
/*********************************/
Raster
Interleave
<a
name=SE_RASTER_INTERLEAVE_TYPE>typedef enum {
SE_RASTER_INTERLEAVE_BIP, /* interleave by pixel */
SE_RASTER_INTERLEAVE_BIL, /* interleave by line */
SE_RASTER_INTERLEAVE_BSQ /* band sequential */
} SE_RASTER_INTERLEAVE_TYPE;
/*********************************/
/*** Interpolation Methods ***/
/*********************************/
typedef enum {
SE_INTERPOLATION_NONE, /* no interpolation */
SE_INTERPOLATION_NEAREST, /* nearest-neighbor interpolation */
SE_INTERPOLATION_BILINEAR, /* bilinear interpolation */
SE_INTERPOLATION_BICUBIC /* bicubic interpolation */
} SE_INTERPOLATION_TYPE;
/********************************/
/*** Raster Callback Function ***/
/********************************/
typedef LONG (* SE_RASTER_PROC) (
void *user_data,
void **pixels,
LONG *pixels_length,
void **bitmask,
LONG *bitmask_length
);
/********************************/
/*** Bin Function Types ***/
/********************************/
typedef enum {
SE_BIN_FUNCTION_NONE = 0,
SE_BIN_FUNCTION_AUTO,
SE_BIN_FUNCTION_DIRECT,
SE_BIN_FUNCTION_LINEAR,
SE_BIN_FUNCTION_LOGARITHM,
SE_BIN_FUNCTION_EXPLICIT
} SE_BIN_FUNCTION_TYPE;
/********************************/
/*** Raster Colormap Types ***/
/********************************/
typedef enum {
SE_COLORMAP_NONE = 0,
SE_COLORMAP_RGB,
SE_COLORMAP_RGBA
} SE_COLORMAP_TYPE;
/********************************/
/*** Colormap's Data Types ***/
/********************************/
typedef enum {
SE_COLORMAP_DATA_BYTE,
SE_COLORMAP_DATA_SHORT
} SE_COLORMAP_DATA_TYPE;
/********************************/
/*** Raster Mosaic Mode ***/
/********************************/
#define SE_MOSAIC_MODE_NONE 0
#define SE_MOSAIC_MODE_MERGE 1
#define SE_MOSAIC_MODE_DELETE 2
/***************************************************************************/
/*** function_id Constants(total 50 function constants). ***/
/***************************************************************************/
/* The string functions */
typedef enum {
SE_DBMS_FUNCTION_UPPERCASE, /* 0:Returns char in upper case */
SE_DBMS_FUNCTION_LOWERCASE, /* 1:Returns char in lower case */
SE_DBMS_FUNCTION_CONCAT, /* 2:Returns char1 concatenated with char2 */
SE_DBMS_FUNCTION_ASCII, /* 3:Returns decimal representation of char c */
SE_DBMS_FUNCTION_LENGTH, /* 4:Return length in CHAR */
SE_DBMS_FUNCTION_LENGTHB, /* 5:Returns length in bytes */
SE_DBMS_FUNCTION_CHR, /* 6:Returns the character of the binary equivalent */
SE_DBMS_FUNCTION_LTRIM, /* 7:remove spaces from the left */
SE_DBMS_FUNCTION_RTRIM, /* 8:remove trailing from the right */
SE_DBMS_FUNCTION_SUBSTR, /* 9:Returns a portion of char at M and N c long */
SE_DBMS_FUNCTION_SUBSTRB, /* 10:Returns a portion of byes at m and n bytes long */
SE_DBMS_FUNCTION_SOUNDEX, /* 11:Returns a char containing the phonetic representation of char2 */
SE_DBMS_FUNCTION_TRANSLATE, /* 12:Returns char with each char in from replaced by its corresponding char in to */
SE_DBMS_FUNCTION_TRIM, /* 13:strip the leading, trailing, * or both from the string */
SE_DBMS_FUNCTION_CEIL, /* 14:Returns smallest integer >= n */
SE_DBMS_FUNCTION_FLOOR, /* 15:Returns largest integer <= n
*/
SE_DBMS_FUNCTION_ROUND,
/*
16:Returns
rounded
to
m
place
of
SE_DBMS_FUNCTION_LN,
17:Returns
natural
logarithm
SE_DBMS_FUNCTION_LOG10,
18:Returns
base
10
SE_DBMS_FUNCTION_LOG,
19:Returns
SE_DBMS_FUNCTION_MOD,
20:Returns
the
reminder
divided
by
SE_DBMS_FUNCTION_POWER,
21:Returns
power
SE_DBMS_FUNCTION_SIGN,
22:Returns
-1
for
negative
and
0
zero
1
positive
SE_DBMS_FUNCTION_TRUNC,
23:Returns
truncted
decimal
SE_DBMS_FUNCTION_SINH,
24:Returns
hyperbolic
sine
x
SE_DBMS_FUNCTION_COSH,
25:Returns
cosine
SE_DBMS_FUNCTION_TANH,
26:Returns
tangent
SE_DBMS_FUNCTION_ASIN,
27:Returns
arcsine
SE_DBMS_FUNCTION_ACOS,
28:Returns
arccosine
SE_DBMS_FUNCTION_ATAN,
29:Returns
arctangent
SE_DBMS_FUNCTION_HEX,
30:Returns
hexadecimal
representation
a
SE_DBMS_FUNCTION_SIN,
31:Returns
SE_DBMS_FUNCTION_COS,
32:Returns
SE_DBMS_FUNCTION_TAN,
33:Returns
SE_DBMS_FUNCTION_EXTRACT,
34:Returns
numeric
value
date
SE_DBMS_FUNCTION_BITLEN,
35:Returns
string
length
in
bits
SE_DBMS_FUNCTION_POSITION,
36:Returns
indicates
starting
position
search
source
SE_DBMS_FUNCTION_ABS,
37:Returns
absolute
SE_DBMS_FUNCTION_VARIANCE,
38:Returns
variance
SE_DBMS_FUNCTION_STDDEV,
39:Returns
standard
deviation
SE_DBMS_FUNCTION_AVG,
40:Returns
average
SE_DBMS_FUNCTION_COUNT,
41:Returns
number
rows
query
SE_DBMS_FUNCTION_MAX,
42:Returns
maximum
expression
SE_DBMS_FUNCTION_MIN,
43:Returns
minimum
SE_DBMS_FUNCTION_SUM,
44:Returns
sum
values
SE_DBMS_FUNCTION_COALSCE,
45:Returns
first
NOT_NULL
SE_DBMS_FUNCTION_CONVERT,
46:The
convert
function
SE_DBMS_FUNCTION_CAST,
47:Converts
one
data
type
another
SE_DBMS_FUNCTION_USER
48:Returns
current
user
name=SE_BUILD_MODE
}
SE_SQL_FUNCTION;
SQL
special
characters
DBMSs
typedef
enum
{
SE_SQL_WILDCARD_MANYMATCH_CHAR="49,"
always
start
from
total
constants
SE_SQL_WILDCARD_SINGLEMATCH_CHAR,
SE_SQL_DELIMITED_CHAR_PREFIX,
SE_SQL_DELIMITED_CHAR_SUFFIX,
SE_SQL_DEFAULT_ESCAPE_CHAR_PREFIX,
SE_SQL_DEFAULT_ESCAPE_CHAR_SUFFIX,
SE_SQL_ESCAPE_CLAUSE_PREFIX,
SE_SQL_ESCAPE_CLAUSE_SUFFIX
SE_SQL_SPECIAL_CHARACTER;
Sublineage
SE_SUBLINEAGE_SOURCE,
SE_SUBLINEAGE_DIFF,
SE_SUBLINEAGE_PAST,
SE_LINEAGE_SOURCE,
SE_LINEAGE_DIFF,
SE_LINEAGE_NONE
SE_LINEAGE_TYPES;
/***************************************************************************/
/***
annotation
alignment
***/
#define
SE_ANNO_ALIGN_DEFAULT
SE_ANNO_ALIGN_LEFT
SE_ANNO_ALIGN_RIGHT
2
SE_ANNO_ALIGN_CENTER
3
SE_ANNO_ALIGN_AUTOMATIC
4
Shape
Types
(Re)Definitions
(see
sg.h
full
definition)
SgSimpleShapePoint
SE_POINT;
SgShapePoint
SE_SDEPOINT;
SgShapeEnvelope
SE_ENVELOPE;
SgCoordRef
SE_COORDREF;
struct
LFLOAT
minz;
minm;
maxz;
maxm;
SE_ZMEXTENT;
/**************************/
Build
Modes
<a>typedef enum {
SE_Build_Polygons_From_All_Rings = 0,
SE_Build_Polygons_From_Clockwise_Rings = 3,
SE_Build_Polygons_From_CounterClockwise_Rings = 2,
SE_Build_SimpleLines = 4,
/* The following codes are obsolete, and are only included for backwards
compatibility. */
SE_Build_Clockwise_Polygons = 0,
SE_Build_CounterClockwise_Polygons = 1,
SE_Build_Forward_Polygons = 2,
SE_Build_Backward_Polygons = 3
} SE_BUILD_MODE;
/****************************/
/*** Shape Rotation Modes ***/
/****************************/
typedef enum {
SE_DEFAULT_ROTATION,
SE_LEFT_HAND_ROTATION,
SE_RIGHT_HAND_ROTATION
} SE_ROTATION_TYPE;
/*******************************/
/*** Transformation Types ***/
/*******************************/
typedef enum {
SE_TRANSFORM_UNKNOWN = 0,
SE_TRANSFORM_PLANER,
SE_TRANSFORM_PROJECTIVE,
SE_TRANSFORM_POLYNOMIAL,
SE_TRANSFORM_CUSTOM
} SE_TRANSFORM_TYPE;
typedef enum {
SE_POLYNOMIAL_1ST_ORDER = 0,
SE_POLYNOMIAL_2ND_ORDER,
SE_POLYNOMIAL_3RD_ORDER
} SE_POLYNOMIAL_TYPE;
/************************************************************
*** LOG FILE TYPES
************************************************************/
typedef int SE_LOG;
typedef struct _SE_LogFile *SE_LOGINFO;
/************************************************************
*** SDE BLOB ATTRIBUTE STRUCTURE "SE_BLOB_INFO"
************************************************************/
typedef struct {
LONG blob_length; /* LENGTH IN BYTES OF BLOB */
CHAR *blob_buffer; /* LINEAR BUFFER OF BLOB DATA */
} SE_BLOB_INFO;
typedef struct {
LONG clob_length; /* LENGTH IN BYTES OF CLOB */
CHAR *clob_buffer; /* LINEAR BUFFER OF CLOB DATA */
} SE_CLOB_INFO;
typedef struct {
LONG nclob_length; /* LENGTH IN BYTES OF NCLOB */
SE_WCHAR *nclob_buffer; /* LINEAR BUFFER OF NCLOB DATA */
} SE_NCLOB_INFO;
/************************************************************
*** SDE COLUMN DEFINITION STRUCTURE "SE_COLUMN_DEF"
************************************************************/
typedef struct {
CHAR column_name[SE_MAX_COLUMN_LEN]; /* the column name */
LONG sde_type; /* the SDE data type */
LONG size; /* the size of the column values */
SHORT decimal_digits; /* number of digits after decimal */
BOOL nulls_allowed; /* allow NULL values ? */
SHORT row_id_type; /* column's use as table's row id */
} SE_COLUMN_DEF;
/************************************************************
*** SDE SSA INPUT DEFINITION STRUCTURE "SE_INPUT_DESC"
************************************************************/
typedef struct {
LONG sde_type; /* the SDE data type */
LONG size; /* the size of the input values */
} SE_INPUT_DESC;
/************************************************************
*** SDE SQL CONSTRUCTOR
************************************************************/
typedef struct {
LONG num_tables; /* number of tables */
CHAR **tables; /* table names */
CHAR *where; /* where clause */
} SE_SQL_CONSTRUCT;
/************************************************************
*** SDE INDEX DESCRIPTION STRUCTURE "SE_INDEX_DEF"
************************************************************/
typedef struct {
SHORT num_columns; /* number of columns */
CHAR **column_name; /* the column name */
CHAR index_name[SE_MAX_COLUMN_LEN]; /* the index name */
BOOL unique; /* unique index */
BOOL *ascending; /* ascending order */
} SE_INDEX_DEF;
/************************************************************
*** SDE POINT TABLE STRUCTURES
************************************************************/
typedef struct _SE_PointTable *SE_PTABLE;
typedef struct
{
LFLOAT x, y, z;
ULONG mask;
} SE_SNAPPED_POINT;
/************************************************************
*** SDE RELEASE/VERSION STRUCTURE
************************************************************/
typedef struct
{
LONG major; /* Major release */
LONG minor; /* Minor release */
LONG bug; /* Bug version */
CHAR desc[96]; /* Description */
LONG release; /* Release Number */
LONG rel_low_supported; /* Lowest Release supported */
} SE_RELEASE;
/************************************************************
*** SE_QUERYFROM JOIN TYPES
************************************************************/
typedef enum
{
SE_INNER_JOIN = 1
} SE_JOIN_TYPE;
/************************************************************
*** SE_QUERYFROM JOIN CONSTRAINTS
************************************************************/
typedef enum
{
SE_JOIN_ON = 1
} SE_JOIN_CONSTRAINT;
/************************************************************
*** SDE SHAPE HANDLE
************************************************************/
typedef struct _SE_ShapeRecord *SE_SHAPE;
/************************************************************
*** SDE ANNOTATION HANDLE
************************************************************/
typedef struct _SE_AnnoRecord *SE_ANNO;
/************************************************************
*** SDE EXTERNAL DATA FILE HANDLE
************************************************************/
typedef struct _SE_ExternalFileInfo *SE_FILEINFO;
/************************************************************
*** SDE LAYER HANDLE
************************************************************/
typedef struct _SE_LayerRecord *SE_LAYERINFO;
/************************************************************
*** SDE METADATA HANDLE
************************************************************/
typedef struct _SE_MetaData *SE_METADATAINFO;
/************************************************************
*** SDE REGISTRATION HANDLE
************************************************************/
typedef struct _SE_Registration *SE_REGINFO;
/************************************************************
*** SDE VERSION HANDLE
************************************************************/
typedef struct _SE_VersionRecord *SE_VERSIONINFO;
/************************************************************
*** SDE STATE HANDLE
************************************************************/
typedef struct _SE_StateRecord *SE_STATEINFO;
/************************************************************
*** SDE LOCATOR HANDLE
************************************************************/
typedef struct _SE_Locator *SE_LOCATORINFO;
/************************************************************
*** SDE OBJECTLOCK HANDLE
************************************************************/
typedef struct _SE_ObjectLock *SE_OBJECTLOCKINFO;
/************************************************************
*** SDE CONNECTION HANDLE
************************************************************/
typedef struct _SE_ClientRecord *SE_CONNECTION;
/************************************************************
*** SDE STREAM HANDLE
************************************************************/
typedef struct _SE_StreamRecord *SE_STREAM;
/************************************************************
*** SDE UUID GENERATOR HANDLE
************************************************************/
typedef struct _SE_UUIDsysRecord *SE_UUIDGENERATOR;
/************************************************************
*** SDE XML TAG HANDLE
************************************************************/
typedef struct _SE_XmlTagInfo *SE_XMLTAGINFO;
/************************************************************
*** SDE XML INDEX HANDLE
************************************************************/
typedef struct _SE_XmlIndexInfo *SE_XMLINDEXINFO;
/************************************************************
*** SDE XML COLUMN HANDLE
************************************************************/
typedef struct _SE_XmlColumnInfo *SE_XMLCOLUMNINFO;
/************************************************************
*** SDE XML DOCUMENT HANDLE
************************************************************/
typedef struct _SE_XmlDoc *SE_XMLDOC;
/************************************************************
*** SDE REGISTERED COLUMN HANDLE
************************************************************/
typedef struct _SE_RegisteredColumn *SE_COLUMNINFO;
/************************************************************
*** SDE SERVER INFORMATION HANDLE
************************************************************/
typedef struct _SE_ServerinfoRecord *SE_SERVERINFO;
/************************************************************
*** SDE XML CONSTRAINT HANDLE
************************************************************/
typedef struct _SE_XMLConstraint *SE_XMLCONSTRAINT;
/************************************************************
*** SDE SHAPE SOURCE HANDLE
************************************************************/
typedef struct _SE_ShapeSource *SE_SHAPESOURCE;
/************************************************************
*** SDE SPATIAL CONSTRAINT HANDLE
************************************************************/
typedef struct _SE_SpatialConstraint *SE_SPATIALCONSTRAINT;
/************************************************************
*** SDE ATTRIBUTE CONSTRAINT HANDLE
************************************************************/
typedef struct _SE_AttributeConstraint *SE_ATTRIBUTECONSTRAINT;
/************************************************************
*** SDE ATTRIBUTE CONSTRAINT HANDLE
************************************************************/
typedef struct _SE_RasterConstraintRecord *SE_RASTERCONSTRAINT;
/************************************************************
*** SDE QUERY WHERE HANDLE
************************************************************/
typedef struct _SE_QueryWhere *SE_QUERYWHERE;
/************************************************************
*** SDE QUERY TABLE HANDLE
************************************************************/
typedef struct _SE_QueryTable *SE_QUERYTABLE;
/************************************************************
*** SDE QUERY FROM HANDLE
************************************************************/
typedef struct _SE_QueryFrom *SE_QUERYFROM;
/************************************************************
*** SDE QUERY COLUMN HANDLE
************************************************************/
typedef struct _SE_QueryColumn *SE_QUERYCOLUMN;
/************************************************************
*** SDE QUERY SELECT HANDLE
************************************************************/
typedef struct _SE_QuerySelect *SE_QUERYSELECT;
/************************************************************
*** SDE QUERY HANDLE
************************************************************/
typedef struct _SE_QueryInfo *SE_QUERYINFO;
/************************************************************
*** SDE TRANSFORM HANDLE
************************************************************/
typedef struct _SE_TransformRecord *SE_TRANSFORMINFO;
/************************************************************
*** SDE SPATIAL FILTER STRUCTURE
************************************************************/
typedef struct {
CHAR table[SE_QUALIFIED_TABLE_NAME]; /* the spatial table name */
CHAR column[SE_MAX_COLUMN_LEN]; /* the spatial column name */
LONG filter_type; /* the type of spatial filter */
union
{
SE_SHAPE shape; /* a shape object */
struct
{
LONG id; /* A SDE_ROW_ID id for a shape */
CHAR table[SE_QUALIFIED_TABLE_NAME]; /* The shape's spatial table */
} id;
} filter;
LONG method; /* the search method to satisfy */
BOOL truth; /* TRUE to pass the test, FALSE if it must NOT pass */
char *cbm_source ; /* set ONLY if the method is SM_CBM */
UCHAR *cbm_object_code ; /* internal system use only */
} SE_FILTER;
/************************************************************
*** SDE STREAM SPECIFICATION
************************************************************/
typedef struct {
LONG min_size; /* minimum size of buffer */
LONG max_size; /* total size of buffer */
LONG min_objects; /* minimum number of objects to put in buffer */
LONG max_array_size; /* maximum number of elements per array */
LONG attribute_bytes; /* attribute array buffer size */
LONG shape_point_bytes; /* shape geometry array buffer size */
LONG blob_bytes; /* obsolete as of ArcSDE 8.0.2 */
LONG max_bytes_per_blob; /* obsolete as of ArcSDE 8.0.2 */
LONG stream_pool_size; /* minimum # of streams to keep in the pool */
LONG raster_buf_size; /* raster buffer size */
} SE_STREAM_SPEC;
/* Stream info structure passed to SSA at initialization time. */
typedef struct _SE_StreamInfo {
SE_STREAM_SPEC stream_spec; /* Stream settings. */
SE_LOG logfile; /* Output logfile handle. */
BOOL logfile_only; /* Don't return rows, only log rows. */
LONG rowlock_action; /* Automatic row locking rule. */
const SE_FILTER *spatial_filters; /* Current spatial filters. */
SHORT num_filters; /* Number of spatial filters. */
BOOL buffered_write; /* Buffered I/O on or off. */
LONG state_id; /* Current state id. */
LONG difference_id; /* Current difference id. */
LONG difference_type; /* Current difference type. */
} SE_STREAM_INFO;
/************************************************************
*** SDE STATISTICS STRUCTURES
************************************************************/
typedef struct {
LONG freq; /* frequency of value */
union {
CHAR *str_val; /* SE_STRING_TYPE value */
LONG int_val; /* SE_INTEGER_TYPE value */
LFLOAT double_val; /* SE_DOUBLE_TYPE value */
struct tm date_val; /* SE_DATE_TYPE value */
SE_WCHAR *wstr_val; /* SE_NSTRING_TYPE value */
}uval;
} SE_VALUE;
typedef struct {
LONG num_distinct; /* number of distinct values */
LONG type; /* value type */
SE_VALUE *values; /* array of counts and union'ed values */
} SE_DISTINCT;
typedef struct {
LONG count; /* number of rows */
LFLOAT min; /* minimum value */
LFLOAT average; /* average value */
LFLOAT max; /* maximum value */
LFLOAT std_dev; /* standard deviation */
SE_DISTINCT *distinct; /* distinct info */
} SE_STATS;
/************************************************************
*** SDE ERROR STRUCTURE
************************************************************/
typedef struct {
LONG sde_error; /* SDE error code */
LONG ext_error; /* DBMS or OS errno code */
CHAR err_msg1[SE_MAX_MESSAGE_LENGTH]; /* DBMS or SE_error_get_string
msg */
CHAR err_msg2[SE_MAX_SQL_MESSAGE_LENGTH];/* Second DBMS error, if
applicable */
} SE_ERROR;
/************************************************************
*** SDE FEATURE TABLE STRUCTURES
************************************************************/
typedef struct _SE_STableRec *SE_STABLE;
/************************************************************
*** SE_layer_statistics STRUCTURES
************************************************************/
typedef struct {
LONG features; /* Features indexed by this grid level. */
LONG indexRecords; /* Index records in this grid level. */
LONG groupCounts[8]; /* Index rec count by group: <=4,>4, >10, >25,
>50, >100, >250, >500. */
LONG maxFPG; /* Maximum number of features per grid cell. */
LONG gridCells; /* # of grid cells in this level. */
LONG featuresInside1; /* # of features wholly inside one grid cell. */
} SE_GRID_STATS;
typedef struct {
CHAR table[SE_QUALIFIED_TABLE_NAME]; /* Spatial table. */
CHAR column[SE_MAX_COLUMN_LEN]; /* Spatial column. */
LONG nGrids; /* # of spatial index grids. */
SE_GRID_STATS grids[3]; /* Individual grid stats. */
} SE_SI_STATS;
typedef struct { /*** Layer statistics structure. ***/
LONG layer_id; /* Layer id. */
LONG NILs; /* # of Nil shapes in layer. */
LONG POINTs,MultiPOINTs; /* # of Point and Multipoints in layer. */
LONG LINEs,MultiLINEs; /* # of Lines & Multilines in layer. */
LONG SIMPLE_LINEs,MultiSIMPLE_LINEs; /* # of Simple Lines &
Simple Multilines. */
LONG AREAs,MultiAREAs; /* # of Area and Multiareas in layer. */
LONG TotalFeatures; /* Total # of shapes in layer. */
SE_ENVELOPE bounds; /* Layer extrema. */
LONG lastModified; /* POSIX time_t date last modified.*/
LONG minFid,maxFid; /* Minimum and maximum IDs in layer. */
LONG minPoints,maxPoints;/* Min/max # of pts in layer shapes. */
LFLOAT minArea,maxArea; /* Min and max area shape areas. */
LFLOAT minLength,maxLength;/* Min and max linear shape lengths. */
LFLOAT averagePoints; /* Average number of points/shape. */
LFLOAT averageArea; /* Average area/shape. */
LFLOAT averageLength; /* Average length/shape. */
} SE_LAYER_STATS;
/************************************************************
*** SDE LAYER LOCKS STRUCTURES
************************************************************/
typedef struct {
CHAR username[SE_MAX_OWNER_LEN + 4];
LONG lock_type;
SE_ENVELOPE bounds;
} SE_LAYER_LOCKS;
/************************************************************
*** SDE TABLE LOCKS STRUCTURES
************************************************************/
typedef struct {
CHAR username[SE_MAX_OWNER_LEN + 4];
LONG lock_type;
} SE_TABLE_LOCK;
/************************************************************
*** SDE VERSION LOCK STRUCTURES
************************************************************/
typedef struct {
CHAR username[SE_MAX_OWNER_LEN + 4];
LONG lock_mode;
} SE_VERSION_LOCK;
/************************************************************
*** SDE INSTANCE STRUCTURES
************************************************************/
typedef struct {
SE_RELEASE version; /* Release version of specified instance. */
LONG connections; /* Number of current connections to SDE on node.*/
LONG system_mode; /* Accepting connections or blocking. */
} SE_INSTANCE_STATUS;
typedef struct {
LONG svrpid; /* Forked Server Task pid */
LONG cstime; /* Connection Start time */
BOOL xdr_needed; /* Use XDR Boolean */
CHAR sysname[SE_MAX_OWNER_LEN + 1]; /* Client Operating System Name */
CHAR nodename[SE_MAX_OWNER_LEN + 1]; /* Client Host Node Name */
CHAR username[SE_MAX_OWNER_LEN + 1]; /* User Name */
} SE_INSTANCE_USER;
/* For future developments, please do not use the structure
SE_INSTANCE_CONFIG and API SE_instance_configuration() for
instance/server configuration info. They are provided only for
backward compatibility and will be deprecated for the post
9.0 releases. Instead, please use SE_SERVERINFO structure
and SE_instance_serverconfig_get_info() API respectively. */
typedef struct {
LONG max_connections;
LONG max_locks;
LONG max_state_locks;
LONG max_table_locks;
LONG max_object_locks;
LONG child_timeout;
LONG min_net_block_size;
LONG max_net_block_size;
LONG min_net_obj_count;
LONG max_mem_dissolve;
LONG max_blob_size;
LONG max_mem_blob;
LONG auto_commit_freq;
LONG max_init_feats;
LONG max_distinct;
LONG max_streams;
LONG stream_pool_size;
LONG max_layers;
LONG max_registrations;
LONG max_rastercolumns;
LONG shape_point_buf_size;
LONG attribute_buf_size;
LONG blob_buf_size;
LONG raster_buf_size;
LONG max_array_size;
LONG max_array_bytes;
LONG max_time_diff;
CHAR home_path[SE_MAX_PATH_LEN]; /* PATH TO SDE HOME DIR */
CHAR log_path[SE_MAX_PATH_LEN]; /* PATH TO SDE LOG FILE DIR */
CHAR tmp_path[SE_MAX_PATH_LEN]; /* PATH TO SDE TEMP FILE DIR */
LONG dbms_id; /* Underlying DBMS ID. */
LONG dbms_properties; /* DBMS properties. */
LONG client_count; /* Connection count */
BOOL state_caching;
BOOL tcp_keepalive;
BOOL instance_read_only;
LONG default_precision;
BOOL state_autolocking;
} SE_INSTANCE_CONFIG;
typedef struct {
LONG pid;
LONG rcount; /* TOT # READS BY PROCESS */
LONG wcount; /* TOT # WRITES BY PROCESS */
LONG opcount; /* TOT # F OPERATIONS BY PROCESS */
LONG numlocks; /* TOT # F LOCKS HELD BY THIS PID */
LONG fb_partial; /* TOT # F PARTIAL SHAPES SHIPPED BY THIS PROCESS */
LONG fb_count; /* TOT # F BUFFERS LOADED BY THIS PROCESS */
LONG fb_fcount; /* TOT # F SHAPES BUFFERED BY THIS PROCESS */
LONG fb_kbytes; /* TOT # F 1K BYTES BUFFERED DATA BY THIS PROCESS */
} SE_INSTANCE_STATS;
typedef struct {
LONG pid;
SHORT layer_id;
LONG lock_type;
} SE_INSTANCE_LOCK;
typedef struct _SE_InstanceStateLock {
LONG pid; /* Gsrvr process id that holds this lock. */
LONG state_id; /* State being locked. */
SHORT lock_type; /* Shared, exclusive or table. */
} SE_INSTANCE_STATE_LOCK;
typedef struct _SE_InstanceTableLock {
LONG pid; /* Gsrvr process id that holds this lock. */
LONG registration_id; /* table being locked. */
SHORT lock_type; /* Shared, exclusive or table. */
} SE_INSTANCE_TABLE_LOCK;
typedef struct _SE_InstanceVersionLock {
LONG pid; /* Gsrvr process id that holds this lock. */
LONG version_id; /* Version being locked. */
SHORT lock_mode; /* Shared or exclusive. */
} SE_INSTANCE_VERSION_LOCK;
/************************************************************
*** Struct to receive shape comparison info.
************************************************************/
typedef struct {
LONG primary_entity_type ;
LONG secondary_entity_type ;
LONG mask ;
LONG sectdims[3][3] ;
} SE_CBM_INFO ;
/************************************************************
*** Struct to receive dbtune table error data.
************************************************************/
typedef struct {
CHAR keyword[SE_MAX_CONFIG_KEYWORD_LEN];
CHAR parameter_name[SE_MAX_CONFIG_KEYWORD_LEN];
CHAR config_string[SE_MAX_CONFIG_STR_LEN];
} SE_DBTUNE;
/************************************************************
*** Struct to receive server_config table error data.
************************************************************/
typedef struct {
CHAR prop_name [SE_MAX_PROP_NAME_LEN];
CHAR char_prop_value[SE_MAX_PROP_VAL_LEN];
LONG num_prop_value;
} SE_SVR_CONFIG_ERR;
/*****************************************************************************
** Spatial Database Engine API Prototypes
**
*****************************************************************************/
#ifdef WIN32
#define SDEAPI __stdcall
#else
#define SDEAPI
#endif
/*
* ==========================================================================
*
* THE FOLLOWING FUNCTIONS ARE FOR PUBLIC USE.
*
* ==========================================================================
*/
/* Annotation object functions */
extern LONG SDEAPI SE_anno_create (SE_ANNO *anno);
extern LONG SDEAPI SE_anno_duplicate( const SE_ANNO src_anno,
SE_ANNO tgt_anno);
extern void SDEAPI SE_anno_free (SE_ANNO anno);
extern LONG SDEAPI SE_anno_get_alignment (const SE_ANNO anno,
LONG *alignment);
extern LONG SDEAPI SE_anno_get_justification (const SE_ANNO anno,
LONG *justification);
extern LONG SDEAPI SE_anno_get_leader (const SE_ANNO anno,
SE_SHAPE leader);
extern LONG SDEAPI SE_anno_get_level (const SE_ANNO anno,
LONG *level);
extern LONG SDEAPI SE_anno_get_offset (const SE_ANNO anno,
LFLOAT *x_offset,
LFLOAT *y_offset);
extern LONG SDEAPI SE_anno_get_placement (const SE_ANNO anno,
SE_SHAPE placement);
extern LONG SDEAPI SE_anno_get_symbol (const SE_ANNO anno,
LONG *symbol);
extern LONG SDEAPI SE_anno_get_text (const SE_ANNO anno,
CHAR *text);
extern LONG SDEAPI SE_anno_get_text_size (const SE_ANNO anno,
LFLOAT *height,
LFLOAT *gap_ratio);
extern LONG SDEAPI SE_anno_set_alignment (SE_ANNO anno,
const LONG alignment);
extern LONG SDEAPI SE_anno_set_justification (SE_ANNO anno,
LONG justification);
extern LONG SDEAPI SE_anno_set_leader (SE_ANNO anno,
const SE_SHAPE leader);
extern LONG SDEAPI SE_anno_set_level (SE_ANNO anno,
LONG level);
extern LONG SDEAPI SE_anno_set_offset (SE_ANNO anno,
LFLOAT x_offset,
LFLOAT y_offset);
extern LONG SDEAPI SE_anno_set_placement (SE_ANNO anno,
const SE_SHAPE placement);
extern LONG SDEAPI SE_anno_set_symbol (SE_ANNO anno,
LONG symbol);
extern LONG SDEAPI SE_anno_set_text (SE_ANNO anno,
const CHAR *text);
extern LONG SDEAPI SE_anno_set_text_size (SE_ANNO anno,
LFLOAT height,
LFLOAT gap_ratio);
/* Query attribute constraint functions */
extern LONG SDEAPI SE_attributeconstraint_create (
SE_ATTRIBUTECONSTRAINT *attr_constraint);
extern void SDEAPI SE_attributeconstraint_free (
SE_ATTRIBUTECONSTRAINT attr_constraint);
extern LONG SDEAPI SE_attributeconstraint_set_dynamic_bind (
SE_ATTRIBUTECONSTRAINT attr_constraint,
SHORT position,
LONG sde_type,
LONG length,
const void *data,
const SHORT *indicator);
extern LONG SDEAPI SE_attributeconstraint_set_where_clause (
SE_ATTRIBUTECONSTRAINT attr_constraint,
const CHAR *where_clause);
/* Blob object function */
extern void SDEAPI SE_blob_free (SE_BLOB_INFO *blob);
extern void SDEAPI SE_clob_free (SE_CLOB_INFO *clob);
extern void SDEAPI SE_nclob_free(SE_NCLOB_INFO *nclob);
/* Registered Column object functions */
extern LONG SDEAPI SE_columninfo_create (SE_COLUMNINFO *column);
extern LONG SDEAPI SE_columninfo_duplicate (const SE_COLUMNINFO src_column,
SE_COLUMNINFO tgt_column);
extern void SDEAPI SE_columninfo_free (SE_COLUMNINFO column);
extern BOOL SDEAPI SE_columninfo_allows_nulls (const SE_COLUMNINFO column);
extern LONG SDEAPI SE_columninfo_get_decimal_digits
(const SE_COLUMNINFO column,
LONG *decimal_digits);
extern LONG SDEAPI SE_columninfo_get_description
(const SE_COLUMNINFO column,
CHAR *description);
extern LONG SDEAPI SE_columninfo_get_object_id
(const SE_COLUMNINFO column,
LONG *object_id);
extern LONG SDEAPI SE_columninfo_get_name (const SE_COLUMNINFO column,
CHAR *name);
extern LONG SDEAPI SE_columninfo_get_rowid_type
(const SE_COLUMNINFO column,
LONG *rowid_type);
extern LONG SDEAPI SE_columninfo_get_size (const SE_COLUMNINFO column,
LONG *size);
extern LONG SDEAPI SE_columninfo_get_table_name
(const SE_COLUMNINFO column,
CHAR *table_name);
extern LONG SDEAPI SE_columninfo_get_type (const SE_COLUMNINFO column,
LONG *sde_type);
extern LONG SDEAPI SE_columninfo_set_allows_nulls
(SE_COLUMNINFO column,
BOOL allows_nulls);
extern LONG SDEAPI SE_columninfo_set_description
(SE_COLUMNINFO column,
const CHAR *description);
extern LONG SDEAPI SE_columninfo_set_type (SE_COLUMNINFO column,
LONG type);
/* Connection object functions */
extern LONG SDEAPI SE_connection_commit_transaction
(SE_CONNECTION connection);
extern LONG SDEAPI SE_connection_create (const CHAR *server,
const CHAR *instance,
const CHAR *database,
const CHAR *username,
const CHAR *password,
SE_ERROR *error,
SE_CONNECTION *connection);
extern LONG SDEAPI SE_connection_delete_gcdrule_file
(SE_CONNECTION connection,
const CHAR *filename);
extern LONG SDEAPI SE_connection_disable_tlm_check (SE_CONNECTION handle);
extern LONG SDEAPI SE_connection_enable_tlm_check (SE_CONNECTION handle);
extern LONG SDEAPI SE_connection_export_dbtune(SE_CONNECTION connection,
const CHAR *dbtune_file);
extern LONG SDEAPI SE_connection_export_gcdrule_file
(SE_CONNECTION handle,
const CHAR *filename,
const CHAR *directory,
BOOL force_overwrite);
extern LONG SDEAPI SE_connection_free_all_locks
(SE_CONNECTION connection);
extern void SDEAPI SE_connection_free (SE_CONNECTION connection);
extern void SDEAPI SE_connection_free_keyword_info (LONG keyword_count,
CHAR **keyword_list);
extern LONG SDEAPI SE_connection_get_admin_database
(SE_CONNECTION connection,
CHAR *admin_database);
extern LONG SDEAPI SE_connection_get_database (SE_CONNECTION connection,
CHAR *database);
extern LONG SDEAPI SE_connection_get_default_database
(SE_CONNECTION connection,
CHAR *default_database);
extern LONG SDEAPI SE_connection_get_dbms_info
(SE_CONNECTION connection,
LONG *dbms_id,
LONG *dbms_properties);
extern LONG SDEAPI SE_connection_get_ext_error
(SE_CONNECTION connection,
SE_ERROR *error);
extern LONG SDEAPI SE_connection_get_instance_layerlocks
(SE_CONNECTION handle,
SE_INSTANCE_LOCK **lock_list_addr,
LONG *lock_count_addr);
extern LONG SDEAPI SE_connection_get_instance_name
(SE_CONNECTION handle,
CHAR *instance_name);
extern LONG SDEAPI SE_connection_get_instance_objectlocks
(SE_CONNECTION handle,
SE_OBJECTLOCKINFO **lock_list_addr,
LONG *lock_count_addr);
extern LONG SDEAPI SE_connection_get_instance_statelocks
(SE_CONNECTION handle,
SE_INSTANCE_STATE_LOCK **lock_list_addr,
LONG *lock_count_addr);
extern LONG SDEAPI SE_connection_get_instance_statistics
(SE_CONNECTION handle,
SE_INSTANCE_STATS **stats_list_addr,
LONG *stats_count_addr);
extern LONG SDEAPI SE_connection_get_instance_status
(SE_CONNECTION handle,
SE_INSTANCE_STATUS *status);
extern LONG SDEAPI SE_connection_get_instance_tablelocks
(SE_CONNECTION handle,
SE_INSTANCE_TABLE_LOCK **lock_list_addr,
LONG *lock_count_addr);
extern LONG SDEAPI SE_connection_get_instance_users
(SE_CONNECTION handle,
SE_INSTANCE_USER **user_list_addr,
LONG *user_count_addr);
extern LONG SDEAPI SE_connection_get_instance_versionlocks
(SE_CONNECTION handle,
SE_INSTANCE_VERSION_LOCK **lock_list_addr,
LONG *lock_count_addr);
extern LONG SDEAPI SE_connection_get_instance_name
(SE_CONNECTION handle,
CHAR *instance_name);
extern LONG SDEAPI SE_connection_get_release (SE_CONNECTION connection,
SE_RELEASE *rls_version);
extern LONG SDEAPI SE_connection_get_server_name
(SE_CONNECTION handle,
CHAR *server_name);
extern LONG SDEAPI SE_connection_get_server_time
(SE_CONNECTION connection);
extern LONG SDEAPI SE_connection_get_sql_info
(SE_CONNECTION connection,
LONG sql_id,
CHAR *sql_name);
extern LONG SDEAPI SE_connection_get_keyword_info(
SE_CONNECTION handle,
LONG *keyword_count,
CHAR ***keyword_list);
extern LONG SDEAPI SE_connection_get_stream_spec
(SE_CONNECTION connection,
SE_STREAM_SPEC *spec);
extern LONG SDEAPI SE_connection_get_user_name
(SE_CONNECTION handle,
CHAR *user_name);
extern LONG SDEAPI SE_connection_get_sdedba_name
(SE_CONNECTION handle,
CHAR *user_name);
extern LONG SDEAPI SE_connection_get_transaction_autocommit
(SE_CONNECTION handle,
LONG *interval);
extern LONG SDEAPI SE_connection_import_dbtune(SE_CONNECTION handle,
const CHAR *dbtune_file,
SE_DBTUNE *dbtune_error_data);
extern LONG SDEAPI SE_connection_import_gcdrule_file
(SE_CONNECTION connection,
const CHAR *filename,
BOOL force_overwrite);
extern LONG SDEAPI SE_connection_instance_control
(SE_CONNECTION handle,
LONG option);
extern LONG SDEAPI SE_connection_rollback_transaction
(SE_CONNECTION connection);
extern LONG SDEAPI SE_connection_set_concurrency
(SE_CONNECTION connection,
LONG policy);
extern LONG SDEAPI SE_connection_set_stream_spec
(SE_CONNECTION connection,
const SE_STREAM_SPEC *spec);
extern LONG SDEAPI SE_connection_set_transaction_autocommit
(SE_CONNECTION connection,
LONG interval);
extern LONG SDEAPI SE_connection_start_transaction
(SE_CONNECTION connection);
/* Coordinate reference object functions */
extern LONG SDEAPI SE_coordref_create (SE_COORDREF *coordref);
extern void SDEAPI SE_coordref_free (SE_COORDREF coordref);
extern LONG SDEAPI SE_coordref_duplicate (SE_COORDREF src_ref,
SE_COORDREF tgt_ref);
extern LONG SDEAPI SE_coordref_get_coordsys(SE_COORDREF coordref,
PE_COORDSYS *cs);
extern LONG SDEAPI SE_coordref_get_description (SE_COORDREF coordref,
CHAR *description);
extern LONG SDEAPI SE_coordref_get_id (SE_COORDREF coordref,
LONG *coordsys_id);
extern LONG SDEAPI SE_coordref_get_m (SE_COORDREF coordref,
LFLOAT *falsem,
LFLOAT *munits);
extern LONG SDEAPI SE_coordref_get_m_range (SE_COORDREF coordref,
LFLOAT *min_value,
LFLOAT *max_value);
extern LONG SDEAPI SE_coordref_get_precision (SE_COORDREF coordref,
LONG *precision);
extern LONG SDEAPI SE_coordref_get_srid (SE_COORDREF coordref,
LONG *srid);
extern LONG SDEAPI SE_coordref_get_xy (SE_COORDREF coordref,
LFLOAT *falsex,
LFLOAT *falsey,
LFLOAT *xyunits);
extern LONG SDEAPI SE_coordref_get_xy_envelope (SE_COORDREF coordref,
SE_ENVELOPE *extent);
extern LONG SDEAPI SE_coordref_get_z (SE_COORDREF coordref,
LFLOAT *falsez,
LFLOAT *zunits);
extern LONG SDEAPI SE_coordref_get_z_range (SE_COORDREF coordref,
LFLOAT *min_value,
LFLOAT *max_value);
extern LONG SDEAPI SE_coordref_set_coordsys (SE_COORDREF coordref,
PE_COORDSYS cs);
extern LONG SDEAPI SE_coordref_set_by_description (SE_COORDREF coordref,
const CHAR *description);
extern LONG SDEAPI SE_coordref_set_by_id (SE_COORDREF coordref,
LONG coordsys_id);
extern LONG SDEAPI SE_coordref_set_m (SE_COORDREF coordref,
LFLOAT falsem,
LFLOAT munits);
extern LONG SDEAPI SE_coordref_set_m_by_range (SE_COORDREF coordref,
LFLOAT min_mvalue,
LFLOAT max_mvalue);
extern LONG SDEAPI SE_coordref_set_precision (SE_COORDREF coordref,
LONG precision);
extern LONG SDEAPI SE_coordref_set_xy (SE_COORDREF coordref,
LFLOAT falsex,
LFLOAT falsey,
LFLOAT xyunits);
extern LONG SDEAPI SE_coordref_set_xy_by_envelope (SE_COORDREF coordref,
SE_ENVELOPE *extent);
extern LONG SDEAPI SE_coordref_set_z (SE_COORDREF coordref,
LFLOAT falsez,
LFLOAT zunits);
extern LONG SDEAPI SE_coordref_set_z_by_range (SE_COORDREF coordref,
LFLOAT min_zvalue,
LFLOAT max_zvalue);
/* Database object functions */
extern LONG SDEAPI SE_database_list (SE_CONNECTION connection,
LONG *num_databases,
CHAR ***databases);
extern void SDEAPI SE_database_free_list (LONG num_databases,
CHAR **databases );
extern LONG SDEAPI SE_database_use (SE_CONNECTION connection,
CHAR *database);
/* Error object functions */
extern LONG SDEAPI SE_error_get_string (LONG error_code,
CHAR *error_string);
extern LONG SDEAPI SE_connection_get_error_string (SE_CONNECTION connection,
LONG error_code,
CHAR *error_string);
/* External file info object functions */
extern LONG SDEAPI SE_file_close (SE_FILEINFO fileinfo);
extern LONG SDEAPI SE_file_create (SE_FILEINFO fileinfo,
SHORT num_columns,
const SE_COLUMN_DEF *column_defs);
extern LONG SDEAPI SE_file_describe (SE_FILEINFO fileinfo,
SHORT *num_columns,
SE_COLUMN_DEF **column_defs);
extern BOOL SDEAPI SE_file_exist (SE_FILEINFO fileinfo,
LONG *status);
extern void SDEAPI SE_file_free_descriptions(SE_COLUMN_DEF *column_defs);
extern LONG SDEAPI SE_file_open (SE_FILEINFO fileinfo);
extern LONG SDEAPI SE_fileinfo_create (SE_FILEINFO *fileinfo);
extern LONG SDEAPI SE_fileinfo_duplicate (const SE_FILEINFO src_fileinfo,
SE_FILEINFO tgt_fileinfo);
extern void SDEAPI SE_fileinfo_free (SE_FILEINFO fileinfo);
extern LONG SDEAPI SE_fileinfo_get_layerinfo
(const SE_FILEINFO fileinfo,
SE_LAYERINFO layer);
extern LONG SDEAPI SE_fileinfo_get_name (const SE_FILEINFO fileinfo,
CHAR *name);
extern LONG SDEAPI SE_fileinfo_get_type (const SE_FILEINFO fileinfo,
LONG *file_type,
CHAR *feat_class);
extern LONG SDEAPI SE_fileinfo_set_layerinfo
(SE_FILEINFO fileinfo,
const SE_LAYERINFO layer);
extern LONG SDEAPI SE_fileinfo_set_name (SE_FILEINFO fileinfo,
const CHAR *name);
extern LONG SDEAPI SE_fileinfo_set_type (SE_FILEINFO fileinfo,
const LONG file_type,
const CHAR *feat_class);
/* Instance object functions */
/* For future developments, please do not use the structure
SE_INSTANCE_CONFIG and API SE_instance_configuration() for
server configuration info. They are provided only for
backward compatibility and will be deprecated for the post
9.0 releases. Instead, please use SE_SERVERINFO structure
and SE_instance_serverconfig_get_info() API respectively. */
extern LONG SDEAPI SE_instance_configuration
(const CHAR *server,
const CHAR *instance,
SE_INSTANCE_CONFIG *configuration);
extern LONG SDEAPI SE_instance_serverconfig_get_info
(const CHAR *server,
const CHAR *instance,
SE_SERVERINFO svr_config);
extern LONG SDEAPI SE_instance_control (const CHAR *server,
const CHAR *instance,
const CHAR *password,
LONG option,
LONG pid);
extern void SDEAPI SE_instance_free_locks (SE_INSTANCE_LOCK *lock_list,
LONG lock_count);
extern void SDEAPI SE_instance_free_state_locks
(SE_INSTANCE_STATE_LOCK *lock_list,
LONG lock_count);
extern void SDEAPI SE_instance_free_table_locks
(SE_INSTANCE_TABLE_LOCK *lock_list,
LONG lock_count);
extern void SDEAPI SE_instance_free_version_locks
(SE_INSTANCE_VERSION_LOCK *lock_list,
LONG lock_count);
extern void SDEAPI SE_instance_free_statistics
(SE_INSTANCE_STATS *stats_list,
LONG stats_count);
extern void SDEAPI SE_instance_free_users (SE_INSTANCE_USER *user_list,
LONG user_count);
extern void SDEAPI SE_instance_free_variables (CHAR **variables,
LONG var_count);
extern LONG SDEAPI SE_instance_get_locks(const CHAR *server,
const CHAR *instance,
SE_INSTANCE_LOCK **lock_list_addr,
LONG *lock_count_addr);
extern LONG SDEAPI SE_instance_get_objectlocks (const CHAR *server,
const CHAR *instance,
SE_OBJECTLOCKINFO **lock_list,
LONG *lock_count);
extern LONG SDEAPI SE_instance_get_state_locks
(const CHAR *server,
const CHAR *instance,
SE_INSTANCE_STATE_LOCK **lock_list_addr,
LONG *lock_count_addr);
extern LONG SDEAPI SE_instance_get_table_locks
(const CHAR *server,
const CHAR *instance,
SE_INSTANCE_TABLE_LOCK **lock_list_addr,
LONG *lock_count_addr);
extern LONG SDEAPI SE_instance_get_statistics
(const CHAR *server,
const CHAR *instance,
SE_INSTANCE_STATS **stats_list_addr,
LONG *stats_count_addr);
extern LONG SDEAPI SE_instance_get_users (const CHAR *server,
const CHAR *instance,
SE_INSTANCE_USER **user_list_addr,
LONG *user_count_addr);
extern LONG SDEAPI SE_instance_get_variables (const CHAR *server,
const CHAR *instance,
CHAR ***variables,
LONG *var_count_addr);
extern LONG SDEAPI SE_instance_get_version_locks
(const CHAR *server,
const CHAR *instance,
SE_INSTANCE_VERSION_LOCK **lock_list_addr,
LONG *lock_count_addr);
extern LONG SDEAPI SE_instance_start (const CHAR *sdehome,
const CHAR *password);
extern LONG SDEAPI SE_instance_status (const CHAR *server,
const CHAR *instance,
SE_INSTANCE_STATUS *istatus);
/* Layer object functions */
extern LONG SDEAPI SE_layer_alter (SE_CONNECTION connection,
const SE_LAYERINFO layer);
extern LONG SDEAPI SE_layer_create (SE_CONNECTION connection,
const SE_LAYERINFO layer,
LONG initialf,
LONG avg_points);
extern LONG SDEAPI SE_layer_delete (SE_CONNECTION connection,
const CHAR *table,
const CHAR *column);
extern void SDEAPI SE_layer_free_info_list (LONG count,
SE_LAYERINFO *layer_list);
extern LONG SDEAPI SE_layer_free_lock (SE_CONNECTION connection,
const CHAR *table,
const CHAR *column);
extern void SDEAPI SE_layer_free_locks (SE_LAYER_LOCKS *locks);
extern LONG SDEAPI SE_layer_calculate_extent(SE_CONNECTION connection,
const CHAR *table,
const CHAR *column,
BOOL use_index,
SE_ENVELOPE *e,
LFLOAT *minz,
LFLOAT *maxz,
const SE_SQL_CONSTRUCT *construct);
extern LONG SDEAPI SE_layer_get_info_by_id (SE_CONNECTION connection,
LONG layer_id,
SE_LAYERINFO layer);
extern LONG SDEAPI SE_layer_get_info (SE_CONNECTION connection,
const CHAR *table,
const CHAR *column,
SE_LAYERINFO layer);
extern LONG SDEAPI SE_layer_get_info_list (SE_CONNECTION connection,
SE_LAYERINFO **layer_list,
LONG *count_addr);
extern LONG SDEAPI SE_layer_get_locks (SE_CONNECTION connection,
const CHAR *table,
const CHAR *column,
LONG *num_locks,
SE_LAYER_LOCKS **locks);
extern LONG SDEAPI SE_layer_get_si_statistics(SE_CONNECTION connection,
const CHAR *table,
const CHAR *column,
SE_SI_STATS *stats);
extern LONG SDEAPI SE_layer_grant_access (SE_CONNECTION connection,
const CHAR *table,
const CHAR *column,
LONG privilege,
BOOL grant,
const CHAR *user);
extern LONG SDEAPI SE_layer_lock (SE_CONNECTION connection,
const CHAR *table,
const CHAR *column,
LONG lock_mode);
extern LONG SDEAPI SE_layer_lock_area (SE_CONNECTION connection,
const CHAR *table,
const CHAR *column,
LONG lock_mode,
const SE_ENVELOPE *area);
extern LONG SDEAPI SE_layer_modify_lock (SE_CONNECTION connection,
const CHAR *table,
const CHAR *column,
LONG new_lock_mode,
const SE_ENVELOPE *area);
extern LONG SDEAPI SE_layer_revoke_access (SE_CONNECTION connection,
const CHAR *table,
const CHAR *column,
LONG privilege,
const CHAR *user);
extern LONG SDEAPI SE_layer_truncate (SE_CONNECTION connection,
const CHAR *table,
const CHAR *column);
extern LONG SDEAPI SE_layer_shape_attribute_name (
SE_CONNECTION connection,
const CHAR *table,
const CHAR *column,
LONG attr_code,
CHAR *attr_name );
/* Obsolete layer function(s). */
extern LONG SDEAPI SE_layer_get_statistics (SE_CONNECTION connection,
const CHAR *table,
const CHAR *column,
SE_LAYER_STATS *stats);
/* Layer info object functions */
extern LONG SDEAPI SE_layerinfo_create (const SE_COORDREF coordref,
SE_LAYERINFO *layer);
extern LONG SDEAPI SE_layerinfo_duplicate (const SE_LAYERINFO src_layer,
SE_LAYERINFO tgt_layer);
extern void SDEAPI SE_layerinfo_free (SE_LAYERINFO layer);
extern LONG SDEAPI SE_layerinfo_get_access (const SE_LAYERINFO layer,
LONG *privileges);
extern LONG SDEAPI SE_layerinfo_get_array_size
(const SE_LAYERINFO layer,
LONG *optimal_array_size,
struct tm *last_calculated_date);
extern LONG SDEAPI SE_layerinfo_get_coordref (const SE_LAYERINFO layer,
SE_COORDREF coordref);
extern LONG SDEAPI SE_layerinfo_get_creation_date
(const SE_LAYERINFO layer,
struct tm *date);
extern LONG SDEAPI SE_layerinfo_get_creation_keyword
(const SE_LAYERINFO layer,
CHAR *config_keyword);
extern LONG SDEAPI SE_layerinfo_get_description
(const SE_LAYERINFO layer,
CHAR *description);
extern LONG SDEAPI SE_layerinfo_get_envelope (const SE_LAYERINFO layer,
SE_ENVELOPE *envelope);
extern LONG SDEAPI SE_layerinfo_get_Zrange (const SE_LAYERINFO layer,
LFLOAT *zmin,
LFLOAT *zmax);
extern LONG SDEAPI SE_layerinfo_get_Mrange (const SE_LAYERINFO layer,
LFLOAT *mmin,
LFLOAT *mmax);
extern LONG SDEAPI SE_layerinfo_get_grid_sizes
(const SE_LAYERINFO layer,
LFLOAT *grid_size,
LFLOAT *grid_size2,
LFLOAT *grid_size3);
extern LONG SDEAPI SE_layerinfo_get_id (const SE_LAYERINFO layer,
LONG *layer_id);
extern LONG SDEAPI SE_layerinfo_get_minimum_id
(const SE_LAYERINFO layer,
ULONG *minimum_id);
extern LONG SDEAPI SE_layerinfo_get_shape_types (const SE_LAYERINFO layer,
LONG *shape_types);
extern LONG SDEAPI SE_layerinfo_get_spatial_column (const SE_LAYERINFO layer,
CHAR *table,
CHAR *column);
extern LONG SDEAPI SE_layerinfo_get_storage_type (const SE_LAYERINFO layer,
LONG *storage_type);
extern BOOL SDEAPI SE_layerinfo_has_anno (const SE_LAYERINFO layer);
extern BOOL SDEAPI SE_layerinfo_has_autolocking (const SE_LAYERINFO layer);
extern BOOL SDEAPI SE_layerinfo_has_cad (const SE_LAYERINFO layer);
extern BOOL SDEAPI SE_layerinfo_has_spatial_index (const SE_LAYERINFO layer);
extern BOOL SDEAPI SE_layerinfo_is_3D (const SE_LAYERINFO layer);
extern BOOL SDEAPI SE_layerinfo_is_in_load_mode (const SE_LAYERINFO layer);
extern BOOL SDEAPI SE_layerinfo_is_measured (const SE_LAYERINFO layer);
extern BOOL SDEAPI SE_layerinfo_is_storage_external
(const SE_LAYERINFO layer);
extern BOOL SDEAPI SE_layerinfo_is_storage_lob (const SE_LAYERINFO layer);
extern BOOL SDEAPI SE_layerinfo_is_storage_normalized
(const SE_LAYERINFO layer);
extern BOOL SDEAPI SE_layerinfo_is_storage_sdebinary
(const SE_LAYERINFO layer);
extern BOOL SDEAPI SE_layerinfo_is_storage_sql (const SE_LAYERINFO layer);
extern BOOL SDEAPI SE_layerinfo_is_storage_wkb (const SE_LAYERINFO layer);
extern LONG SDEAPI SE_layerinfo_set_3D (SE_LAYERINFO layer,
BOOL is_3D);
extern LONG SDEAPI SE_layerinfo_set_anno (SE_LAYERINFO layer,
BOOL has_anno);
extern LONG SDEAPI SE_layerinfo_set_array_size (SE_LAYERINFO layer,
LONG optimal_array_size);
extern LONG SDEAPI SE_layerinfo_set_autolocking (SE_LAYERINFO layer,
BOOL autolocking_enabled);
extern LONG SDEAPI SE_layerinfo_set_cad (SE_LAYERINFO layer,
BOOL has_cad);
extern LONG SDEAPI SE_layerinfo_set_coordref (SE_LAYERINFO layer,
SE_COORDREF coordref);
extern LONG SDEAPI SE_layerinfo_set_creation_keyword(SE_LAYERINFO layer,
const CHAR *config_keyword);
extern LONG SDEAPI SE_layerinfo_set_description (SE_LAYERINFO layer,
const CHAR *description);
extern LONG SDEAPI SE_layerinfo_set_envelope (SE_LAYERINFO layer,
const SE_ENVELOPE *envelope);
extern LONG SDEAPI SE_layerinfo_set_grid_sizes (SE_LAYERINFO layer,
LFLOAT grid_size,
LFLOAT grid_size2,
LFLOAT grid_size3);
extern LONG SDEAPI SE_layerinfo_set_load_mode (SE_LAYERINFO layer,
BOOL is_in_load_mode);
extern LONG SDEAPI SE_layerinfo_set_measured (SE_LAYERINFO layer,
BOOL is_measured);
extern LONG SDEAPI SE_layerinfo_set_minimum_id (SE_LAYERINFO layer,
ULONG minimum_id);
extern LONG SDEAPI SE_layerinfo_set_shape_types (SE_LAYERINFO layer,
LONG shape_types);
extern LONG SDEAPI SE_layerinfo_set_spatial_column (SE_LAYERINFO layer,
const CHAR *table,
const CHAR *column);
extern LONG SDEAPI SE_layerinfo_set_storage_type (SE_LAYERINFO layer,
LONG storage_type);
extern LONG SDEAPI SE_layerinfo_set_Zrange (const SE_LAYERINFO layer,
LFLOAT zmin,
LFLOAT zmax);
extern LONG SDEAPI SE_layerinfo_set_Mrange (const SE_LAYERINFO layer,
LFLOAT mmin,
LFLOAT mmax);
/* Locator object functions */
extern LONG SDEAPI SE_locator_alter
(SE_CONNECTION handle,
const SE_LOCATORINFO locator);
extern LONG SDEAPI SE_locator_create
(SE_CONNECTION handle,
const SE_LOCATORINFO locator);
extern LONG SDEAPI SE_locator_delete
(SE_CONNECTION handle,
const CHAR *locator_name);
extern LONG SDEAPI SE_locator_get_info
(SE_CONNECTION handle,
const CHAR *locator_name,
SE_LOCATORINFO locator);
extern LONG SDEAPI SE_locator_get_info_by_id
(SE_CONNECTION handle,
LONG id,
SE_LOCATORINFO locator);
extern void SDEAPI SE_locator_free_info_list
(LONG count,
SE_LOCATORINFO *locator_list);
extern LONG SDEAPI SE_locator_get_info_list
(SE_CONNECTION handle,
const CHAR *where,
SE_LOCATORINFO **locator_list,
LONG *count_addr);
extern LONG SDEAPI SE_locator_describe_output
(SE_CONNECTION connection,
SE_LOCATORINFO locator,
SHORT *num_columns,
SE_COLUMN_DEF **column_defs);
extern void SDEAPI SE_locator_free_descriptions(SE_COLUMN_DEF *column_defs);
extern LONG SDEAPI SE_locator_describe_inputs
(SE_CONNECTION handle,
SE_LOCATORINFO locator,
LONG *num_inputs,
CHAR ***inputs,
CHAR ***aliases,
BOOL **required_indicators,
LONG **sizes);
extern void SDEAPI SE_locator_free_input_descriptions
(LONG num_inputs,
CHAR **columns,
CHAR **aliases,
BOOL *required_indicators,
LONG *sizes);
extern LONG SDEAPI SE_locator_describe_shape
(SE_CONNECTION handle,
SE_LOCATORINFO locator,
LONG *shape_mask,
SE_COORDREF coordref,
BOOL *is_3D,
BOOL *has_Ms);
extern LONG SDEAPI SE_locator_refresh (SE_CONNECTION handle,
SE_LOCATORINFO locator,
const CHAR *table);
/* Locatorinfo object functions */
extern LONG SDEAPI SE_locatorinfo_create
(SE_LOCATORINFO *locator);
extern void SDEAPI SE_locatorinfo_free
(SE_LOCATORINFO locator);
extern LONG SDEAPI SE_locatorinfo_duplicate
(const SE_LOCATORINFO src_locator,
SE_LOCATORINFO tgt_locator);
extern LONG SDEAPI SE_locatorinfo_get_description
(const SE_LOCATORINFO locator,
CHAR *description);
extern LONG SDEAPI SE_locatorinfo_get_category
(const SE_LOCATORINFO locator,
CHAR *category);
extern LONG SDEAPI SE_locatorinfo_get_id
(const SE_LOCATORINFO locator,
LONG *id);
extern LONG SDEAPI SE_locatorinfo_get_type
(const SE_LOCATORINFO locator,
LONG *type);
extern LONG SDEAPI SE_locatorinfo_get_name
(const SE_LOCATORINFO locator,
CHAR *name);
extern LONG SDEAPI SE_locatorinfo_get_owner
(const SE_LOCATORINFO locator,
CHAR *owner);
extern LONG SDEAPI SE_locatorinfo_get_property_value
(SE_LOCATORINFO locator,
const CHAR *property,
LONG *num_values,
CHAR ***values);
extern void SDEAPI SE_locatorinfo_free_property_value
(LONG num_values,
CHAR **values);
extern LONG SDEAPI SE_locatorinfo_get_property_values
(const SE_LOCATORINFO locator,
LONG *num_props,
CHAR ***properties,
CHAR ***values);
extern void SDEAPI SE_locatorinfo_free_property_values
(LONG num_props,
CHAR **properties,
CHAR **values);
extern LONG SDEAPI SE_locatorinfo_get_single_property_value
(SE_LOCATORINFO locator,
const CHAR *property,
CHAR *value_buffer);
extern LONG SDEAPI SE_locatorinfo_set_description
(SE_LOCATORINFO locator,
const CHAR *description);
extern LONG SDEAPI SE_locatorinfo_set_category
(SE_LOCATORINFO locator,
const CHAR *category);
extern LONG SDEAPI SE_locatorinfo_set_name
(SE_LOCATORINFO locator,
const CHAR *name);
extern LONG SDEAPI SE_locatorinfo_set_property
(SE_LOCATORINFO locator,
const CHAR *property,
LONG num_values,
const CHAR **values);
extern LONG SDEAPI SE_locatorinfo_set_property_values
(SE_LOCATORINFO locator,
LONG num_props,
const CHAR **properties,
const CHAR **values);
extern LONG SDEAPI SE_locatorinfo_set_single_property
(SE_LOCATORINFO locator,
const CHAR *property,
const CHAR *value);
extern LONG SDEAPI SE_locatorinfo_set_type
(SE_LOCATORINFO locator,
LONG type);
/***********************
* Logfile functions.
************************/
/* Functions to create and free loginfo objects. */
extern LONG SDEAPI SE_loginfo_create (SE_LOGINFO *loginfo);
extern void SDEAPI SE_loginfo_free (SE_LOGINFO loginfo);
extern LONG SDEAPI SE_loginfo_duplicate (const SE_LOGINFO src_loginfo,
SE_LOGINFO tgt_loginfo);
extern void SDEAPI SE_loginfo_free_list (SE_LOGINFO *loginfo_list,
LONG count);
/* Functions to get attributes of loginfo objects. */
extern LONG SDEAPI SE_loginfo_get_id (const SE_LOGINFO loginfo,
LONG *log_id);
extern LONG SDEAPI SE_loginfo_get_name (const SE_LOGINFO loginfo,
CHAR *name);
extern LONG SDEAPI SE_loginfo_get_target_object
(const SE_LOGINFO loginfo,
LONG *target_type,
CHAR *table,
CHAR *spatial_column);
extern LONG SDEAPI SE_loginfo_get_delete_mode(const SE_LOGINFO loginfo,
SE_LOGFILE_DELETE_MODE *delete_mode);
extern BOOL SDEAPI SE_loginfo_is_persistent ( const SE_LOGINFO loginfo);
/* Functions to modify attributes of loginfo objects. */
extern LONG SDEAPI SE_loginfo_set_name (SE_LOGINFO loginfo,
const CHAR *name);
extern LONG SDEAPI SE_loginfo_set_target_object
(SE_LOGINFO loginfo,
LONG target_type,
CHAR *table,
CHAR *spatial_column);
extern LONG SDEAPI SE_loginfo_set_persistence(SE_LOGINFO loginfo,
BOOL is_persistent);
extern LONG SDEAPI SE_loginfo_set_delete_mode(SE_LOGINFO loginfo,
SE_LOGFILE_DELETE_MODE delete_mode);
/* Functions to find and return logfile information. */
extern LONG SDEAPI SE_log_get_by_name (SE_CONNECTION connection,
const CHAR *logfile,
/* Qualified name OK. */
SE_LOGINFO loginfo);
extern LONG SDEAPI SE_log_get_by_owner (SE_CONNECTION connection,
const CHAR *owner,
/* If NULL, this user. */
SE_LOGINFO **loginfo_list_addr,
LONG *count_addr);
extern LONG SDEAPI SE_log_get_by_table (SE_CONNECTION connection,
const CHAR *log_owner,
/* If NULL, this user. */
const CHAR *table,
SE_LOGINFO **loginfo_list_addr,
LONG *count_addr);
extern LONG SDEAPI SE_log_get_open_log_info (SE_CONNECTION connection,
const SE_LOG log,
SE_LOGINFO loginfo);
/* Functions to create and manipulate logfiles. */
extern LONG SDEAPI SE_log_make_name (SE_CONNECTION connection,
CHAR *logfile);
extern LONG SDEAPI SE_log_create (SE_CONNECTION connection,
SE_LOGINFO loginfo);
extern LONG SDEAPI SE_log_delete (SE_CONNECTION connection,
const CHAR *log_name);
extern LONG SDEAPI SE_log_alter (SE_CONNECTION connection,
SE_LOGINFO loginfo);
extern LONG SDEAPI SE_log_calculate_extent (SE_CONNECTION connection,
const CHAR *logname,
SE_ENVELOPE *e,
LFLOAT *minz,
LFLOAT *maxz,
const SE_SQL_CONSTRUCT *construct);
extern LONG SDEAPI SE_log_count_ids (SE_CONNECTION connection,
SE_LOGINFO loginfo);
extern LONG SDEAPI SE_log_combine (SE_CONNECTION connection,
const CHAR *logfile1,
const CHAR *logfile2,
const CHAR *logfile12,
LONG operation);
extern LONG SDEAPI SE_log_copy (SE_CONNECTION connection,
const CHAR *oldlogfile,
const CHAR *newlogfile);
extern LONG SDEAPI SE_log_grant_access (SE_CONNECTION connection,
const CHAR *logfiles_owner,
const CHAR *dbms_user);
extern LONG SDEAPI SE_log_revoke_access (SE_CONNECTION connection,
const CHAR *logfiles_owner,
const CHAR *dbms_user);
extern LONG SDEAPI SE_log_sort (SE_CONNECTION connection,
const CHAR *logfile);
/* See also SE_stream_query_logfile */
/* Functions to work with an open logfile - SE_LOG handle. */
extern LONG SDEAPI SE_log_open_log (SE_CONNECTION connection,
const SE_LOGINFO loginfo,
LONG mode,
SE_LOG *log);
extern LONG SDEAPI SE_log_close (SE_CONNECTION connection,
SE_LOG log);
extern LONG SDEAPI SE_log_count (SE_CONNECTION connection,
SE_LOG log);
extern LONG SDEAPI SE_log_add_id (SE_CONNECTION connection,
SE_LOG log,
LONG id);
extern LONG SDEAPI SE_log_add_id_list (SE_CONNECTION connection,
SE_LOG log,
LONG num_ids,
const LONG *idbuf);
extern LONG SDEAPI SE_log_delete_id_list (SE_CONNECTION connection,
SE_LOG log,
LONG num_ids,
const LONG *idbuf);
extern LONG SDEAPI SE_log_get_id_list (SE_CONNECTION connection,
SE_LOG log,
const LONG max_num_ids,
LONG *num_ids,
LONG *idbuf);
/* See also SE_stream_set_logfile */
/* Obsolete logfile functions. */
extern LONG SDEAPI SE_log_open (SE_CONNECTION connection,
const CHAR *logfile,
CHAR *table,
LONG mode,
LONG type,
SE_LOG *log);
extern LONG SDEAPI SE_log_set_type (SE_CONNECTION connection,
const CHAR *logfile,
LONG type);
/************************
* End logfile functions.
*************************/
/* Metadata object functions */
extern void SDEAPI SE_metadata_free_info_list (LONG record_count,
SE_METADATAINFO *metadata_list);
extern LONG SDEAPI SE_metadata_get_info_by_id
(SE_CONNECTION handle,
LONG record_id,
SE_METADATAINFO metadata_record);
extern LONG SDEAPI SE_metadata_get_info_list
(SE_CONNECTION handle,
const CHAR *where_clause,
SE_METADATAINFO **metadata_list,
LONG *record_count);
/* Metadata info object functions */
extern LONG SDEAPI SE_metadatainfo_create (SE_METADATAINFO *metadata_record);
extern void SDEAPI SE_metadatainfo_free (SE_METADATAINFO metadata_record);
extern LONG SDEAPI SE_metadatainfo_duplicate
(const SE_METADATAINFO src_metadata_record,
SE_METADATAINFO tgt_metadata_record);
extern LONG SDEAPI SE_metadatainfo_get_classname
(const SE_METADATAINFO metadata_record,
CHAR *classname);
extern LONG SDEAPI SE_metadatainfo_get_date
(const SE_METADATAINFO metadata_record,
struct tm *date);
extern LONG SDEAPI SE_metadatainfo_get_description
(const SE_METADATAINFO metadata_record,
CHAR *description);
extern LONG SDEAPI SE_metadatainfo_get_id
(const SE_METADATAINFO metadata_record,
LONG *id);
extern LONG SDEAPI SE_metadatainfo_get_object_owner
(const SE_METADATAINFO metadata_record,
CHAR *object_owner);
extern LONG SDEAPI SE_metadatainfo_get_object_type
(const SE_METADATAINFO metadata_record,
LONG *object_type);
extern LONG SDEAPI SE_metadatainfo_get_property
(const SE_METADATAINFO metadata_record,
CHAR *property);
extern LONG SDEAPI SE_metadatainfo_get_object_name
(const SE_METADATAINFO metadata_record,
CHAR *object_name);
extern LONG SDEAPI SE_metadatainfo_get_value
(const SE_METADATAINFO metadata_record,
CHAR *value);
extern LONG SDEAPI SE_metadatainfo_set_classname
(SE_METADATAINFO metadata_record,
const CHAR *classname);
extern LONG SDEAPI SE_metadatainfo_set_description
(SE_METADATAINFO metadata_record,
const CHAR *description);
extern LONG SDEAPI SE_metadatainfo_set_object_type
(SE_METADATAINFO metadata_record,
const LONG object_type);
extern LONG SDEAPI SE_metadatainfo_set_property
(SE_METADATAINFO metadata_record,
const CHAR *property);
extern LONG SDEAPI SE_metadatainfo_set_object_name
(SE_METADATAINFO metadata_record,
const CHAR *object_name);
extern LONG SDEAPI SE_metadatainfo_set_value
(SE_METADATAINFO metadata_record,
const CHAR *value);
/* Object lock object functions. */
extern LONG SDEAPI SE_objectlock_free_lock (SE_CONNECTION connection,
const SE_OBJECTLOCKINFO objectlock);
extern void SDEAPI SE_objectlock_free_list (LONG lock_count,
SE_OBJECTLOCKINFO *lock_list);
extern LONG SDEAPI SE_objectlock_get_list (SE_CONNECTION connection,
const SE_OBJECTLOCKINFO example,
SE_OBJECTLOCKINFO **lock_list,
LONG *lock_count);
extern LONG SDEAPI SE_objectlock_lock (SE_CONNECTION connection,
const SE_OBJECTLOCKINFO objectlock,
LONG lock_mode);
/* Object lock info object functions. */
extern LONG SDEAPI SE_objectlockinfo_create (SE_OBJECTLOCKINFO *objectlock);
extern LONG SDEAPI SE_objectlockinfo_duplicate
(const SE_OBJECTLOCKINFO src_lock,
SE_OBJECTLOCKINFO tgt_lock);
extern void SDEAPI SE_objectlockinfo_free (SE_OBJECTLOCKINFO objectlock);
extern LONG SDEAPI SE_objectlockinfo_get_lock_mode
(const SE_OBJECTLOCKINFO objectlock,
LONG *lock_mode);
extern LONG SDEAPI SE_objectlockinfo_get_object_id
(const SE_OBJECTLOCKINFO objectlock,
LONG *object_id);
extern LONG SDEAPI SE_objectlockinfo_get_object_type
(const SE_OBJECTLOCKINFO objectlock,
LONG *object_type);
extern LONG SDEAPI SE_objectlockinfo_get_owner
(const SE_OBJECTLOCKINFO objectlock,
CHAR *owner,
LONG *svrpid);
extern LONG SDEAPI SE_objectlockinfo_set_object_id
(SE_OBJECTLOCKINFO objectlock,
LONG object_id);
extern LONG SDEAPI SE_objectlockinfo_set_object_type
(SE_OBJECTLOCKINFO objectlock,
LONG object_type);
/* Point table object functions */
extern LONG SDEAPI SE_ptable_add_point (SE_PTABLE ptable,
SE_POINT *pt,
LFLOAT *z,
LONG count,
ULONG mask);
extern LONG SDEAPI SE_ptable_add_shape (SE_PTABLE ptable,
const SE_SHAPE shape,
ULONG mask);
extern LONG SDEAPI SE_ptable_create (SE_ENVELOPE *window,
SE_COORDREF coordref,
SE_PTABLE *ptable);
extern LONG SDEAPI SE_ptable_delete_point (SE_PTABLE ptable,
SE_POINT *pt,
LFLOAT *z,
LONG count,
ULONG mask);
extern LONG SDEAPI SE_ptable_delete_shape (SE_PTABLE ptable,
const SE_SHAPE shape,
ULONG mask);
extern void SDEAPI SE_ptable_free (SE_PTABLE ptable);
extern LONG SDEAPI SE_ptable_get (SE_PTABLE ptable,
SE_ENVELOPE *userwin,
ULONG mask,
void (*user_function)
(void *argument,
SE_SNAPPED_POINT *points,
LONG count),
void *argument);
extern LONG SDEAPI SE_ptable_set_concurrency (SE_PTABLE ptable,
LONG policy);
extern LONG SDEAPI SE_ptable_snap (SE_PTABLE ptable,
SE_POINT *pt,
LFLOAT z,
LFLOAT radius,
ULONG mask,
SE_SNAPPED_POINT *spt,
LONG snapmode);
/* Query column object functions */
extern LONG SDEAPI SE_querycolumn_create (SE_QUERYCOLUMN *column);
extern void SDEAPI SE_querycolumn_free (SE_QUERYCOLUMN column);
extern LONG SDEAPI SE_querycolumn_set_name (SE_QUERYCOLUMN column,
const CHAR *name);
/* Query from object functions */
extern LONG SDEAPI SE_queryfrom_create (SE_QUERYFROM *from);
extern void SDEAPI SE_queryfrom_free (SE_QUERYFROM from);
extern LONG SDEAPI SE_queryfrom_add_attribute_join_constraint
(SE_QUERYFROM from,
SE_JOIN_CONSTRAINT constraint,
const CHAR *constraint_spec);
extern LONG SDEAPI SE_queryfrom_add_join_type (SE_QUERYFROM from,
SE_JOIN_TYPE join_type);
extern LONG SDEAPI SE_queryfrom_add_table (SE_QUERYFROM from,
const SE_QUERYTABLE table);
/* Query info object functions */
extern LONG SDEAPI SE_queryinfo_create (SE_QUERYINFO *query_info);
extern void SDEAPI SE_queryinfo_free (SE_QUERYINFO query_info);
extern LONG SDEAPI SE_queryinfo_set_from (SE_QUERYINFO query_info,
const SE_QUERYFROM tables);
extern LONG SDEAPI SE_queryinfo_set_groupby (SE_QUERYINFO query_info,
const CHAR *groupby);
extern LONG SDEAPI SE_queryinfo_set_having (SE_QUERYINFO query_info,
const CHAR *having);
extern LONG SDEAPI SE_queryinfo_set_logfile (SE_QUERYINFO query_info,
const CHAR *logfile);
extern LONG SDEAPI SE_queryinfo_set_orderby (SE_QUERYINFO query_info,
const CHAR *orderby);
extern LONG SDEAPI SE_queryinfo_set_select (SE_QUERYINFO query_info,
const SE_QUERYSELECT select);
extern LONG SDEAPI SE_queryinfo_set_where (SE_QUERYINFO query_info,
const SE_QUERYWHERE where);
/* Query select object functions */
extern LONG SDEAPI SE_queryselect_create (SE_QUERYSELECT *select);
extern void SDEAPI SE_queryselect_free (SE_QUERYSELECT select);
extern LONG SDEAPI SE_queryselect_add_column (SE_QUERYSELECT select,
const SE_QUERYCOLUMN column);
/* Query table object functions */
extern LONG SDEAPI SE_querytable_create (SE_QUERYTABLE *table);
extern void SDEAPI SE_querytable_free (SE_QUERYTABLE table);
extern LONG SDEAPI SE_querytable_set_alias (SE_QUERYTABLE table,
const CHAR *alias);
extern LONG SDEAPI SE_querytable_set_name (SE_QUERYTABLE table,
const CHAR *name);
/* Query where object functions */
extern LONG SDEAPI SE_querywhere_create (SE_QUERYWHERE *where);
extern void SDEAPI SE_querywhere_free (SE_QUERYWHERE where);
extern LONG SDEAPI SE_querywhere_set_attribute_constraint
(SE_QUERYWHERE where,
const SE_ATTRIBUTECONSTRAINT attribute_constraint);
extern LONG SDEAPI SE_querywhere_set_spatial_constraint
(SE_QUERYWHERE where,
const SE_SPATIALCONSTRAINT spatial_constraint);
extern LONG SDEAPI SE_querywhere_set_raster_constraint
(SE_QUERYWHERE where,
const SE_RASTERCONSTRAINT raster_constraint);
extern LONG SDEAPI SE_querywhere_set_xml_constraint
(SE_QUERYWHERE where,
const SE_XMLCONSTRAINT xml_constraint);
/* Registration info object functions. */
extern LONG SDEAPI SE_registration_make_single_version (SE_CONNECTION handle,
const CHAR *version_name,
const CHAR *table_name);
extern LONG SDEAPI SE_reginfo_create (SE_REGINFO *registration);
extern LONG SDEAPI SE_reginfo_duplicate (const SE_REGINFO src_reginfo,
SE_REGINFO tgt_reginfo);
extern void SDEAPI SE_reginfo_free (SE_REGINFO registration);
extern BOOL SDEAPI SE_reginfo_allow_rowlocks (SE_REGINFO registration);
extern BOOL SDEAPI SE_reginfo_allows_interioredits
(SE_REGINFO registration);
extern LONG SDEAPI SE_reginfo_get_access (const SE_REGINFO registration,
LONG *privileges);
extern LONG SDEAPI SE_reginfo_get_creation_keyword
(const SE_REGINFO registration,
CHAR *config_keyword);
extern LONG SDEAPI SE_reginfo_get_description (const SE_REGINFO registration,
CHAR *description);
extern LONG SDEAPI SE_reginfo_get_id (const SE_REGINFO registration,
LONG *reg_id);
extern LONG SDEAPI SE_reginfo_get_mv_view_name(const SE_REGINFO registration,
CHAR *im_view_name);
extern LONG SDEAPI SE_reginfo_get_minimum_id (const SE_REGINFO registration,
ULONG *minimum_id);
extern LONG SDEAPI SE_reginfo_get_reg_date (const SE_REGINFO registration,
struct tm *reg_date);
extern LONG SDEAPI SE_reginfo_get_rowid_allocation
(const SE_REGINFO registration,
LONG *method);
extern LONG SDEAPI SE_reginfo_get_rowid_column
(const SE_REGINFO registration,
CHAR *rowid_column,
LONG *type);
extern LONG SDEAPI SE_reginfo_get_table_name (const SE_REGINFO registration,
CHAR *table_name);
extern BOOL SDEAPI SE_reginfo_has_layer (SE_REGINFO registration);
extern BOOL SDEAPI SE_reginfo_has_locator (SE_REGINFO registration);
extern BOOL SDEAPI SE_reginfo_has_raster (SE_REGINFO registration);
extern BOOL SDEAPI SE_reginfo_has_xml (SE_REGINFO registration);
extern BOOL SDEAPI SE_reginfo_is_hidden (const SE_REGINFO registration);
extern BOOL SDEAPI SE_reginfo_is_multiversion (SE_REGINFO registration);
extern BOOL SDEAPI SE_reginfo_is_view (SE_REGINFO registration);
extern LONG SDEAPI SE_reginfo_set_creation_keyword
(SE_REGINFO registration,
const CHAR *config_keyword);
extern LONG SDEAPI SE_reginfo_set_description (SE_REGINFO registration,
const CHAR *description);
extern LONG SDEAPI SE_reginfo_set_hidden (SE_REGINFO registration,
BOOL hidden);
extern LONG SDEAPI SE_reginfo_set_interioredits
(SE_REGINFO registration,
BOOL interioredits_ok);
extern LONG SDEAPI SE_reginfo_set_locator
(SE_REGINFO registration,
BOOL has_locator);
extern LONG SDEAPI SE_reginfo_set_minimum_id (SE_REGINFO registration,
ULONG minimum_id);
extern LONG SDEAPI SE_reginfo_set_multiversion
(SE_REGINFO registration,
BOOL is_multiversion);
extern LONG SDEAPI SE_reginfo_set_rowlocks (SE_REGINFO registration,
BOOL allow_row_lock);
extern LONG SDEAPI SE_reginfo_set_rowid_allocation
(SE_REGINFO registration,
LONG method);
extern LONG SDEAPI SE_reginfo_set_rowid_column
(SE_REGINFO registration,
const CHAR *rowid_column,
LONG type);
extern LONG SDEAPI SE_reginfo_set_table_name (SE_REGINFO registration,
const CHAR *table_name);
extern LONG SDEAPI SE_reginfo_set_view
(SE_REGINFO registration,
BOOL is_view);
/* Registration object functions. */
extern LONG SDEAPI SE_registration_alter (SE_CONNECTION connection,
SE_REGINFO reginfo);
extern LONG SDEAPI SE_registration_create (SE_CONNECTION connection,
SE_REGINFO reginfo);
extern LONG SDEAPI SE_registration_delete (SE_CONNECTION connection,
const CHAR *name);
extern LONG SDEAPI SE_registration_get_difference_list
(SE_CONNECTION connection,
LONG state1_id,
LONG state2_id,
SE_REGINFO **reg_list_addr,
LONG *count_addr);
extern LONG SDEAPI SE_registration_get_info_by_id (SE_CONNECTION connection,
LONG reg_id,
SE_REGINFO reginfo);
extern LONG SDEAPI SE_registration_get_info (SE_CONNECTION connection,
const CHAR *table,
SE_REGINFO reginfo);
extern LONG SDEAPI SE_registration_get_info_list (SE_CONNECTION connection,
SE_REGINFO **reg_list_addr,
LONG *count_addr);
extern void SDEAPI SE_registration_free_info_list (LONG count,
SE_REGINFO *reg_list);
extern LONG SDEAPI SE_registration_get_dependent_tables
(SE_CONNECTION handle,
const CHAR *table,
CHAR ***table_list,
LONG *table_count);
extern void SDEAPI SE_registration_free_dependent_tables
(CHAR **table_list,
LONG *table_count);
/* SQL constructor object functions */
extern void SDEAPI SE_sql_construct_free (SE_SQL_CONSTRUCT *constructor);
extern LONG SDEAPI SE_sql_construct_alloc (LONG num_tables,
SE_SQL_CONSTRUCT **constructor);
/* Shape object functions */
extern LONG SDEAPI SE_shape_add_island (SE_SHAPE shape,
SE_SDEPOINT *pointlist,
LONG num_pts);
extern LONG SDEAPI SE_shape_add_part (const SE_SHAPE src_shape,
SE_SHAPE tgt_shape);
extern LONG SDEAPI SE_shape_as_line (const SE_SHAPE src_shape,
SE_SHAPE tgt_shape);
extern LONG SDEAPI SE_shape_as_point (const SE_SHAPE src_shape,
SE_SHAPE tgt_shape);
extern LONG SDEAPI SE_shape_as_polygon (const SE_SHAPE src_shape,
SE_SHAPE tgt_shape);
extern LONG SDEAPI SE_shape_as_simple_line (const SE_SHAPE src_shape,
SE_SHAPE tgt_shape);
extern LONG SDEAPI SE_shape_build (SE_SHAPE src_shape,
SE_BUILD_MODE mode,
BOOL dissolve,
LONG match_mask,
SE_SHAPE tgt_shape);
extern LONG SDEAPI SE_shape_calculate_distance
(const SE_SHAPE primary_shape,
const SE_SHAPE secondary_shape,
LFLOAT *distance,
BOOL inside_test);
extern LONG SDEAPI SE_shape_change_coordref(const SE_SHAPE src_shape,
SE_COORDREF coordref,
PE_GEOGTRAN geogtran,
SE_SHAPE tgt_shape);
extern LONG SDEAPI SE_shape_change_path (SE_SHAPE shape,
SE_SDEPOINT *firstpt,
SE_SDEPOINT *midpt,
SE_SDEPOINT *lastpt,
SE_SDEPOINT *pointlist,
LONG num_pts);
extern LONG SDEAPI SE_shape_clip (SE_SHAPE src_shape,
SE_ENVELOPE *window,
SE_SHAPE tgt_shape);
extern LONG SDEAPI SE_shape_create (SE_COORDREF coordref,
SE_SHAPE *shape);
extern LONG SDEAPI SE_shape_delete_island (SE_SHAPE shape,
SE_POINT *pt);
extern LONG SDEAPI SE_shape_delete_part (SE_SHAPE shape,
LONG part_num);
extern LONG SDEAPI SE_shape_delete_path (SE_SHAPE shape,
SE_SDEPOINT *firstpt,
SE_SDEPOINT *midpt,
SE_SDEPOINT *lastpt);
extern LONG SDEAPI SE_shape_delete_point (SE_SHAPE shape,
SE_SDEPOINT *pt);
extern LONG SDEAPI SE_shape_difference (const SE_SHAPE primary_shape,
const SE_SHAPE secondary_shape,
SE_SHAPE tgt_shape);
extern LONG SDEAPI SE_shape_duplicate (const SE_SHAPE src_shape,
SE_SHAPE tgt_shape);
extern LONG SDEAPI SE_shape_extend_line (SE_SHAPE shape,
SE_SDEPOINT *endpoint,
SE_SDEPOINT *pointlist,
LONG num_pts);
extern LONG SDEAPI SE_shape_filter_coordinates
(const SE_SHAPE src_shape,
LFLOAT distance,
SE_SHAPE tgt_shape);
extern LONG SDEAPI SE_shape_find_along (SE_SHAPE shape,
LFLOAT measure,
LONG *num_shapes,
SE_SHAPE **new_shapes);
extern LONG SDEAPI SE_shape_find_between (SE_SHAPE shape,
LFLOAT from_measure,
LFLOAT to_measure,
LONG *num_shapes,
SE_SHAPE **new_shapes);
extern LONG SDEAPI SE_shape_find_relation (const SE_SHAPE primary_shape,
const SE_SHAPE secondary_shape,
LONG *mask);
extern LONG SDEAPI SE_shape_find_CBM_relation (const SE_SHAPE primary_shape,
const SE_SHAPE secondary_shape,
SE_CBM_INFO *info) ;
extern LONG SDEAPI SE_shape_evaluate_CBM (SE_CBM_INFO *info,
char *scltext,
BOOL *testresult);
extern void SDEAPI SE_shape_free (SE_SHAPE shape);
extern void SDEAPI SE_shape_free_array (LONG num_shapes,
SE_SHAPE *shapelist);
extern LONG SDEAPI SE_shape_generate_buffer(const SE_SHAPE src_shape,
LFLOAT distance,
LONG max_pts,
SE_SHAPE tgt_shape);
extern LONG SDEAPI SE_shape_generate_circle(SE_POINT center,
LFLOAT radius,
LONG num_pts,
SE_SHAPE tgt_shape);
extern LONG SDEAPI SE_shape_generate_convex_hull
(SE_SHAPE src_shape,
SE_SHAPE tgt_shape);
extern LONG SDEAPI SE_shape_generate_ellipse
(SE_POINT center,
LFLOAT semi_major_axis,
LFLOAT semi_minor_axis,
LFLOAT angle,
LONG num_pts,
SE_SHAPE tgt_shape);
extern LONG SDEAPI SE_shape_generate_from_part
(const SE_SHAPE src_shape,
LONG part_num,
SE_SHAPE tgt_shape);
extern LONG SDEAPI SE_shape_generate_label_point
(const SE_SHAPE shape,
SE_POINT *pt);
extern LONG SDEAPI SE_shape_generate_line (LONG num_pts,
LONG num_parts,
LONG *part_offsets,
SE_POINT *point_array,
LFLOAT *z,
LFLOAT *measure,
SE_SHAPE tgt_shape);
extern LONG SDEAPI SE_shape_generate_point (LONG num_pts,
SE_POINT *point_array,
LFLOAT *z,
LFLOAT *measure,
SE_SHAPE tgt_shape);
extern LONG SDEAPI SE_shape_generate_polygon
(LONG num_pts,
LONG num_parts,
LONG *part_offsets,
SE_POINT *point_array,
LFLOAT *z,
LFLOAT *measure,
SE_SHAPE tgt_shape);
extern LONG SDEAPI SE_shape_generate_rectangle
(SE_ENVELOPE *rect,
SE_SHAPE tgt_shape);
extern LONG SDEAPI SE_shape_generate_simple_line
(LONG num_pts,
LONG num_parts,
LONG *part_offsets,
SE_POINT *point_array,
LFLOAT *z,
LFLOAT *measure,
SE_SHAPE tgt_shape);
extern LONG SDEAPI SE_shape_get_3D_length (const SE_SHAPE shape,
LONG part_num,
LFLOAT *length);
extern LONG SDEAPI SE_shape_get_all_points (const SE_SHAPE shape,
SE_ROTATION_TYPE rotation,
LONG *part_offsets,
LONG *subpart_offsets,
SE_POINT *point_array,
LFLOAT *z,
LFLOAT *measure);
extern LONG SDEAPI SE_shape_get_anno (const SE_SHAPE shape,
SE_ANNO anno);
extern LONG SDEAPI SE_shape_get_area (const SE_SHAPE shape,
LONG part_num,
LFLOAT *area);
extern LONG SDEAPI SE_shape_get_coordref (const SE_SHAPE shape,
SE_COORDREF coordref);
extern LONG SDEAPI SE_shape_get_extent (const SE_SHAPE shape,
LONG part_num,
SE_ENVELOPE *extent);
extern LONG SDEAPI SE_shape_get_length (const SE_SHAPE shape,
LONG part_num,
LFLOAT *length);
extern LONG SDEAPI SE_shape_get_Mrange (const SE_SHAPE shape,
LONG part_num,
LFLOAT *mmin,
LFLOAT *mmax);
extern LONG SDEAPI SE_shape_get_num_parts (const SE_SHAPE shape,
LONG *num_parts,
LONG *num_subparts);
extern LONG SDEAPI SE_shape_get_num_points (const SE_SHAPE shape,
LONG part_num,
LONG subpart_num,
LONG *num_pts);
extern LONG SDEAPI SE_shape_get_num_subparts
(const SE_SHAPE shape,
LONG part_num,
LONG *num_subparts);
extern LONG SDEAPI SE_shape_get_points (const SE_SHAPE shape,
LONG part_num,
SE_ROTATION_TYPE rotation,
LONG *subpart_offsets,
SE_POINT *point_array,
LFLOAT *z,
LFLOAT *measure);
extern LONG SDEAPI SE_shape_get_type (const SE_SHAPE shape,
LONG *shape_type);
extern LONG SDEAPI SE_shape_get_Zrange (const SE_SHAPE shape,
LONG part_num,
LFLOAT *zmin,
LFLOAT *zmax);
extern BOOL SDEAPI SE_shape_has_anno (const SE_SHAPE shape);
extern LONG SDEAPI SE_shape_insert_part (const SE_SHAPE src_shape,
LONG part_num,
SE_SHAPE tgt_shape);
extern LONG SDEAPI SE_shape_interpolate_by_measures
(SE_SHAPE src_shape,
LFLOAT delta,
SE_SHAPE tgt_shape);
extern LONG SDEAPI SE_shape_intersect (const SE_SHAPE primary_shape,
const SE_SHAPE secondary_shape,
LONG *num_shapes,
SE_SHAPE **new_shapes);
extern BOOL SDEAPI SE_shape_is_3D (const SE_SHAPE shape);
extern BOOL SDEAPI SE_shape_is_containing (const SE_SHAPE primary_shape,
const SE_SHAPE secondary_shape);
extern BOOL SDEAPI SE_shape_is_crossing (const SE_SHAPE primary_shape,
const SE_SHAPE secondary_shape);
extern BOOL SDEAPI SE_shape_is_disjoint (const SE_SHAPE primary_shape,
const SE_SHAPE secondary_shape);
extern BOOL SDEAPI SE_shape_is_equal (const SE_SHAPE primary_shape,
const SE_SHAPE secondary_shape);
extern BOOL SDEAPI SE_shape_is_line (const SE_SHAPE shape);
extern BOOL SDEAPI SE_shape_is_measured (const SE_SHAPE shape);
extern BOOL SDEAPI SE_shape_is_multipart (const SE_SHAPE shape);
extern BOOL SDEAPI SE_shape_is_nil (const SE_SHAPE shape);
extern BOOL SDEAPI SE_shape_is_overlapping (const SE_SHAPE primary_shape,
const SE_SHAPE secondary_shape);
extern BOOL SDEAPI SE_shape_is_point (const SE_SHAPE shape);
extern BOOL SDEAPI SE_shape_is_polygon (const SE_SHAPE shape);
extern BOOL SDEAPI SE_shape_is_simple_line (const SE_SHAPE shape);
extern BOOL SDEAPI SE_shape_is_touching (const SE_SHAPE primary_shape,
const SE_SHAPE secondary_shape);
extern BOOL SDEAPI SE_shape_is_within (const SE_SHAPE primary_shape,
const SE_SHAPE secondary_shape);
extern LONG SDEAPI SE_shape_make_nil (SE_SHAPE shape);
extern LONG SDEAPI SE_shape_move_point (SE_SHAPE shape,
SE_SDEPOINT *from_pt,
SE_SDEPOINT *to_pt);
extern LONG SDEAPI SE_shape_overlay (const SE_SHAPE primary_shape,
const SE_SHAPE secondary_shape,
LONG *num_common_shapes,
SE_SHAPE primary_remainder,
SE_SHAPE **common_shapes,
SE_SHAPE secondary_remainder);
extern LONG SDEAPI SE_shape_replace_part (const SE_SHAPE src_shape,
LONG part_num,
SE_SHAPE tgt_shape);
extern LONG SDEAPI SE_shape_replace_path_with_arc
(SE_SHAPE shape,
SE_SDEPOINT *first_pt,
SE_SDEPOINT *mid_pt,
SE_SDEPOINT *last_pt,
LFLOAT radius,
LONG arc_segs);
extern LONG SDEAPI SE_shape_set_anno (SE_SHAPE shape,
const SE_ANNO anno);
extern LONG SDEAPI SE_shape_set_coordref (SE_SHAPE shape,
SE_COORDREF coordref);
extern LONG SDEAPI SE_shape_symmetrical_difference
(const SE_SHAPE primary_shape,
const SE_SHAPE secondary_shape,
SE_SHAPE tgt_shape);
extern LONG SDEAPI SE_shape_union (const SE_SHAPE primary_shape,
const SE_SHAPE secondary_shape,
SE_SHAPE result_shape);
/* Shape i/o functions */
extern LONG SDEAPI SE_shape_as_text (const SE_SHAPE shape,
LONG alloc_size,
CHAR *text_shape);
extern LONG SDEAPI SE_shape_generate_from_text
(const CHAR *text_shape,
SE_SHAPE shape);
extern LONG SDEAPI SE_shape_get_text_size (const SE_SHAPE shape,
LONG *size);
extern LONG SDEAPI SE_shape_as_WKB (const SE_SHAPE shape,
LONG alloc_size,
LONG *binary_size,
CHAR *WKB_type);
extern LONG SDEAPI SE_shape_generate_from_WKB
(const CHAR *WKB_type,
SE_SHAPE shape);
extern LONG SDEAPI SE_shape_get_WKB_size
(const SE_SHAPE shape,
LONG *size);
extern LONG SDEAPI SE_shape_as_binary (const SE_SHAPE shape,
LONG alloc_size,
LONG *binary_size,
CHAR *binary_type);
extern LONG SDEAPI SE_shape_generate_from_binary
(const CHAR *binary_type,
SE_SHAPE shape);
extern LONG SDEAPI SE_shape_get_binary_size
(const SE_SHAPE shape,
LONG *size);
/* Query shape source functions */
extern LONG SDEAPI SE_shapesource_create (SE_SHAPESOURCE *shapesource);
extern void SDEAPI SE_shapesource_free (SE_SHAPESOURCE shapesource);
extern LONG SDEAPI SE_shapesource_set_column (SE_SHAPESOURCE shapesource,
const CHAR *table,
const CHAR *column);
extern LONG SDEAPI SE_shapesource_set_envelope (SE_SHAPESOURCE shapesource,
const SE_ENVELOPE *envelope);
extern LONG SDEAPI SE_shapesource_set_id (SE_SHAPESOURCE shapesource,
const CHAR *table,
const CHAR *column,
const LONG shape_id);
extern LONG SDEAPI SE_shapesource_set_shape (SE_SHAPESOURCE shapesource,
const SE_SHAPE shape);
/* Query spatial constraint functions */
extern LONG SDEAPI SE_spatialconstraint_create
(SE_SPATIALCONSTRAINT *constraint);
extern void SDEAPI SE_spatialconstraint_free
(SE_SPATIALCONSTRAINT constraint);
extern LONG SDEAPI SE_spatialconstraint_set_entity_type
(SE_SPATIALCONSTRAINT constraint,
LONG entity_type);
extern LONG SDEAPI SE_spatialconstraint_set_shapesource
(SE_SPATIALCONSTRAINT constraint,
const SE_SHAPESOURCE primary_shapesrc);
extern LONG SDEAPI SE_spatialconstraint_set_predicate
(SE_SPATIALCONSTRAINT constraint,
LONG predicate,
const CHAR *predicate_spec,
const SE_SHAPESOURCE secondary_shapesrc);
/* Functions to manage spatial reference entries. */
extern LONG SDEAPI SE_spatialref_alter (SE_CONNECTION connection,
SE_SPATIALREFINFO spatialref);
extern LONG SDEAPI SE_spatialref_create (SE_CONNECTION connection,
SE_SPATIALREFINFO spatialref);
extern LONG SDEAPI SE_spatialref_delete (SE_CONNECTION connection,
LONG srid);
extern void SDEAPI SE_spatialref_free_info_list
(LONG count,
SE_SPATIALREFINFO *sref_list_addr);
extern LONG SDEAPI SE_spatialref_get_info (SE_CONNECTION connection,
LONG srid,
SE_SPATIALREFINFO spatialref);
extern LONG SDEAPI SE_spatialref_get_info_list
(SE_CONNECTION connection,
SE_SPATIALREFINFO **sref_list_addr,
LONG *count_addr);
/* Functions to access and set spatial reference object properties */
extern LONG SDEAPI SE_spatialrefinfo_create
(SE_SPATIALREFINFO *spatialref);
extern LONG SDEAPI SE_spatialrefinfo_duplicate
(const SE_SPATIALREFINFO src_sref,
SE_SPATIALREFINFO tgt_sref);
extern void SDEAPI SE_spatialrefinfo_free (SE_SPATIALREFINFO spatialref);
extern LONG SDEAPI SE_spatialrefinfo_get_auth_name
(const SE_SPATIALREFINFO spatialref,
CHAR *auth_name);
extern LONG SDEAPI SE_spatialrefinfo_get_auth_srid
(const SE_SPATIALREFINFO spatialref,
LONG *auth_srid);
extern LONG SDEAPI SE_spatialrefinfo_get_coordref
(const SE_SPATIALREFINFO spatialref,
SE_COORDREF coordref);
extern LONG SDEAPI SE_spatialrefinfo_get_description
(const SE_SPATIALREFINFO spatialref,
CHAR *description);
extern LONG SDEAPI SE_spatialrefinfo_get_srid
(const SE_SPATIALREFINFO spatialref,
LONG *srid);
extern LONG SDEAPI SE_spatialrefinfo_set_auth_name
(SE_SPATIALREFINFO spatialref,
const CHAR *auth_name);
extern LONG SDEAPI SE_spatialrefinfo_set_auth_srid
(SE_SPATIALREFINFO spatialref,
LONG auth_srid);
extern LONG SDEAPI SE_spatialrefinfo_set_coordref
(SE_SPATIALREFINFO spatialref,
SE_COORDREF coordref);
extern LONG SDEAPI SE_spatialrefinfo_set_description
(SE_SPATIALREFINFO spatialref,
const CHAR *description);
/* Shape table object functions */
extern LONG SDEAPI SE_stable_add_shape (SE_STABLE stable,
SE_SHAPE shape,
LONG user_id,
const void *associated);
extern LONG SDEAPI SE_stable_create (const SE_ENVELOPE *extent,
SE_COORDREF coordref,
SE_STABLE *stable);
extern LONG SDEAPI SE_stable_delete_shape (SE_STABLE stable,
LONG user_id);
extern void SDEAPI SE_stable_free (SE_STABLE stable);
extern LONG SDEAPI SE_stable_get_extent (SE_STABLE stable,
SE_ENVELOPE *extent);
extern LONG SDEAPI SE_stable_get_shape (SE_STABLE stable,
LONG user_id,
SE_SHAPE *shape_ptr,
const void **associatedptr);
extern LONG SDEAPI SE_stable_get_num_shapes (SE_STABLE stable);
extern LONG SDEAPI SE_stable_set_concurrency (SE_STABLE stable,
LONG policy);
extern LONG SDEAPI SE_stable_size (SE_STABLE stable);
extern LONG SDEAPI SE_stable_search (SE_STABLE stable,
SHORT num_filters,
const SE_FILTER *filters,
BOOL (*func)
(void *argument,
SE_SHAPE shape,
const LONG user_id,
const void *associated,
SHORT num_filters,
ULONG *search_masks),
void *argument);
/* State object functions */
extern LONG SDEAPI SE_state_close (SE_CONNECTION connection,
LONG state_id);
extern LONG SDEAPI SE_state_compress_tree
(SE_CONNECTION connection);
extern LONG SDEAPI SE_state_create (SE_CONNECTION connection,
const SE_STATEINFO state,
LONG parent_state_id,
SE_STATEINFO result_state);
extern LONG SDEAPI SE_state_delete (SE_CONNECTION connection,
LONG state_id);
extern LONG SDEAPI SE_state_delete_range
(SE_CONNECTION connection,
LONG low_state_id,
LONG high_state_id);
extern void SDEAPI SE_state_free_info_list
(LONG count,
SE_STATEINFO *state_list);
extern LONG SDEAPI SE_state_free_lock (SE_CONNECTION connection,
LONG state_id);
extern LONG SDEAPI SE_state_get_base_info (SE_CONNECTION connection,
LONG state_id,
SE_STATEINFO state);
extern LONG SDEAPI SE_state_get_info (SE_CONNECTION connection,
LONG state_id,
SE_STATEINFO state);
extern LONG SDEAPI SE_state_get_info_list
(SE_CONNECTION connection,
const CHAR *where_clause,
SE_STATEINFO **state_list,
LONG *count);
extern LONG SDEAPI SE_state_lock (SE_CONNECTION connection,
LONG state_id);
extern LONG SDEAPI SE_state_merge (SE_CONNECTION connection,
LONG parent_state_id,
LONG changes_state_id,
SE_STATEINFO merged_state);
extern LONG SDEAPI SE_state_new_edit (SE_CONNECTION connection,
const SE_STATEINFO state,
LONG parent_state_id,
SE_STATEINFO result_state);
extern LONG SDEAPI SE_state_open (SE_CONNECTION connection,
LONG state_id);
extern LONG SDEAPI SE_state_trim_tree (SE_CONNECTION connection,
LONG low_state_id,
LONG high_state_id);
/* Stateinfo object functions */
extern LONG SDEAPI SE_stateinfo_create (SE_STATEINFO *state);
extern LONG SDEAPI SE_stateinfo_duplicate
(const SE_STATEINFO src_state,
SE_STATEINFO tgt_state);
extern void SDEAPI SE_stateinfo_free (SE_STATEINFO state);
extern void SDEAPI SE_stateinfo_free_lineage
(LONG count,
LONG *lineage);
extern LONG SDEAPI SE_stateinfo_get_closing_time
(const SE_STATEINFO state,
struct tm *closing_time);
extern LONG SDEAPI SE_stateinfo_get_creation_time
(const SE_STATEINFO state,
struct tm *created_time);
extern LONG SDEAPI SE_stateinfo_get_id (const SE_STATEINFO state,
LONG *id);
extern LONG SDEAPI SE_stateinfo_get_lineage
(const SE_STATEINFO state,
LONG **lineage,
LONG *count);
extern LONG SDEAPI SE_stateinfo_get_owner
(const SE_STATEINFO state,
CHAR *owner);
extern LONG SDEAPI SE_stateinfo_get_parent
(const SE_STATEINFO state,
LONG *parent_id);
extern BOOL SDEAPI SE_stateinfo_is_open (const SE_STATEINFO state);
/* Stream object functions */
extern LONG SDEAPI SE_stream_bind_input_column (SE_STREAM stream,
SHORT column,
void *data,
SHORT *indicator);
extern LONG SDEAPI SE_stream_bind_output_column (SE_STREAM stream,
SHORT column,
void *data,
SHORT *indicator);
extern LONG SDEAPI SE_stream_calculate_layer_extent(SE_STREAM stream,
const SE_QUERYINFO query_info,
SE_ENVELOPE *e,
LFLOAT *minz,
LFLOAT *maxz);
extern LONG SDEAPI SE_stream_calculate_layer_statistics(SE_STREAM stream,
const SE_QUERYINFO query_info,
SE_LAYER_STATS *stats);
extern LONG SDEAPI SE_stream_calculate_table_statistics(SE_STREAM stream,
const CHAR *column,
LONG mask,
const SE_QUERYINFO query_info,
LONG max_distinct,
SE_STATS **stats);
extern LONG SDEAPI SE_stream_copy_state_rows (SE_STREAM stream,
const CHAR *table,
const LONG *row_id_list,
LONG row_id_count);
extern LONG SDEAPI SE_stream_create (SE_CONNECTION connection,
SE_STREAM *stream);
extern LONG SDEAPI SE_stream_describe_column (SE_STREAM stream,
SHORT column,
SE_COLUMN_DEF *column_def);
extern LONG SDEAPI SE_stream_execute (SE_STREAM stream);
extern LONG SDEAPI SE_stream_fetch (SE_STREAM stream);
extern LONG SDEAPI SE_stream_fetch_row (SE_STREAM stream,
const CHAR *table,
LONG sde_row_id,
SHORT num_columns,
const CHAR **columns);
extern LONG SDEAPI SE_stream_flush_buffered_writes(SE_STREAM stream);
extern LONG SDEAPI SE_stream_free (SE_STREAM stream);
extern LONG SDEAPI SE_stream_close (SE_STREAM stream,
BOOL reset);
extern LONG SDEAPI SE_stream_delete_from_table (SE_STREAM stream,
const CHAR *table,
const CHAR *where_clause);
extern LONG SDEAPI SE_stream_delete_by_id_list (SE_STREAM stream,
const CHAR *table,
LONG *id_list,
LONG id_count);
extern LONG SDEAPI SE_stream_delete_row (SE_STREAM stream,
const CHAR *table,
LONG sde_row_id);
extern LONG SDEAPI SE_stream_delete_table (SE_STREAM stream,
const CHAR *table,
const CHAR *where_clause);
extern LONG SDEAPI SE_stream_get_blob (SE_STREAM stream,
SHORT column,
SE_BLOB_INFO *blob_val);
extern LONG SDEAPI SE_stream_get_clob (SE_STREAM stream,
SHORT column,
SE_CLOB_INFO *clob_val);
extern LONG SDEAPI SE_stream_get_connection (SE_STREAM stream,
SE_CONNECTION *connection);
extern LONG SDEAPI SE_stream_get_double (SE_STREAM stream,
SHORT column,
LFLOAT *double_val);
extern LONG SDEAPI SE_stream_get_date (SE_STREAM stream,
SHORT column,
struct tm *date_val);
extern LONG SDEAPI SE_stream_get_ext_error (SE_STREAM stream,
SE_ERROR *error);
extern LONG SDEAPI SE_stream_get_float (SE_STREAM stream,
SHORT column,
FLOAT *float_val);
extern LONG SDEAPI SE_stream_get_int64 (SE_STREAM stream,
SHORT column,
SE_INT64 *int64_val);
extern LONG SDEAPI SE_stream_get_integer (SE_STREAM stream,
SHORT column,
LONG *int_val);
extern LONG SDEAPI SE_stream_get_nclob (SE_STREAM stream,
SHORT column,
SE_NCLOB_INFO *nclob_val);
extern LONG SDEAPI SE_stream_get_nstring (SE_STREAM stream,
SHORT column,
SE_WCHAR *string_val);
extern LONG SDEAPI SE_stream_get_shape (SE_STREAM stream,
SHORT column,
SE_SHAPE shape_val);
extern LONG SDEAPI SE_stream_get_smallint (SE_STREAM stream,
SHORT column,
SHORT *short_val);
extern LONG SDEAPI SE_stream_get_spatial_masks (SE_STREAM stream,
LONG *masks);
extern LONG SDEAPI SE_stream_get_string (SE_STREAM stream,
SHORT column,
CHAR *string_val);
extern LONG SDEAPI SE_stream_get_uuid (SE_STREAM stream,
SHORT column,
CHAR *uuid_val);
extern LONG SDEAPI SE_stream_get_xml (SE_STREAM stream,
SHORT column,
SE_XMLDOC xml_val);
extern LONG SDEAPI SE_stream_invoke_ssa (SE_STREAM stream,
BOOL query_stream,
SHORT num_inputs,
SE_INPUT_DESC *input_desc,
void **data,
const CHAR *ssaName);
extern LONG SDEAPI SE_stream_insert_into_file (SE_STREAM stream,
SE_FILEINFO fileinfo,
SHORT num_columns,
const CHAR **columns);
extern LONG SDEAPI SE_stream_insert_table (SE_STREAM stream,
const char *table,
SHORT num_columns,
const CHAR **columns);
extern LONG SDEAPI SE_stream_in_progress (SE_STREAM stream,
BOOL *in_progress);
extern LONG SDEAPI SE_stream_last_inserted_row_id (SE_STREAM stream,
LONG *last_row_id);
extern LONG SDEAPI SE_stream_locate_table (SE_STREAM stream,
const CHAR *table,
const CHAR *where,
SE_LOCATORINFO locator);
extern LONG SDEAPI SE_stream_locate_single (SE_STREAM stream,
SE_LOCATORINFO locator,
SHORT num_inputs,
const SE_INPUT_DESC *input_desc,
const void **inputs);
extern LONG SDEAPI SE_stream_num_result_columns (SE_STREAM stream,
SHORT *num_columns);
extern LONG SDEAPI SE_stream_prepare_sql (SE_STREAM stream,
const CHAR *sql_stmt);
extern LONG SDEAPI SE_stream_query (SE_STREAM stream,
SHORT num_columns,
const CHAR **columns,
const SE_SQL_CONSTRUCT *construct);
extern LONG SDEAPI SE_stream_query_from_file (SE_STREAM stream,
SE_FILEINFO fileinfo,
SHORT num_columns,
const CHAR **columns);
extern LONG SDEAPI SE_stream_query_logfile (SE_STREAM stream,
const CHAR *logfile,
SHORT num_columns,
const CHAR **columns,
const SE_SQL_CONSTRUCT *construct);
extern LONG SDEAPI SE_stream_query_with_info
(SE_STREAM stream,
const SE_QUERYINFO query_info);
extern LONG SDEAPI SE_stream_query_rowid_by_uuid
(SE_STREAM stream,
const CHAR *table,
const CHAR *uuid_column,
CHAR **uuid_array,
LONG num_uuids,
ULONG *not_found_bit_array,
SE_LOGINFO loginfo);
extern LONG SDEAPI SE_stream_restore_rows(SE_STREAM stream,
const CHAR *table,
const LONG *row_id_list,
LONG row_id_count);
extern LONG SDEAPI SE_stream_restore_rows_from_lineage_by_rowid
(SE_STREAM stream,
const CHAR *table,
LONG *rowid_list,
LONG row_id_count);
extern LONG SDEAPI SE_stream_set_blob (SE_STREAM stream,
SHORT column,
const SE_BLOB_INFO *blob_val);
extern LONG SDEAPI SE_stream_set_clob (SE_STREAM stream,
SHORT column,
const SE_CLOB_INFO *clob_val);
extern LONG SDEAPI SE_stream_set_date (SE_STREAM stream,
SHORT column,
const struct tm *date_val);
extern LONG SDEAPI SE_stream_set_double (SE_STREAM stream,
SHORT column,
const LFLOAT *double_val);
extern LONG SDEAPI SE_stream_set_float (SE_STREAM stream,
SHORT column,
const FLOAT *float_val);
extern LONG SDEAPI SE_stream_set_int64 (SE_STREAM stream,
SHORT column,
const SE_INT64 *int64_val);
extern LONG SDEAPI SE_stream_set_integer (SE_STREAM stream,
SHORT column,
const LONG *int_val);
extern LONG SDEAPI SE_stream_set_dynamic_bind
(SE_STREAM stream,
SHORT position,
LONG sde_type,
LONG length,
const void *data,
const SHORT *indicator);
extern LONG SDEAPI SE_stream_set_logfile (SE_STREAM stream,
SE_LOG log,
BOOL logfile_only);
extern LONG SDEAPI SE_stream_set_nclob (SE_STREAM stream,
SHORT column,
const SE_NCLOB_INFO *nclob_val);
extern LONG SDEAPI SE_stream_set_nstring (SE_STREAM stream,
SHORT column,
const SE_WCHAR *string_val);
extern LONG SDEAPI SE_stream_set_output_coordref (SE_STREAM stream,
const SE_COORDREF coordref,
const PE_GEOGTRAN geogtran);
extern LONG SDEAPI SE_stream_set_rowlocking
(SE_STREAM stream,
LONG rowlck_action);
extern LONG SDEAPI SE_stream_set_row (SE_STREAM stream,
const CHAR *table,
LONG sde_row_id,
SHORT num_columns,
const CHAR **columns);
extern LONG SDEAPI SE_stream_set_shape (SE_STREAM stream,
SHORT column,
const SE_SHAPE shape_val);
extern LONG SDEAPI SE_stream_set_smallint
(SE_STREAM stream,
SHORT column,
const SHORT *short_val);
extern LONG SDEAPI SE_stream_set_spatial_constraints
(SE_STREAM stream,
SHORT search_order,
BOOL calc_masks,
SHORT num_filters,
SE_FILTER *filters);
extern LONG SDEAPI SE_stream_set_ssa_filter
(SE_STREAM stream,
const CHAR *ssaName,
const CHAR *init_str);
extern LONG SDEAPI SE_stream_set_state (SE_STREAM stream,
LONG source_id,
LONG differences_id,
LONG difference_type);
extern LONG SDEAPI SE_stream_set_string (SE_STREAM stream,
SHORT column,
const CHAR *string_val);
extern LONG SDEAPI SE_stream_set_uuid (SE_STREAM stream,
SHORT column,
const CHAR *uuid_val);
extern LONG SDEAPI SE_stream_set_write_mode
(SE_STREAM stream,
BOOL buffered);
extern LONG SDEAPI SE_stream_set_invalidshape_mode(SE_STREAM stream,
BOOL fetchinvalid);
extern LONG SDEAPI SE_stream_get_invalidshape_mode(SE_STREAM stream,
BOOL *fetchinvalid);
extern LONG SDEAPI SE_stream_set_xml (SE_STREAM stream,
SHORT column,
const SE_XMLDOC xml_val);
extern LONG SDEAPI SE_stream_update_ordered (SE_STREAM stream,
const CHAR *table,
LONG *sde_row_id,
const LONG *id_list,
LONG id_count,
SHORT num_columns,
const CHAR **columns);
extern LONG SDEAPI SE_stream_update_row (SE_STREAM stream,
const CHAR *table,
LONG *sde_row_id,
SHORT num_columns,
const CHAR **columns);
extern LONG SDEAPI SE_stream_update_sdodim_table (SE_STREAM stream,
const CHAR *table_name);
extern LONG SDEAPI SE_stream_update_table
(SE_STREAM stream,
const char *table,
SHORT num_columns,
const CHAR **columns,
const CHAR *where);
/* Table object functions */
extern LONG SDEAPI SE_table_add_column (SE_CONNECTION connection,
const CHAR *table,
const SE_COLUMN_DEF *column_def);
extern LONG SDEAPI SE_table_add_uuid_column(SE_CONNECTION connection,
const CHAR *table,
const CHAR *column);
extern LONG SDEAPI SE_table_populate_uuid_column(SE_CONNECTION connection,
const CHAR *table,
const CHAR *column);
extern LONG SDEAPI SE_table_alter_column (SE_CONNECTION handle,
const CHAR *table,
SE_COLUMNINFO column);
extern LONG SDEAPI SE_table_create (SE_CONNECTION connection,
const CHAR *table,
SHORT num_columns,
const SE_COLUMN_DEF *column_defs,
const CHAR *config_keyword);
extern LONG SDEAPI SE_table_create_mv_view (SE_CONNECTION connection,
const CHAR *table,
const CHAR *im_view);
extern LONG SDEAPI SE_table_create_index (SE_CONNECTION connection,
const CHAR *table,
const CHAR *column,
BOOL unique,
BOOL ascending,
const CHAR *index_name,
const CHAR *config_keyword);
extern LONG SDEAPI SE_table_create_indexes (SE_CONNECTION connection,
const CHAR *table,
SHORT num_indexes,
SE_INDEX_DEF *index_defs,
const CHAR *config_keyword);
extern LONG SDEAPI SE_table_create_primarykey_constraint (
SE_CONNECTION handle,
const CHAR *table,
SHORT num_columns,
const CHAR **columns,
const CHAR *constraint_name,
const CHAR *config_keyword);
extern LONG SDEAPI SE_table_create_unique_constraint (
SE_CONNECTION handle,
const CHAR *table,
SHORT num_columns,
const CHAR **columns,
const CHAR *constraint_name,
const CHAR *config_keyword);
extern LONG SDEAPI SE_table_create_view (SE_CONNECTION connection,
const CHAR *view,
SHORT num_view_columns,
SHORT num_table_columns,
const CHAR **view_columns,
const CHAR **table_columns,
const SE_SQL_CONSTRUCT *construct);
extern LONG SDEAPI SE_table_delete_constraint(SE_CONNECTION handle,
const CHAR *table,
const CHAR *constraint_name);
extern LONG SDEAPI SE_table_delete_mv_view (SE_CONNECTION connection,
const CHAR *table);
extern LONG SDEAPI SE_table_delete_index (SE_CONNECTION connection,
const CHAR *table,
const CHAR *index_name);
extern LONG SDEAPI SE_table_delete (SE_CONNECTION connection,
const CHAR *table);
extern LONG SDEAPI SE_table_describe (SE_CONNECTION connection,
const CHAR *table,
SHORT *num_columns,
SE_COLUMN_DEF **column_defs);
extern LONG SDEAPI SE_table_describe_indexes (SE_CONNECTION connection,
const CHAR *table,
SHORT *num_indexes,
SE_INDEX_DEF **index_defs);
extern LONG SDEAPI SE_table_drop_column (SE_CONNECTION connection,
const CHAR *table,
const CHAR *column);
extern void SDEAPI SE_table_free_column_list (SHORT column_count,
SE_COLUMNINFO *column_list);
extern void SDEAPI SE_table_free_descriptions(SE_COLUMN_DEF *column_defs);
extern void SDEAPI SE_table_free_index_descriptions
(LONG count,
SE_INDEX_DEF *index_def);
extern void SDEAPI SE_table_free_list (LONG num_tables,
CHAR **tables);
extern LONG SDEAPI SE_table_free_lock (SE_CONNECTION connection,
const CHAR *table);
extern void SDEAPI SE_table_free_locks (SE_TABLE_LOCK *lock_list,
LONG lock_count);
extern void SDEAPI SE_table_free_stats (SE_STATS *stats);
extern LONG SDEAPI SE_table_get_column_list (SE_CONNECTION handle,
const CHAR *table,
SE_COLUMNINFO **column_list,
SHORT *column_count);
extern LONG SDEAPI SE_table_get_locks (SE_CONNECTION connection,
const CHAR *table,
LONG *num_locks,
SE_TABLE_LOCK **locks);
extern LONG SDEAPI SE_table_get_ids (SE_CONNECTION handle,
const CHAR *table,
LONG num_ids,
LONG *start_id,
LONG *id_count);
extern LONG SDEAPI SE_table_return_ids (SE_CONNECTION handle,
const CHAR *table,
LONG start_id,
LONG ids_returned);
extern LONG SDEAPI SE_table_get_mvedit_states (SE_CONNECTION handle,
const CHAR *table,
SE_STATEINFO **state_list,
LONG *count);
extern LONG SDEAPI SE_table_get_permissions(SE_CONNECTION connection,
const CHAR *table,
LONG *permissions);
extern LONG SDEAPI SE_table_grant_access (SE_CONNECTION connection,
const CHAR *table,
LONG privilege,
BOOL grant,
const CHAR *user);
extern LONG SDEAPI SE_table_list (SE_CONNECTION connection,
LONG permissions,
LONG *num_tables,
CHAR ***tables);
extern LONG SDEAPI SE_table_lock (SE_CONNECTION connection,
const CHAR *table,
LONG lock_mode);
extern LONG SDEAPI SE_table_make_qualified_name
(SE_CONNECTION handle,
const CHAR *database,
const CHAR *owner,
const CHAR *table,
const CHAR *column,
CHAR *qualified_name);
extern LONG SDEAPI SE_table_metadata_alter
(SE_CONNECTION handle,
const CHAR *table,
LONG record_count,
const SE_METADATAINFO *metadata_records);
extern LONG SDEAPI SE_table_metadata_add
(SE_CONNECTION handle,
const CHAR *table,
LONG record_count,
const SE_METADATAINFO *metadata_records);
extern LONG SDEAPI SE_table_metadata_delete (SE_CONNECTION handle,
const CHAR *table,
LONG record_count,
LONG *record_id_list);
extern LONG SDEAPI SE_table_metadata_delete_where
(SE_CONNECTION handle,
const CHAR *table,
const CHAR *where_clause);
extern void SDEAPI SE_table_metadata_free_info_list
(LONG record_count,
SE_METADATAINFO *metadata_list);
extern LONG SDEAPI SE_table_metadata_get_info_list
(SE_CONNECTION handle,
const CHAR *table,
SE_METADATAINFO **metadata_list,
LONG *record_count);
extern LONG SDEAPI SE_table_parse_qualified_name
(SE_CONNECTION handle,
const CHAR *qualified_name,
CHAR *database,
CHAR *owner,
CHAR *table,
CHAR *column,
BOOL iscolumn);
extern LONG SDEAPI SE_table_rebuild_index (SE_CONNECTION connection,
const CHAR *table,
LONG index_mask);
extern LONG SDEAPI SE_table_rename (SE_CONNECTION connection,
const CHAR *old_name,
const CHAR *new_name);
extern LONG SDEAPI SE_table_revoke_access(SE_CONNECTION connection,
const CHAR *table,
LONG privilege,
const CHAR *user);
extern LONG SDEAPI SE_table_truncate (SE_CONNECTION connection,
const CHAR *table);
extern LONG SDEAPI SE_table_update_dbms_stats (SE_CONNECTION connection,
const CHAR *table,
const CHAR *index,
const CHAR *mode,
const LONG keyword);
/* Table locator functions */
extern LONG SDEAPI SE_table_add_locator (SE_CONNECTION connection,
const CHAR *table,
const SE_LOCATORINFO locator);
extern LONG SDEAPI SE_table_delete_locator (SE_CONNECTION connection,
const CHAR *table,
const CHAR *locator_name);
extern LONG SDEAPI SE_table_get_locator_list (SE_CONNECTION connection,
const CHAR *table,
SE_LOCATORINFO **locator_list,
LONG *num_locators);
extern void SDEAPI SE_table_free_locator_list
(LONG num_locators,
SE_LOCATORINFO *locator_list);
extern LONG SDEAPI SE_table_locate (SE_CONNECTION handle,
SE_LOCATORINFO locator,
const CHAR *input_table,
const CHAR *where_clause,
LONG num_input_columns,
const CHAR **input_columns,
LONG num_key_columns,
const CHAR **key_columns,
LONG num_columns_to_copy,
const CHAR **columns_to_copy,
const CHAR *output_table,
const CHAR *config_keyword);
extern LONG SDEAPI SE_table_rematch (SE_CONNECTION connection,
SE_LOCATORINFO locator,
const CHAR *rematch_table,
const CHAR *where_clause);
/* Table Row lock functions */
extern LONG SDEAPI SE_table_add_rowlocks (SE_CONNECTION connection,
const CHAR *table,
LONG num_locks,
LONG *row_ID,
LONG state_ID,
LONG *failed_rowID);
extern LONG SDEAPI SE_table_remove_rowlocks (SE_CONNECTION connection,
const CHAR *table,
LONG num_locks,
LONG *row_ID,
LONG state_ID,
LONG *failed_rowID);
extern LONG SDEAPI SE_table_get_rowlocks (SE_CONNECTION connection,
const CHAR *table,
LONG *num_locks,
LONG **row_ID,
CHAR ***user_names );
extern LONG SDEAPI SE_table_get_rowlocks_by_user
(SE_CONNECTION connection,
const CHAR *table,
const CHAR *user_name,
LONG *num_locks,
LONG **row_ID );
extern void SDEAPI SE_table_free_rowlocks_list
(LONG num_locks,
LONG *row_ID,
CHAR **user_name );
/* See also SE_stream_set_rowlocking() */
/* Obsolete table function(s). */
extern LONG SDEAPI SE_table_calculate_stats
(SE_CONNECTION connection,
const CHAR *column,
LONG mask,
const SE_SQL_CONSTRUCT *construct,
LONG max_distinct,
SE_STATS **stats);
/* Trace environment functions */
extern LONG SDEAPI SE_trace_on (const CHAR *trace_log_name,
CHAR *trace_options);
extern LONG SDEAPI SE_trace_off (void);
/* Transforminfo object functions */
extern LONG SDEAPI SE_transforminfo_create (SE_TRANSFORMINFO *transform,
LONG type);
extern void SDEAPI SE_transforminfo_free (SE_TRANSFORMINFO transform);
extern LONG SDEAPI SE_transforminfo_duplicate
(const SE_TRANSFORMINFO src_xform,
SE_TRANSFORMINFO tgt_xform);
extern LONG SDEAPI SE_transforminfo_get_name
(const SE_TRANSFORMINFO transform,
CHAR *name);
extern LONG SDEAPI SE_transforminfo_set_name
(SE_TRANSFORMINFO transform,
const CHAR *name);
extern LONG SDEAPI SE_transforminfo_get_type
(const SE_TRANSFORMINFO transform,
SE_TRANSFORM_TYPE *type);
extern LONG SDEAPI SE_transforminfo_get_coordsys
(const SE_TRANSFORMINFO transform,
PE_COORDSYS *cs);
extern LONG SDEAPI SE_transforminfo_get_geogtran
(const SE_TRANSFORMINFO transform,
PE_GEOGTRAN *geogtran);
extern LONG SDEAPI SE_transforminfo_set_coordsys
(SE_TRANSFORMINFO transform,
const PE_COORDSYS cs);
extern LONG SDEAPI SE_transforminfo_set_geogtran
(SE_TRANSFORMINFO transform,
const PE_GEOGTRAN geogtran);
extern LONG SDEAPI SE_transforminfo_get_polynomial
(const SE_TRANSFORMINFO transform,
SE_POLYNOMIAL_TYPE *type,
LFLOAT **poly);
extern LONG SDEAPI SE_transforminfo_set_polynomial
(SE_TRANSFORMINFO transform,
SE_POLYNOMIAL_TYPE type,
const LFLOAT *poly);
extern LONG SDEAPI SE_transforminfo_get_custom
(const SE_TRANSFORMINFO transform,
LONG *type,
LONG *length,
void **data);
extern LONG SDEAPI SE_transforminfo_set_custom
(SE_TRANSFORMINFO transform,
LONG type,
LONG length,
const void *data);
/* UUID generation functions. */
extern LONG SDEAPI SE_uuidgenerator_create (SE_UUIDGENERATOR *uuid_generator);
extern void SDEAPI SE_uuidgenerator_free (SE_UUIDGENERATOR uuid_generator);
extern LONG SDEAPI SE_uuidgenerator_get_uuids (SE_UUIDGENERATOR uuid_generator,
LONG uuid_count,
CHAR ***uuid_list);
extern void SDEAPI SE_uuidgenerator_free_uuids (CHAR **uuid_list,
LONG uuid_count);
/* Version object functions */
extern LONG SDEAPI SE_version_alter (SE_CONNECTION connection,
const SE_VERSIONINFO version);
extern LONG SDEAPI SE_version_change_state
(SE_CONNECTION connection,
const SE_VERSIONINFO version,
LONG new_state_id);
extern LONG SDEAPI SE_version_create (SE_CONNECTION connection,
const SE_VERSIONINFO version,
BOOL unique_name,
SE_VERSIONINFO result_version);
extern LONG SDEAPI SE_version_delete (SE_CONNECTION connection,
const CHAR *name);
extern void SDEAPI SE_version_free_info_list
(LONG count,
SE_VERSIONINFO *version_list);
extern LONG SDEAPI SE_version_free_lock (SE_CONNECTION connection,
const CHAR *version_name);
extern void SDEAPI SE_version_free_locks (SE_VERSION_LOCK *lock_list,
LONG lock_count);
extern LONG SDEAPI SE_version_get_info (SE_CONNECTION connection,
const CHAR *version_name,
SE_VERSIONINFO version);
extern LONG SDEAPI SE_version_get_info_by_id
(SE_CONNECTION connection,
LONG version_id,
SE_VERSIONINFO version);
extern LONG SDEAPI SE_version_get_info_list
(SE_CONNECTION connection,
const CHAR *where_clause,
SE_VERSIONINFO **version_list,
LONG *count);
extern LONG SDEAPI SE_version_get_locks (SE_CONNECTION connection,
const CHAR *version_names,
LONG *num_locks,
SE_VERSION_LOCK **locks);
extern LONG SDEAPI SE_version_lock (SE_CONNECTION connection,
const CHAR *version_name,
LONG lock_mode);
extern LONG SDEAPI SE_version_rename (SE_CONNECTION connection,
const CHAR *old_name,
const CHAR *new_name);
/* Versioninfo object functions */
extern LONG SDEAPI SE_versioninfo_create(SE_VERSIONINFO *version);
extern LONG SDEAPI SE_versioninfo_duplicate
(const SE_VERSIONINFO src_version,
SE_VERSIONINFO tgt_version);
extern void SDEAPI SE_versioninfo_free (SE_VERSIONINFO version);
extern LONG SDEAPI SE_versioninfo_get_access
(const SE_VERSIONINFO version,
LONG *access);
extern LONG SDEAPI SE_versioninfo_get_creation_time
(const SE_VERSIONINFO version,
struct tm *created_time);
extern LONG SDEAPI SE_versioninfo_get_description
(const SE_VERSIONINFO version,
CHAR *description);
extern LONG SDEAPI SE_versioninfo_get_id (const SE_VERSIONINFO version,
LONG *version_id);
extern LONG SDEAPI SE_versioninfo_get_name
(const SE_VERSIONINFO version,
CHAR *name);
extern LONG SDEAPI SE_versioninfo_get_parent_id
(const SE_VERSIONINFO version,
LONG *parent_id);
extern LONG SDEAPI SE_versioninfo_get_parent_name
(const SE_VERSIONINFO version,
CHAR *parent_name);
extern LONG SDEAPI SE_versioninfo_get_state_id
(const SE_VERSIONINFO version,
LONG *state_id);
extern LONG SDEAPI SE_versioninfo_set_access
(SE_VERSIONINFO version,
LONG access);
extern LONG SDEAPI SE_versioninfo_set_description
(SE_VERSIONINFO version,
const CHAR *description);
extern LONG SDEAPI SE_versioninfo_set_name
(SE_VERSIONINFO version,
const CHAR *name);
extern LONG SDEAPI SE_versioninfo_set_parent_name
(SE_VERSIONINFO version,
const CHAR *parent_name);
extern LONG SDEAPI SE_versioninfo_set_state_id
(SE_VERSIONINFO version,
LONG state_id);
/* XMLCOLUMN object functions */
extern LONG SDEAPI SE_xmlcolumn_alter (SE_CONNECTION handle,
const SE_XMLCOLUMNINFO xmlcolumn);
extern LONG SDEAPI SE_xmlcolumn_create (SE_CONNECTION handle,
const SE_XMLCOLUMNINFO xmlcolumn);
extern LONG SDEAPI SE_xmlcolumn_delete (SE_CONNECTION handle,
const CHAR *table,
const CHAR *column);
extern LONG SDEAPI SE_xmlcolumn_get_info (SE_CONNECTION handle,
const CHAR *table,
const CHAR *column,
SE_XMLCOLUMNINFO xmlcolumn);
/* XMLCOLUMNINFO object functions */
extern LONG SDEAPI SE_xmlcolumninfo_create (
SE_XMLCOLUMNINFO *xmlcolumn);
extern void SDEAPI SE_xmlcolumninfo_free (
SE_XMLCOLUMNINFO xmlcolumn);
extern LONG SDEAPI SE_xmlcolumninfo_get_creation_keyword (
const SE_XMLCOLUMNINFO xmlcolumn,
CHAR *config_keyword);
extern LONG SDEAPI SE_xmlcolumninfo_get_index (
const SE_XMLCOLUMNINFO xmlcolumn,
SE_XMLINDEXINFO index);
extern LONG SDEAPI SE_xmlcolumninfo_get_id (
const SE_XMLCOLUMNINFO xmlcolumn,
LONG *xmlcolumn_id);
extern LONG SDEAPI SE_xmlcolumninfo_get_minimum_id (
const SE_XMLCOLUMNINFO xmlcolumn,
LONG *minimum_id);
extern LONG SDEAPI SE_xmlcolumninfo_get_xml_column (
const SE_XMLCOLUMNINFO xmlcolumn,
CHAR *table,
CHAR *column_name);
extern BOOL SDEAPI SE_xmlcolumninfo_has_index (
const SE_XMLCOLUMNINFO xmlcolumn);
extern LONG SDEAPI SE_xmlcolumninfo_set_creation_keyword (
SE_XMLCOLUMNINFO xmlcolumn,
const CHAR *config_keyword);
extern LONG SDEAPI SE_xmlcolumninfo_set_index (
SE_XMLCOLUMNINFO xmlcolumn,
const SE_XMLINDEXINFO index);
extern LONG SDEAPI SE_xmlcolumninfo_set_minimum_id (
SE_XMLCOLUMNINFO xmlcolumn,
LONG minimum_id);
extern LONG SDEAPI SE_xmlcolumninfo_set_xml_column (
SE_XMLCOLUMNINFO xmlcolumn,
const CHAR *table,
const CHAR *column_name);
/* Query XML constraint object functions */
extern LONG SDEAPI SE_xmlconstraint_create (
SE_XMLCONSTRAINT *constraint);
extern void SDEAPI SE_xmlconstraint_free (
SE_XMLCONSTRAINT constraint);
extern LONG SDEAPI SE_xmlconstraint_set_xml_column (
SE_XMLCONSTRAINT constraint,
const CHAR *table,
const CHAR *column);
extern LONG SDEAPI SE_xmlconstraint_set_xpath_constraint
(SE_XMLCONSTRAINT constraint,
const CHAR *xpath_expr);
/* XMLDOC object functions */
extern LONG SDEAPI SE_xmldoc_create (SE_XMLDOC *xml_doc);
extern void SDEAPI SE_xmldoc_free (SE_XMLDOC xml_doc);
extern LONG SDEAPI SE_xmldoc_get_length (const SE_XMLDOC xml_doc,
LONG *length);
extern LONG SDEAPI SE_xmldoc_get_text (const SE_XMLDOC xml_doc,
void *text);
extern LONG SDEAPI SE_xmldoc_set_text (SE_XMLDOC xml_doc,
LONG num_bytes,
const void *text);
/* XML index functions */
extern LONG SDEAPI SE_xmlindex_alter_template (SE_CONNECTION handle,
const SE_XMLINDEXINFO xml_index);
extern LONG SDEAPI SE_xmlindex_create_template (SE_CONNECTION handle,
const SE_XMLINDEXINFO xml_index);
extern LONG SDEAPI SE_xmlindex_delete_template (SE_CONNECTION handle,
const CHAR *index_name);
extern LONG SDEAPI SE_xmlindex_update_text_index (SE_CONNECTION handle,
const CHAR *table,
const CHAR *column);
extern void SDEAPI SE_xmlindex_free_info_list (LONG count,
SE_XMLINDEXINFO *xml_index_list);
extern LONG SDEAPI SE_xmlindex_get_info (SE_CONNECTION handle,
const CHAR *index_name,
SE_XMLINDEXINFO xml_index);
extern LONG SDEAPI SE_xmlindex_get_info_list (SE_CONNECTION handle,
SE_XMLINDEXINFO **xml_index_list,
LONG *count_addr);
/* XMLINDEXINFO object functions */
extern LONG SDEAPI SE_xmlindexinfo_add_tag (SE_XMLINDEXINFO xml_index,
const SE_XMLTAGINFO tag);
extern LONG SDEAPI SE_xmlindexinfo_create (SE_XMLINDEXINFO *xml_index);
extern LONG SDEAPI SE_xmlindexinfo_delete_tags (SE_XMLINDEXINFO xml_index);
extern void SDEAPI SE_xmlindexinfo_free (SE_XMLINDEXINFO xml_index);
extern LONG SDEAPI SE_xmlindexinfo_get_description (
const SE_XMLINDEXINFO xml_index,
CHAR *description);
extern LONG SDEAPI SE_xmlindexinfo_get_name (const SE_XMLINDEXINFO xml_index,
CHAR *name);
extern LONG SDEAPI SE_xmlindexinfo_get_tags (const SE_XMLINDEXINFO xml_index,
LONG *num_tags,
SE_XMLTAGINFO **tags);
extern LONG SDEAPI SE_xmlindexinfo_get_type (const SE_XMLINDEXINFO xml_index,
LONG *index_type);
extern LONG SDEAPI SE_xmlindexinfo_generate_from_doc(
SE_CONNECTION handle,
SE_XMLINDEXINFO xml_index,
const SE_XMLDOC xml_doc);
extern LONG SDEAPI SE_xmlindexinfo_set_description(
SE_XMLINDEXINFO xml_index,
const CHAR *description);
extern LONG SDEAPI SE_xmlindexinfo_set_name (SE_XMLINDEXINFO xml_index,
const CHAR *name);
extern LONG SDEAPI SE_xmlindexinfo_set_type (SE_XMLINDEXINFO xml_index,
LONG index_type);
/* XMLTAGINFO object functions */
extern LONG SDEAPI SE_xmltaginfo_create (SE_XMLTAGINFO *xml_tag);
extern void SDEAPI SE_xmltaginfo_free (SE_XMLTAGINFO xml_tag);
extern void SDEAPI SE_xmltaginfo_free_array (LONG num_tags,
SE_XMLTAGINFO *tags);
extern LONG SDEAPI SE_xmltaginfo_get_alias (const SE_XMLTAGINFO xml_tag,
LONG *alias);
extern LONG SDEAPI SE_xmltaginfo_get_data_type (const SE_XMLTAGINFO xml_tag,
LONG *data_type);
extern LONG SDEAPI SE_xmltaginfo_get_description
(const SE_XMLTAGINFO xml_tag,
CHAR *description);
extern LONG SDEAPI SE_xmltaginfo_get_name (const SE_XMLTAGINFO xml_tag,
CHAR *name);
extern BOOL SDEAPI SE_xmltaginfo_is_excluded (const SE_XMLTAGINFO xml_tag);
extern LONG SDEAPI SE_xmltaginfo_set_alias (SE_XMLTAGINFO xml_tag,
LONG alias);
extern LONG SDEAPI SE_xmltaginfo_set_data_type (SE_XMLTAGINFO xml_tag,
LONG data_type);
extern LONG SDEAPI SE_xmltaginfo_set_description (SE_XMLTAGINFO xml_tag,
const CHAR *description);
extern LONG SDEAPI SE_xmltaginfo_set_exclusion (SE_XMLTAGINFO xml_tag,
BOOL is_excluded);
extern LONG SDEAPI SE_xmltaginfo_set_name (SE_XMLTAGINFO xml_tag,
const CHAR *name);
/* Server Information object functions */
extern LONG SDEAPI SE_serverconfig_get_info (SE_CONNECTION handle,
SE_SERVERINFO svrInfo);
extern LONG SDEAPI SE_serverconfig_alter (SE_CONNECTION handle,
const SE_SERVERINFO svrInfo,
SE_SVR_CONFIG_ERR *svr_conf_err_data);
extern LONG SDEAPI SE_serverinfo_create (SE_SERVERINFO *svrInfo);
extern void SDEAPI SE_serverinfo_free (SE_SERVERINFO svrInfo);
extern LONG SDEAPI SE_serverinfo_get_tempdir (const SE_SERVERINFO svrInfo,
CHAR *tempdir);
extern LONG SDEAPI SE_serverinfo_set_tempdir (SE_SERVERINFO svrInfo,
const CHAR *tempdir);
extern LONG SDEAPI SE_serverinfo_get_maxconnections(const SE_SERVERINFO svrInfo,
LONG *conns);
extern LONG SDEAPI SE_serverinfo_set_maxconnections(SE_SERVERINFO svrInfo,
LONG conns);
extern LONG SDEAPI SE_serverinfo_get_minbufsize (const SE_SERVERINFO svrInfo,
LONG *bufsize);
extern LONG SDEAPI SE_serverinfo_set_minbufsize (SE_SERVERINFO svrInfo,
LONG bufsize);
extern LONG SDEAPI SE_serverinfo_get_maxbufsize (const SE_SERVERINFO svrInfo,
LONG *bufsize);
extern LONG SDEAPI SE_serverinfo_set_maxbufsize (SE_SERVERINFO svrInfo,
LONG bufsize);
extern LONG SDEAPI SE_serverinfo_get_minbufobjects (const SE_SERVERINFO svrInfo,
LONG *bufobjects);
extern LONG SDEAPI SE_serverinfo_set_minbufobjects (SE_SERVERINFO svrInfo,
LONG bufobjects);
extern LONG SDEAPI SE_serverinfo_get_maxblobsize (const SE_SERVERINFO svrInfo,
LONG *blobsize);
extern LONG SDEAPI SE_serverinfo_set_maxblobsize (SE_SERVERINFO svrInfo,
LONG blobsize);
extern LONG SDEAPI SE_serverinfo_get_blobmem (const SE_SERVERINFO svrInfo,
LONG *blobmem);
extern LONG SDEAPI SE_serverinfo_set_blobmem (SE_SERVERINFO svrInfo,
LONG blobmem);
extern LONG SDEAPI SE_serverinfo_get_autocommit (const SE_SERVERINFO svrInfo,
LONG *autocommit);
extern LONG SDEAPI SE_serverinfo_set_autocommit (SE_SERVERINFO svrInfo,
LONG autocommit);
extern LONG SDEAPI SE_serverinfo_get_maxinitialfeats(const SE_SERVERINFO svrInfo,
LONG *initfeats);
extern LONG SDEAPI SE_serverinfo_set_maxinitialfeats(SE_SERVERINFO svrInfo,
LONG initfeats);
extern LONG SDEAPI SE_serverinfo_get_maxdistinct (const SE_SERVERINFO svrInfo,
LONG *distinct);
extern LONG SDEAPI SE_serverinfo_set_maxdistinct (SE_SERVERINFO svrInfo,
LONG distinct);
extern LONG SDEAPI SE_serverinfo_get_streampoolsize(const SE_SERVERINFO svrInfo,
LONG *streampool);
extern LONG SDEAPI SE_serverinfo_set_streampoolsize(SE_SERVERINFO svrInfo,
LONG streampool);
extern LONG SDEAPI SE_serverinfo_get_shapeptsbufsize(const SE_SERVERINFO svrInfo,
LONG *ptsbufsize);
extern LONG SDEAPI SE_serverinfo_set_shapeptsbufsize(SE_SERVERINFO svrInfo,
LONG ptsbufsize);
extern LONG SDEAPI SE_serverinfo_get_attrbufsize (const SE_SERVERINFO svrInfo,
LONG *attrbuf);
extern LONG SDEAPI SE_serverinfo_set_attrbufsize (SE_SERVERINFO svrInfo,
LONG attrbuf);
extern LONG SDEAPI SE_serverinfo_get_rasterbufsize (const SE_SERVERINFO svrInfo,
LONG *rasterbuf);
extern LONG SDEAPI SE_serverinfo_set_rasterbufsize (SE_SERVERINFO svrInfo,
LONG rasterbuf);
extern LONG SDEAPI SE_serverinfo_get_maxarraysize (const SE_SERVERINFO svrInfo,
LONG *maxarray);
extern LONG SDEAPI SE_serverinfo_set_maxarraysize (SE_SERVERINFO svrInfo,
LONG maxarray);
extern LONG SDEAPI SE_serverinfo_get_maxarraybytes (const SE_SERVERINFO svrInfo,
LONG *arraybytes);
extern LONG SDEAPI SE_serverinfo_set_maxarraybytes (SE_SERVERINFO svrInfo,
LONG arraybytes);
extern LONG SDEAPI SE_serverinfo_get_maxtimediff (const SE_SERVERINFO svrInfo,
LONG *timediff);
extern LONG SDEAPI SE_serverinfo_set_maxtimediff (SE_SERVERINFO svrInfo,
LONG timediff);
extern LONG SDEAPI SE_serverinfo_get_stateautolocking
(const SE_SERVERINFO svrInfo,
BOOL *stateautolock);
extern LONG SDEAPI SE_serverinfo_set_stateautolocking
(SE_SERVERINFO svrInfo,
BOOL stateautolock);
extern LONG SDEAPI SE_serverinfo_get_tcpkeepalive (const SE_SERVERINFO svrInfo,
BOOL *tcpkeepalive);
extern LONG SDEAPI SE_serverinfo_set_tcpkeepalive (SE_SERVERINFO svrInfo,
BOOL tcpkeepalive);
extern LONG SDEAPI SE_serverinfo_get_readonly (const SE_SERVERINFO svrInfo,
BOOL *readonly);
extern LONG SDEAPI SE_serverinfo_set_readonly (SE_SERVERINFO svrInfo,
BOOL readonly);
extern LONG SDEAPI SE_serverinfo_get_defaultprecision
(const SE_SERVERINFO svrInfo,
LONG *precision);
extern LONG SDEAPI SE_serverinfo_set_defaultprecision
(SE_SERVERINFO svrInfo,
LONG precision);
extern LONG SDEAPI SE_serverinfo_get_tlm_interval
(const SE_SERVERINFO svrInfo,
LONG *tlm_interval);
extern LONG SDEAPI SE_serverinfo_set_tlm_interval
(SE_SERVERINFO svrInfo,
LONG tlm_interval);
extern LONG SDEAPI SE_serverinfo_get_sessionlogpoolsize
(const SE_SERVERINFO svrInfo,
LONG *sessionlogpoolsize);
extern LONG SDEAPI SE_serverinfo_set_sessionlogpoolsize
(SE_SERVERINFO svrInfo,
LONG sessionlogpoolsize);
extern LONG SDEAPI SE_serverinfo_get_maxstandalonelogs
(const SE_SERVERINFO svrInfo,
LONG *maxstandalonelogs);
extern LONG SDEAPI SE_serverinfo_set_maxstandalonelogs
(SE_SERVERINFO svrInfo,
LONG maxstandalonelogs);
extern LONG SDEAPI SE_serverinfo_get_allowsessionlogfile
(const SE_SERVERINFO svrInfo,
BOOL *allowsessionlogfile);
extern LONG SDEAPI SE_serverinfo_set_allowsessionlogfile
(SE_SERVERINFO svrInfo,
BOOL allowsessionlogfile);
extern LONG SDEAPI SE_serverinfo_get_holdlogpooltables
(const SE_SERVERINFO svrInfo,
BOOL *holdlogpooltables);
extern LONG SDEAPI SE_serverinfo_set_holdlogpooltables
(SE_SERVERINFO svrInfo,
BOOL holdlogpooltables);
extern LONG SDEAPI SE_serverinfo_get_largeidblock
(const SE_SERVERINFO svrInfo,
LONG *LargeIdBlock);
extern LONG SDEAPI SE_serverinfo_set_largeidblock
(SE_SERVERINFO svrInfo,
LONG LargeIdBlock);
extern LONG SDEAPI SE_serverinfo_get_smallidblock
(const SE_SERVERINFO svrInfo,
LONG *SmallIdBlock);
extern LONG SDEAPI SE_serverinfo_set_smallidblock
(SE_SERVERINFO svrInfo,
LONG SmallIdBlock);
extern LONG SDEAPI SE_serverinfo_get_procstats
(const SE_SERVERINFO svrInfo,
LONG *Procstats);
extern LONG SDEAPI SE_serverinfo_set_procstats
(SE_SERVERINFO svrInfo,
LONG Procstats);
extern LONG SDEAPI SE_serverinfo_get_precision10
(const SE_SERVERINFO svrInfo,
BOOL *Precision10);
extern LONG SDEAPI SE_serverinfo_set_precision10
(SE_SERVERINFO svrInfo,
BOOL Precision10);
extern LONG SDEAPI SE_serverinfo_get_detect8Xnullshape
(const SE_SERVERINFO svrInfo,
BOOL *Detect8XNullShape);
extern LONG SDEAPI SE_serverinfo_set_detect8Xnullshape
(SE_SERVERINFO svrInfo,
BOOL Detect8XNullShape);
extern LONG SDEAPI SE_serverinfo_get_disableautoreg
(const SE_SERVERINFO svrInfo,
BOOL *DisableAutoReg);
extern LONG SDEAPI SE_serverinfo_set_disableautoreg
(SE_SERVERINFO svrInfo,
BOOL DisableAutoReg);
extern LONG SDEAPI SE_serverinfo_get_errlogmode
(const SE_SERVERINFO svrInfo,
LONG *ErrlogMode);
extern LONG SDEAPI SE_serverinfo_set_errlogmode
(SE_SERVERINFO svrInfo,
LONG ErrlogMode);
extern LONG SDEAPI SE_serverinfo_get_layerautolocking
(const SE_SERVERINFO svrInfo,
BOOL *layerautolock);
extern LONG SDEAPI SE_serverinfo_set_layerautolocking
(SE_SERVERINFO svrInfo,
BOOL layerautolock);
extern LONG SDEAPI SE_serverinfo_get_int64types
(const SE_SERVERINFO svrInfo,
BOOL *int64types);
extern LONG SDEAPI SE_serverinfo_set_int64types
(SE_SERVERINFO svrInfo,
BOOL int64types);
/**** BEGIN OBSOLETE FUNCTIONS. ****/
extern void SDEAPI SE_queryinfo_free_columns (CHAR **columns);
extern void SDEAPI SE_queryinfo_free_tables (CHAR **tables);
extern LONG SDEAPI SE_queryinfo_get_columns (const SE_QUERYINFO query_info,
LONG *num_columns,
CHAR ***columns);
extern LONG SDEAPI SE_queryinfo_get_entity_type
(const SE_QUERYINFO query_info,
LONG *entity_type);
extern LONG SDEAPI SE_queryinfo_get_logfile (const SE_QUERYINFO query_info,
CHAR *logfile);
extern LONG SDEAPI SE_queryinfo_get_by_clause (const SE_QUERYINFO query_info,
CHAR *order_by);
extern LONG SDEAPI SE_queryinfo_get_query_type(const SE_QUERYINFO query_info,
LONG *query_type);
extern LONG SDEAPI SE_queryinfo_get_tables (const SE_QUERYINFO query_info,
LONG *num_tables,
CHAR ***tables);
extern LONG SDEAPI SE_queryinfo_get_where_clause
(const SE_QUERYINFO query_info,
CHAR *where_clause);
extern LONG SDEAPI SE_queryinfo_set_columns (SE_QUERYINFO query_info,
const LONG num_columns,
const CHAR **columns);
extern LONG SDEAPI SE_queryinfo_set_dynamic_bind
(SE_QUERYINFO query_info,
SHORT position,
LONG sde_type,
LONG length,
const void *data,
const SHORT *indicator);
extern LONG SDEAPI SE_queryinfo_set_entity_type
(SE_QUERYINFO query_info,
const LONG entity_type);
extern LONG SDEAPI SE_queryinfo_set_by_clause (SE_QUERYINFO query_info,
const CHAR *order_by);
extern LONG SDEAPI SE_queryinfo_set_query_type(SE_QUERYINFO query_info,
const LONG query_type);
extern LONG SDEAPI SE_queryinfo_set_tables (SE_QUERYINFO query_info,
const LONG num_tables,
const CHAR **tables,
const CHAR **aliases);
extern LONG SDEAPI SE_queryinfo_set_where_clause
(SE_QUERYINFO query_info,
const CHAR *where_clause);
extern LONG SDEAPI SE_queryinfo_set_xpath_constraint (SE_QUERYINFO query_info,
const CHAR *table,
const CHAR *column,
const CHAR *xpath_expr);
extern LONG SDEAPI SE_queryinfo_duplicate (const SE_QUERYINFO src_queryinfo,
SE_QUERYINFO tgt_queryinfo);
/**** END OF OBSOLETE FUNCTIONS. DO NOT ADD BELOW THIS LINE. ****/
#ifdef __cplusplus
};
#endif
#endif