~ubuntu-branches/ubuntu/hardy/libterralib/hardy

« back to all changes in this revision

Viewing changes to src/terralib/drivers/OracleSpatial/OCI/include/odci.h

  • Committer: Bazaar Package Importer
  • Author(s): Daniel T Chen
  • Date: 2005-11-25 22:32:59 UTC
  • Revision ID: james.westby@ubuntu.com-20051125223259-3zubal8ux4ki4fjg
Tags: upstream-3.0.3b2
ImportĀ upstreamĀ versionĀ 3.0.3b2

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*
 
2
 * $Header: /home/terralib/src/terralib/drivers/OracleSpatial/OCI/include/odci.h,v 1.3 2005/05/06 16:48:56 karine Exp $
 
3
 */
 
4
 
 
5
/* Copyright (c) 1998, 2003, Oracle Corporation.  All rights reserved.  */
 
6
 
 
7
/* 
 
8
   NAME 
 
9
     odci.h - Oracle Data Cartridge Interface definitions
 
10
 
 
11
   DESCRIPTION 
 
12
     This file contains Oracle Data Cartridge Interface definitions. These
 
13
     include the ODCI Types and Constants.
 
14
 
 
15
   RELATED DOCUMENTS 
 
16
 
 
17
   INSPECTION STATUS 
 
18
     Inspection date: 
 
19
     Inspection status: 
 
20
     Estimated increasing cost defects per page: 
 
21
     Rule sets: 
 
22
 
 
23
   ACCEPTANCE REVIEW STATUS 
 
24
     Review date: 
 
25
     Review status: 
 
26
     Reviewers: 
 
27
 
 
28
   PUBLIC FUNCTION(S) 
 
29
     None.
 
30
 
 
31
   PRIVATE FUNCTION(S)
 
32
     None.
 
33
 
 
34
   EXAMPLES
 
35
 
 
36
   NOTES
 
37
     - The constants defined here are replica of the constants defined 
 
38
       in ODCIConst Package defined as part of catodci.sql. If you change
 
39
       these do make the similar change in catodci.sql.
 
40
 
 
41
   MODIFIED   (MM/DD/YY)
 
42
   ayoaz       04/21/03 - add CursorNum to ODCIEnv
 
43
   abrumm      12/30/02 - Bug #2223225: add define for
 
44
                          ODCI_ARG_DESC_LIST_MAXSIZE
 
45
   ayoaz       10/14/02 - Add Cardinality to ODCIArgDesc
 
46
   ayoaz       09/11/02 - add ODCIQueryInfo to ODCIIndexCtx
 
47
   yhu         09/19/02 - add ODCI_DEBUGGING_ON for ODCIEnv.EnvFlags
 
48
   hsbedi      10/10/02 - add object number into ODCIExtTableInfo
 
49
   ayoaz       08/30/02 - add ODCITable2 types
 
50
   tchorma     07/29/02 - Add ODCIFuncCallInfo type for WITH COLUMN CONTEXT
 
51
   hsbedi      06/29/02 - External table populate
 
52
   yhu         07/20/01 - add parallel degree in ODCIIndexInfo.
 
53
   abrumm      02/20/01 - ODCIExtTableInfo: add AccessParmBlob attribute
 
54
   abrumm      01/18/01 - ODCIExtTableInfo: add default directory
 
55
   spsundar    08/24/00 - Update attrbiute positions
 
56
   abrumm      08/04/00 - external tables changes: ODCIExtTableInfo, constants
 
57
   tchorma     09/11/00 - Add return code ODCI_FATAL
 
58
   tchorma     08/08/00 - Add Update Block References Option for Alter Index
 
59
   ayoaz       08/01/00 - Add ODCI_AGGREGATE_REUSE_CTX
 
60
   spsundar    06/19/00 - add ODCIEnv type
 
61
   abrumm      06/27/00 - add defines for ODCIExtTable flags
 
62
   abrumm      06/04/00 - external tables: ODCIExtTableInfo change; add ODCIEnv
 
63
   ddas        04/28/00 - extensible optimizer enhancements for 8.2
 
64
   yhu         06/05/00 - add a bit in IndexInfoFlags for trans. tblspc
 
65
   yhu         04/10/00 - add ODCIPartInfo & remove ODCIIndexPartList
 
66
   abrumm      03/29/00 - external table support
 
67
   spsundar    02/14/00 - update odci definitions for 8.2
 
68
   nagarwal    03/07/99 - bug# 838308 - set estimate_stats=1
 
69
   rmurthy     11/09/98 - add blocking flag
 
70
   ddas        10/31/98 - add ODCI_QUERY_SORT_ASC and ODCI_QUERY_SORT_DESC
 
71
   ddas        05/26/98 - fix ODCIPredInfo flag bits
 
72
   rmurthy     06/03/98 - add macro for RegularCall
 
73
   spsundar    05/08/98 - add constants related to ODCIIndexAlter options
 
74
   rmurthy     04/30/98 - remove include s.h
 
75
   rmurthy     04/20/98 - name fixes
 
76
   rmurthy     04/13/98 - add C mappings for odci types
 
77
   alsrivas    04/10/98 - adding defines for ODCI_INDEX1
 
78
   jsriniva    04/04/98 - Creation
 
79
 
 
80
*/
 
81
 
 
82
#ifndef OCI_ORACLE
 
83
# include <oci.h>
 
84
#endif
 
85
#ifndef ODCI_ORACLE
 
86
# define ODCI_ORACLE
 
87
 
 
88
/*---------------------------------------------------------------------------*/
 
89
/*                         SHORT NAMES SUPPORT SECTION                       */
 
90
/*---------------------------------------------------------------------------*/
 
91
 
 
92
#ifdef SLSHORTNAME
 
93
 
 
94
/* The following are short names that are only supported on IBM mainframes
 
95
 *   with the SLSHORTNAME defined.
 
96
 * With this all subsequent long names will actually be substituted with
 
97
 *  the short names here
 
98
 */
 
99
 
 
100
#define ODCIColInfo_ref             odcicir
 
101
#define ODCIColInfoList             odcicil
 
102
#define ODCIColInfoList2            odcicil2
 
103
#define ODCIIndexInfo_ref           odciiir
 
104
#define ODCIPredInfo_ref            odcipir
 
105
#define ODCIRidList                 odcirl
 
106
#define ODCIIndexCtx_ref            odciicr
 
107
#define ODCIObject_ref              odcior
 
108
#define ODCIObjectList              odciol
 
109
#define ODCIQueryInfo_ref           odciqir
 
110
#define ODCIFuncInfo_ref            odcifir
 
111
#define ODCICost_ref                odcicr
 
112
#define ODCIArgDesc_ref             odciadr
 
113
#define ODCIArgDescList             odciadl
 
114
#define ODCIStatsOptions_ref        odcisor
 
115
#define ODCIColInfo                 odcici
 
116
#define ODCIColInfo_ind             odcicii
 
117
#define ODCIIndexInfo               odciii
 
118
#define ODCIIndexInfo_ind           odciiii
 
119
#define ODCIPredInfo                odcipi
 
120
#define ODCIPredInfo_ind            odcipii
 
121
#define ODCIIndexCtx                odciic
 
122
#define ODCIIndexCtx_ind            odciici
 
123
#define ODCIObject                  odcio
 
124
#define ODCIObject_ind              odcioi
 
125
#define ODCIQueryInfo               odciqi
 
126
#define ODCIQueryInfo_ind           odciqii
 
127
#define ODCIFuncInfo                odcifi
 
128
#define ODCIFuncInfo_infd           odcifii
 
129
#define ODCICost                    odcic
 
130
#define ODCICost_ind                odcici
 
131
#define ODCIArgDesc                 odciad
 
132
#define ODCIArgDesc_ind             odciadi
 
133
#define ODCIStatsOptions            odciso
 
134
#define ODCIStatsOptions_ind        odcisoi
 
135
#define ODCIPartInfo                odcipti
 
136
#define ODCIPartInfo_ind            odciptii
 
137
#define ODCIPartInfo_ref            odciptir
 
138
#define ODCIExtTableInfo            odcixt
 
139
#define ODCIExtTableInfo_ind        odcixti
 
140
#define ODCIExtTableInfo_ref        odcixtr
 
141
#define ODCIExtTableQCInfo          odcixq
 
142
#define ODCIExtTableQCInfo_ind      odcixqi
 
143
#define ODCIExtTableQCInfo_ref      odcixqr
 
144
#define ODCIFuncCallInfo            odcifc
 
145
#define ODCIFuncCall_ind            odcifci
 
146
#define ODCIFuncCall_ref            odcifcr
 
147
 
 
148
#endif                                                        /* SLSHORTNAME */
 
149
 
 
150
/*---------------------------------------------------------------------------
 
151
                     PUBLIC TYPES AND CONSTANTS
 
152
  ---------------------------------------------------------------------------*/
 
153
 
 
154
/* Constants for Return Status */
 
155
#define ODCI_SUCCESS             0
 
156
#define ODCI_ERROR               1
 
157
#define ODCI_WARNING             2
 
158
#define ODCI_ERROR_CONTINUE      3
 
159
#define ODCI_FATAL               4
 
160
 
 
161
/* Constants for ODCIPredInfo.Flags */
 
162
#define ODCI_PRED_EXACT_MATCH    0x0001
 
163
#define ODCI_PRED_PREFIX_MATCH   0x0002
 
164
#define ODCI_PRED_INCLUDE_START  0x0004
 
165
#define ODCI_PRED_INCLUDE_STOP   0x0008
 
166
#define ODCI_PRED_OBJECT_FUNC    0x0010
 
167
#define ODCI_PRED_OBJECT_PKG     0x0020
 
168
#define ODCI_PRED_OBJECT_TYPE    0x0040
 
169
#define ODCI_PRED_MULTI_TABLE    0x0080
 
170
 
 
171
/* Constants for QueryInfo.Flags */
 
172
#define ODCI_QUERY_FIRST_ROWS    0x01
 
173
#define ODCI_QUERY_ALL_ROWS      0x02
 
174
#define ODCI_QUERY_SORT_ASC      0x04
 
175
#define ODCI_QUERY_SORT_DESC     0x08
 
176
#define ODCI_QUERY_BLOCKING      0x10
 
177
 
 
178
/* Constants for ScnFlg(Func /w Index Context) */
 
179
#define ODCI_CLEANUP_CALL        1
 
180
#define ODCI_REGULAR_CALL        2
 
181
 
 
182
/* Constants for ODCIFuncInfo.Flags */
 
183
#define ODCI_OBJECT_FUNC         0x01
 
184
#define ODCI_OBJECT_PKG          0x02
 
185
#define ODCI_OBJECT_TYPE         0x04
 
186
 
 
187
/* Constants for ODCIArgDesc.ArgType */
 
188
#define ODCI_ARG_OTHER           1
 
189
#define ODCI_ARG_COL             2                                 /* column */
 
190
#define ODCI_ARG_LIT             3                                /* literal */
 
191
#define ODCI_ARG_ATTR            4                       /* object attribute */
 
192
#define ODCI_ARG_NULL            5
 
193
#define ODCI_ARG_CURSOR          6
 
194
 
 
195
/* Maximum size of ODCIArgDescList array */
 
196
#define ODCI_ARG_DESC_LIST_MAXSIZE 32767
 
197
 
 
198
/* Constants for ODCIStatsOptions.Options */
 
199
#define ODCI_PERCENT_OPTION      1
 
200
#define ODCI_ROW_OPTION          2
 
201
 
 
202
/* Constants for ODCIStatsOptions.Flags */
 
203
#define ODCI_ESTIMATE_STATS     0x01
 
204
#define ODCI_COMPUTE_STATS      0x02
 
205
#define ODCI_VALIDATE           0x04
 
206
 
 
207
/* Constants for ODCIIndexAlter parameter alter_option */
 
208
#define ODCI_ALTIDX_NONE               0
 
209
#define ODCI_ALTIDX_RENAME             1
 
210
#define ODCI_ALTIDX_REBUILD            2
 
211
#define ODCI_ALTIDX_REBUILD_ONL        3
 
212
#define ODCI_ALTIDX_MODIFY_COL         4
 
213
#define ODCI_ALTIDX_UPDATE_BLOCK_REFS  5
 
214
 
 
215
/* Constants for ODCIIndexInfo.IndexInfoFlags */
 
216
#define ODCI_INDEX_LOCAL         0x0001
 
217
#define ODCI_INDEX_RANGE_PARTN   0x0002
 
218
#define ODCI_INDEX_HASH_PARTN    0x0004
 
219
#define ODCI_INDEX_ONLINE        0x0008
 
220
#define ODCI_INDEX_PARALLEL      0x0010
 
221
#define ODCI_INDEX_UNUSABLE      0x0020
 
222
#define ODCI_INDEX_ONIOT         0x0040
 
223
#define ODCI_INDEX_TRANS_TBLSPC  0x0080
 
224
#define ODCI_INDEX_FUNCTION_IDX  0x0100
 
225
 
 
226
/* Constants for ODCIIndexInfo.IndexParaDegree */
 
227
#define ODCI_INDEX_DEFAULT_DEGREE 32767
 
228
 
 
229
/* Constants for ODCIEnv.EnvFlags */
 
230
#define ODCI_DEBUGGING_ON        0x01
 
231
 
 
232
/* Constants for ODCIEnv.CallProperty */
 
233
#define ODCI_CALL_NONE           0
 
234
#define ODCI_CALL_FIRST          1
 
235
#define ODCI_CALL_INTERMEDIATE   2
 
236
#define ODCI_CALL_FINAL          3
 
237
 
 
238
/* Constants for ODCIExtTableInfo.OpCode */
 
239
#define ODCI_EXTTABLE_INFO_OPCODE_FETCH           1
 
240
#define ODCI_EXTTABLE_INFO_OPCODE_POPULATE        2
 
241
 
 
242
/* Constants (bit definitions) for ODCIExtTableInfo.Flag */
 
243
    /* sampling type: row or block */
 
244
#define ODCI_EXTTABLE_INFO_FLAG_SAMPLE           0x00000001
 
245
#define ODCI_EXTTABLE_INFO_FLAG_SAMPLE_BLOCK     0x00000002
 
246
    /* AccessParmClob, AccessParmBlob discriminator */
 
247
#define ODCI_EXTTABLE_INFO_FLAG_ACCESS_PARM_CLOB 0x00000004
 
248
#define ODCI_EXTTABLE_INFO_FLAG_ACCESS_PARM_BLOB 0x00000008
 
249
 
 
250
/* Constants for ODCIExtTableInfo.IntraSourceConcurrency */
 
251
#define ODCI_TRUE  1
 
252
#define ODCI_FALSE 0
 
253
 
 
254
/* Constants (bit definitions) for ODCIExtTable{Open,Fetch,Populate,Close}
 
255
 * Flag argument.
 
256
 */
 
257
#define ODCI_EXTTABLE_OPEN_FLAGS_QC     0x00000001  /* caller is Query Coord */
 
258
#define ODCI_EXTTABLE_OPEN_FLAGS_SHADOW 0x00000002  /* caller is shadow proc */
 
259
#define ODCI_EXTTABLE_OPEN_FLAGS_SLAVE  0x00000004  /* caller is slave  proc */
 
260
 
 
261
#define ODCI_EXTTABLE_FETCH_FLAGS_EOS   0x00000001 /* end-of-stream on fetch */
 
262
 
 
263
/* Constants for Flags argument to ODCIAggregateTerminate */
 
264
#define ODCI_AGGREGATE_REUSE_CTX  1
 
265
 
 
266
/*---------------------------------------------------------------------------
 
267
                     ODCI TYPES
 
268
  ---------------------------------------------------------------------------*/
 
269
/*
 
270
 * These are C mappings for the OTS types defined in catodci.sql
 
271
 */
 
272
 
 
273
typedef OCIRef   ODCIColInfo_ref;
 
274
typedef OCIArray ODCIColInfoList;
 
275
typedef OCIArray ODCIColInfoList2;
 
276
typedef OCIRef   ODCIIndexInfo_ref;
 
277
typedef OCIRef   ODCIPredInfo_ref;
 
278
typedef OCIArray ODCIRidList;
 
279
typedef OCIRef   ODCIIndexCtx_ref;
 
280
typedef OCIRef   ODCIObject_ref;
 
281
typedef OCIArray ODCIObjectList;
 
282
typedef OCIRef   ODCIQueryInfo_ref;
 
283
typedef OCIRef   ODCIFuncInfo_ref;
 
284
typedef OCIRef   ODCICost_ref;
 
285
typedef OCIRef   ODCIArgDesc_ref;
 
286
typedef OCIArray ODCIArgDescList;
 
287
typedef OCIRef   ODCIStatsOptions_ref;
 
288
typedef OCIRef ODCIPartInfo_ref;
 
289
typedef OCIRef   ODCIEnv_ref;
 
290
typedef OCIRef   ODCIExtTableInfo_ref;             /* external table support */
 
291
typedef OCIArray ODCIGranuleList;                  /* external table support */
 
292
typedef OCIRef   ODCIExtTableQCInfo_ref;           /* external table support */
 
293
typedef OCIRef   ODCIFuncCallInfo_ref;
 
294
typedef OCIArray ODCINumberList;
 
295
 
 
296
struct ODCIColInfo
 
297
{
 
298
   OCIString* TableSchema;
 
299
   OCIString* TableName;
 
300
   OCIString* ColName;
 
301
   OCIString* ColTypName;
 
302
   OCIString* ColTypSchema;
 
303
   OCIString* TablePartition;
 
304
};
 
305
typedef struct ODCIColInfo ODCIColInfo;
 
306
 
 
307
struct ODCIColInfo_ind
 
308
{
 
309
   OCIInd atomic;
 
310
   OCIInd TableSchema;
 
311
   OCIInd TableName;
 
312
   OCIInd ColName;
 
313
   OCIInd ColTypName;
 
314
   OCIInd ColTypSchema;
 
315
   OCIInd TablePartition;
 
316
};
 
317
typedef struct ODCIColInfo_ind ODCIColInfo_ind;
 
318
 
 
319
struct ODCIFuncCallInfo
 
320
{
 
321
   struct ODCIColInfo ColInfo;
 
322
};
 
323
 
 
324
struct ODCIFuncCallInfo_ind
 
325
{
 
326
  struct ODCIColInfo_ind ColInfo;
 
327
};
 
328
 
 
329
struct ODCIIndexInfo
 
330
{
 
331
   OCIString*       IndexSchema;
 
332
   OCIString*       IndexName;
 
333
   ODCIColInfoList* IndexCols;
 
334
   OCIString*       IndexPartition;
 
335
   OCINumber        IndexInfoFlags;
 
336
   OCINumber        IndexParaDegree;
 
337
};
 
338
typedef struct ODCIIndexInfo ODCIIndexInfo;
 
339
 
 
340
struct ODCIIndexInfo_ind
 
341
{
 
342
   OCIInd atomic;
 
343
   OCIInd IndexSchema;
 
344
   OCIInd IndexName;
 
345
   OCIInd IndexCols;
 
346
   OCIInd IndexPartition;
 
347
   OCIInd IndexInfoFlags;
 
348
   OCIInd IndexParaDegree;
 
349
};
 
350
typedef struct ODCIIndexInfo_ind ODCIIndexInfo_ind;
 
351
 
 
352
struct ODCIPredInfo
 
353
{
 
354
   OCIString* ObjectSchema;
 
355
   OCIString* ObjectName;
 
356
   OCIString* MethodName;
 
357
   OCINumber  Flags;
 
358
};
 
359
typedef struct ODCIPredInfo ODCIPredInfo;
 
360
 
 
361
struct ODCIPredInfo_ind
 
362
{
 
363
   OCIInd atomic;
 
364
   OCIInd ObjectSchema;
 
365
   OCIInd ObjectName;
 
366
   OCIInd MethodName;
 
367
   OCIInd Flags;
 
368
};
 
369
typedef struct ODCIPredInfo_ind ODCIPredInfo_ind;
 
370
 
 
371
struct ODCIObject
 
372
{
 
373
   OCIString* ObjectSchema;
 
374
   OCIString* ObjectName;
 
375
};
 
376
typedef struct ODCIObject ODCIObject;
 
377
 
 
378
struct ODCIObject_ind
 
379
{
 
380
   OCIInd atomic;
 
381
   OCIInd ObjectSchema;
 
382
   OCIInd ObjectName;
 
383
};
 
384
typedef struct ODCIObject_ind ODCIObject_ind;
 
385
 
 
386
struct ODCIQueryInfo
 
387
{
 
388
   OCINumber       Flags;
 
389
   ODCIObjectList* AncOps;
 
390
};
 
391
typedef struct ODCIQueryInfo ODCIQueryInfo;
 
392
 
 
393
 
 
394
struct ODCIQueryInfo_ind
 
395
{
 
396
   OCIInd atomic;
 
397
   OCIInd Flags;
 
398
   OCIInd AncOps;
 
399
};
 
400
typedef struct ODCIQueryInfo_ind ODCIQueryInfo_ind;
 
401
 
 
402
struct ODCIIndexCtx
 
403
{
 
404
   struct ODCIIndexInfo IndexInfo;
 
405
   OCIString*           Rid;
 
406
   struct ODCIQueryInfo QueryInfo;
 
407
};
 
408
typedef struct ODCIIndexCtx ODCIIndexCtx;
 
409
 
 
410
struct ODCIIndexCtx_ind
 
411
{
 
412
   OCIInd                   atomic;
 
413
   struct ODCIIndexInfo_ind IndexInfo;
 
414
   OCIInd                   Rid;
 
415
   struct ODCIQueryInfo_ind QueryInfo;
 
416
};
 
417
typedef struct ODCIIndexCtx_ind ODCIIndexCtx_ind;
 
418
 
 
419
struct ODCIFuncInfo
 
420
{
 
421
   OCIString* ObjectSchema;
 
422
   OCIString* ObjectName;
 
423
   OCIString* MethodName;
 
424
   OCINumber Flags;
 
425
};
 
426
typedef struct ODCIFuncInfo ODCIFuncInfo;
 
427
 
 
428
struct ODCIFuncInfo_ind
 
429
{
 
430
   OCIInd atomic;
 
431
   OCIInd ObjectSchema;
 
432
   OCIInd ObjectName;
 
433
   OCIInd MethodName;
 
434
   OCIInd Flags;
 
435
};
 
436
typedef struct ODCIFuncInfo_ind ODCIFuncInfo_ind;
 
437
 
 
438
struct ODCICost
 
439
{
 
440
   OCINumber  CPUcost;
 
441
   OCINumber  IOcost;
 
442
   OCINumber  NetworkCost;
 
443
   OCIString* IndexCostInfo;
 
444
};
 
445
typedef struct ODCICost ODCICost;
 
446
 
 
447
struct ODCICost_ind
 
448
{
 
449
   OCIInd atomic;
 
450
   OCIInd CPUcost;
 
451
   OCIInd IOcost;
 
452
   OCIInd NetworkCost;
 
453
   OCIInd IndexCostInfo;
 
454
};
 
455
typedef struct ODCICost_ind ODCICost_ind;
 
456
 
 
457
struct ODCIArgDesc
 
458
{
 
459
   OCINumber  ArgType;
 
460
   OCIString* TableName;
 
461
   OCIString* TableSchema;
 
462
   OCIString* ColName;
 
463
   OCIString* TablePartitionLower;
 
464
   OCIString* TablePartitionUpper;
 
465
   OCINumber  Cardinality;
 
466
};
 
467
typedef struct ODCIArgDesc ODCIArgDesc;
 
468
 
 
469
struct ODCIArgDesc_ind
 
470
{
 
471
   OCIInd atomic;
 
472
   OCIInd ArgType;
 
473
   OCIInd TableName;
 
474
   OCIInd TableSchema;
 
475
   OCIInd ColName;
 
476
   OCIInd TablePartitionLower;
 
477
   OCIInd TablePartitionUpper;
 
478
   OCIInd Cardinality;
 
479
};
 
480
typedef struct ODCIArgDesc_ind ODCIArgDesc_ind;
 
481
 
 
482
struct ODCIStatsOptions
 
483
{
 
484
   OCINumber Sample;
 
485
   OCINumber Options;
 
486
   OCINumber Flags;
 
487
};
 
488
typedef struct ODCIStatsOptions ODCIStatsOptions;
 
489
 
 
490
struct ODCIStatsOptions_ind
 
491
{
 
492
   OCIInd atomic;
 
493
   OCIInd Sample;
 
494
   OCIInd Options;
 
495
   OCIInd Flags;
 
496
};
 
497
typedef struct ODCIStatsOptions_ind ODCIStatsOptions_ind;
 
498
 
 
499
struct ODCIEnv
 
500
{
 
501
   OCINumber EnvFlags;
 
502
   OCINumber CallProperty;
 
503
   OCINumber DebugLevel;
 
504
   OCINumber CursorNum;
 
505
};
 
506
typedef struct ODCIEnv ODCIEnv;
 
507
 
 
508
struct ODCIEnv_ind
 
509
{
 
510
   OCIInd _atomic;
 
511
   OCIInd EnvFlags;
 
512
   OCIInd CallProperty;
 
513
   OCIInd DebugLevel;
 
514
   OCIInd CursorNum;
 
515
};
 
516
typedef struct ODCIEnv_ind ODCIEnv_ind;
 
517
 
 
518
struct ODCIPartInfo
 
519
{
 
520
   OCIString* TablePartition;
 
521
   OCIString* IndexPartition;
 
522
};
 
523
typedef struct ODCIPartInfo ODCIPartInfo;
 
524
 
 
525
struct ODCIPartInfo_ind
 
526
{
 
527
   OCIInd atomic;
 
528
   OCIInd TablePartition;
 
529
   OCIInd IndexPartition;
 
530
};
 
531
typedef struct ODCIPartInfo_ind ODCIPartInfo_ind;
 
532
 
 
533
/*---------- External Tables ----------*/
 
534
struct ODCIExtTableInfo
 
535
{
 
536
   OCIString*       TableSchema;
 
537
   OCIString*       TableName;
 
538
   ODCIColInfoList* RefCols;
 
539
   OCIClobLocator*  AccessParmClob;
 
540
   OCIBlobLocator*  AccessParmBlob;
 
541
   ODCIArgDescList* Locations;
 
542
   ODCIArgDescList* Directories;
 
543
   OCIString*       DefaultDirectory;
 
544
   OCIString*       DriverType;
 
545
   OCINumber        OpCode;
 
546
   OCINumber        AgentNum;
 
547
   OCINumber        GranuleSize;
 
548
   OCINumber        Flag;
 
549
   OCINumber        SamplePercent;
 
550
   OCINumber        MaxDoP;
 
551
   OCIRaw*          SharedBuf;
 
552
   OCIString*       MTableName;
 
553
   OCIString*       MTableSchema;
 
554
   OCINumber        TableObjNo;
 
555
};
 
556
typedef struct ODCIExtTableInfo ODCIExtTableInfo;
 
557
 
 
558
struct ODCIExtTableInfo_ind
 
559
{
 
560
   OCIInd _atomic;
 
561
   OCIInd TableSchema;
 
562
   OCIInd TableName;
 
563
   OCIInd RefCols;
 
564
   OCIInd AccessParmClob;
 
565
   OCIInd AccessParmBlob;
 
566
   OCIInd Locations;
 
567
   OCIInd Directories;
 
568
   OCIInd DefaultDirectory;
 
569
   OCIInd DriverType;
 
570
   OCIInd OpCode;
 
571
   OCIInd AgentNum;
 
572
   OCIInd GranuleSize;
 
573
   OCIInd Flag;
 
574
   OCIInd SamplePercent;
 
575
   OCIInd MaxDoP;
 
576
   OCIInd SharedBuf;
 
577
   OCIInd MTableName;
 
578
   OCIInd MTableSchema;
 
579
   OCIInd TableObjNo;
 
580
};
 
581
typedef struct ODCIExtTableInfo_ind ODCIExtTableInfo_ind;
 
582
 
 
583
struct ODCIExtTableQCInfo
 
584
{
 
585
   OCINumber        NumGranules;
 
586
   OCINumber        NumLocations;
 
587
   ODCIGranuleList* GranuleInfo;
 
588
   OCINumber        IntraSourceConcurrency;
 
589
   OCINumber        MaxDoP;
 
590
   OCIRaw*          SharedBuf;
 
591
};
 
592
typedef struct ODCIExtTableQCInfo ODCIExtTableQCInfo;
 
593
 
 
594
struct ODCIExtTableQCInfo_ind
 
595
{
 
596
   OCIInd _atomic;
 
597
   OCIInd NumGranules;
 
598
   OCIInd NumLocations;
 
599
   OCIInd GranuleInfo;
 
600
   OCIInd IntraSourceConcurrency;
 
601
   OCIInd MaxDoP;
 
602
   OCIInd SharedBuf;
 
603
};
 
604
typedef struct ODCIExtTableQCInfo_ind ODCIExtTableQCInfo_ind;
 
605
 
 
606
/*********************************************************/
 
607
/* Table Function Info types (used by ODCITablePrepare)  */
 
608
/*********************************************************/
 
609
 
 
610
struct ODCITabFuncInfo
 
611
{
 
612
  ODCINumberList*  Attrs;
 
613
  OCIType*         RetType;
 
614
};
 
615
typedef struct ODCITabFuncInfo ODCITabFuncInfo;
 
616
 
 
617
struct ODCITabFuncInfo_ind
 
618
{
 
619
  OCIInd _atomic;
 
620
  OCIInd Attrs;
 
621
  OCIInd RetType;
 
622
};
 
623
typedef struct ODCITabFuncInfo_ind ODCITabFuncInfo_ind;
 
624
 
 
625
/*********************************************************************/
 
626
/* Table Function Statistics types (used by ODCIStatsTableFunction)  */
 
627
/*********************************************************************/
 
628
 
 
629
struct ODCITabFuncStats
 
630
{
 
631
  OCINumber num_rows;
 
632
};
 
633
typedef struct ODCITabFuncStats ODCITabFuncStats;
 
634
 
 
635
struct ODCITabFuncStats_ind
 
636
{
 
637
  OCIInd _atomic;
 
638
  OCIInd num_rows;
 
639
};
 
640
typedef struct ODCITabFuncStats_ind ODCITabFuncStats_ind;
 
641
 
 
642
/*---------------------------------------------------------------------------
 
643
                     PRIVATE TYPES AND CONSTANTS
 
644
  ---------------------------------------------------------------------------*/
 
645
 
 
646
 
 
647
/*---------------------------------------------------------------------------
 
648
                           PUBLIC FUNCTIONS
 
649
  ---------------------------------------------------------------------------*/
 
650
 
 
651
 
 
652
/*---------------------------------------------------------------------------
 
653
                          PRIVATE FUNCTIONS
 
654
  ---------------------------------------------------------------------------*/
 
655
 
 
656
 
 
657
#endif                                              /* ODCI_ORACLE */