⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cdemodp0.h

📁 SQLAPI C/C++ 连接Oracle 数据库!
💻 H
字号:
/* * $Header: /home/yas/cvs/SQLAPI/include/ora_linux/cdemodp0.h,v 1.1.1.1 2005/05/05 08:12:35 yas Exp $ *//* Copyright (c) 1998, 1999, Oracle Corporation.  All rights reserved.*//*   NAME     cdemodp0.h - C Demo program for Direct Path api   DESCRIPTION     - Internal data structs, macros, & defines for cdemodp driver.   NOTES     Structures, macros, constants used only by cdemodp.c.   MODIFIED   (MM/DD/YY)   mjaeger     07/14/99 - bug 808870: OCCS: convert tabs, no long lines   abrumm      12/22/98 - lint   cmlim       11/17/98 - take away hardcoded MAX_RECLEN; now a session parm   cmlim       10/06/98 - correct typo   cmlim       10/02/98 - added externref   cmlim       09/16/98 - internal data structs, macros, & defines for cdemodp   cmlim       09/16/98 - Creation (abrumm 04/07/98)*/#ifndef cdemodp0_ORACLE# define cdemodp0_ORACLE# include <oratypes.h># include <oci.h>/* partial field context structure, maintained by field setting function */struct pctx{  ub1   valid_pctx;                              /* partial context is valid */  ub4   pieceCnt_pctx;                            /* count of partial pieces */  ub4   row_pctx;                               /* which row in column array */  ub4   col_pctx;                            /* which column in column array */  ub4   len_pctx;                            /* length of this column so far */  int   fd_pctx;                 /* open file descriptor data is coming from */  char *fnm_pctx;                                /* filename for data source */};/* CLEAR_PCTX(struct pctx pctx) *   Macro to clear the partial context state */#define CLEAR_PCTX(pctx) \  ((pctx).valid_pctx = FALSE,   (pctx).pieceCnt_pctx = 0,    \   (pctx).row_pctx = UB4MAXVAL, (pctx).col_pctx = UB4MAXVAL, \   (pctx).len_pctx = 0,         (pctx).fd_pctx  = -1,        \   (pctx).fnm_pctx = (char *)0)#define SET_PCTX(pctx, rowoff, coloff, clen, fd, fnm) \  ((pctx).valid_pctx = TRUE,   (pctx).pieceCnt_pctx++,     \   (pctx).row_pctx = (rowoff), (pctx).col_pctx = (coloff), \   (pctx).len_pctx += (ub4)(clen), (pctx).fd_pctx = (fd),  \   (pctx).fnm_pctx = (fnm))#define LEN_PCTX(pctx) ((pctx).len_pctx)/* Does the input record correspond to the first piece of a row? * Note that a row which is not pieced is a first piece too. */#define FIRST_PIECE(pctx)       \( (pctx).valid_pctx == FALSE || \ ((pctx).valid_pctx == TRUE  && ((pctx).pieceCnt_pctx == 1)))/* return values from field_set() */#define FIELD_SET_COMPLETE   0#define FIELD_SET_ERROR      1#define FIELD_SET_BUF        2#define FIELD_SET_PARTIAL    3/* return values from do_convert() */#define CONVERT_SUCCESS      0#define CONVERT_ERROR        1#define CONVERT_NEED_DATA    2#define CONVERT_CONTINUE     3/* return values from do_load() */#define LOAD_SUCCESS     0#define LOAD_ERROR       1#define LOAD_NEED_DATA   2#define LOAD_NO_DATA     3/* state values for simple_load() */#define RESET             1 /* initial state, reset data structures to empty */#define GET_RECORD        2                             /* get input records */#define FIELD_SET         3     /* assign fields of input records to columns */#define DO_CONVERT        4   /* convert column array input to stream format */#define DO_LOAD           5                        /* load the direct stream */#define END_OF_INPUT      6                            /* no more input data *//* Secondary buffer sizes for OUTOFLINE fields; no science here, just a WAG */#define SECONDARY_BUF_SIZE (1024*1024)           /* size of secondary buffer */#define SECONDARY_BUF_SLOP (8*1024)  /* get another field if this much avail */#define STATICF#ifndef externref# define externref extern#endif#endif                                              /* cdemodp0_ORACLE */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -