📄 orl.h
字号:
/* Copyright (c) 1993, 2002, Oracle Corporation. All rights reserved. */
/*
Author: Srinath Krishnaswamy
Date: 11/24/93
Source documents: "Functional Specification for C Language Mapping of
OTS Types, Object Management Subsystem", "Oracle C
Coding Standards version 2.2", and the header file
template
Rule sets: the generic and .h file rule sets
Quality status: not exited
Identification tag: [ one or more letters to identify the .h file ]
Revision code: 11/24/93
NAME
ORL - ORacle's external C Language interface to primitive OTS types
DESCRIPTION
This header file contains C langauge interface to the OTS primitive
types. The interface includes C mapping of OTS primitive types and
the prototype of the pre-defined operations on the primitive types.
***********************************************************************
*** NOTE: The OCI functions for objects requires the ***
*** application to be running in OBJECT mode. That is, during ***
*** process initialization OCIInitialize(), the mode ***
*** specified should be OBJECT mode. ***
** OCIInitialize(OCI_OBJECT, ..); ***
***********************************************************************
RELATED DOCUMENTS
[1] Krishnaswamy, Srinath and Nguyen, Tin A., "Functional Specification
for C Language Mapping of OTS Types, Object Management Subsystem",
March 1994.
[2] Nguyen, Tin A., "The Open Type System", Oracle Corporation,
February 1994.
[3] Klein, Jonathan D., "Large Field Management", Oracle Corporation,
October 1993.
PUBLIC FUNCTIONS
OCI - OCI functions to manipulate Oracle Number, float and decimal
ARITHMETIC
OCINumberInc - OCINumber INCrement (optimized)
OCINumberDec - OCINumber DECrement (optimized)
OCINumberAdd - OCINumber ADD numbers
OCINumberSub - OCINumber SUBtract numbers
OCINumberMul - OCINumber MULtiply numbers
OCINumberDiv - OCINumber DIVide numbers
OCINumberMod - OCINumber MODulo division
OCINumberIntPower - OCINumber integer PoWeR
OCINumberShift - OCINumber decimal ShiFT number
OCINumberNeg - OCINumber NEGate number
OCINumberAbs - OCINumber ABSolute value
OCINumberCeil - OCINumber CEiling of number
OCINumberFloor - OCINumber FLooR of number
OCINumberSqrt - OCINumber SQuare Root of number
OCINumberSign - OCINumber get SIGN of number
NATIVE TYPE CONVERSION
OCINumberToInt - OCINumber convert number TO machine-format Integer
OCINumberFromInt - OCINumber convert machine-format Integer TO Number
OCINumberToReal - OCINumber convert number TO machine-format Real
OCINumberFromReal - OCINumber convert machine-format Real TO Number
TEXT STRING CONVERSION
OCINumberToText - OCINumber convert number TO String
OCINumberFromText - OCINumber convert String TO Number
COMPARISON
OCINumberCmp - OCINumber CoMPare numbers
OCINumberIsZero - OCINumber comparison with ZERo
OCINumberIsInt - OCINumber Is an Integer
ASSIGNMENT
OCINumberAssign - OCINumber ASsiGn number
OCINumberSetZero - OCINumber Set number to Zero value
OCINumberSetPi - OCINumber Set number to Pi
ROUNDING
OCINumberTrunc - OCINumber TRUncate an Oracle number
OCINumberRound - OCINumber ROUnd number
OCINumberPrec - OCINumber round to Precision digits
TRANSCENDENTAL
OCINumberSin - OCINumber SINe
OCINumberArcSin - OCINumber Arc SINe
OCINumberHypSin - OCINumber SiNe Hyperbolic
OCINumberCos - OCINumber COSine
OCINumberArcCos - OCINumber Arc COSine
OCINumberHypCos - OCINumber CoSine Hyperbolic
OCINumberTan - OCINumber TANgent
OCINumberArcTan - OCINumber Arc TANgent
OCINumberArcTan2 - OCINumber Arc TaNgent 2
OCINumberHypTan - OCINumber TaNgent Hyperbolic
OCINumberPower - OCINumber arbitrary Base EXponentiation
OCINumberExp - OCINumber EXPonentiation to base e
OCINumberLn - OCINumber Logarithm Natural
OCINumberLog - OCINumber LOGarithm to arbitrary base
OCIDate - OCI functions to manipulate OCI Date
OCIDateToExternal - OCIDate convert date to external form
OCIDateFromExternal - OCIDate convert external form of date into OCIDate
OCIDateAssign - OCIDate Assignment
OCIDateToText - OCIDate convert date TO String
OCIDateFromText - OCIDate convert String TO Date
OCIDateZoneToZone - OCIDate convert date from one time
Zone TO another Zone
OCIDateCompare - OCIDate CoMPare dates
OCIDateAddMonths - OCIDate ADd or subtract Months
OCIDateAddDays - OCIDate ADd or subtract Days
OCIDateLastDay - OCIDate get date of LaST day of month
OCIDateDaysBetween - OCIDate get number of days BeTWeen two dates
OCIDateNextDay - OCIDate get date of Next DaY
OCIDateCheck - OCIDate CHecK if the given date is valid
OCIDateSysDate - OCIDate get current SYStem date and time
OCIString - OCI String functions to manipulate Variable-length string
OCIStringAssign - OCIString Assign string to string
OCIStringAssignText - OCIString Assign Text string to string
OCIStringResize - OCIString ReSiZe string
OCIStringSize - OCIString get String Size
OCIStringPtr - OCIString get String PoinTeR
OCIStringAllocSize - OCIString get Allocated SiZe
OCIRaw - OCI Raw functions to manipulate variable-length raW
OCIRawAssignRaw - OCIRaw Assign Raw (of type OCIRaw*) to raw
(of type OCIRaw*)
OCIRawResize - OCIRaw Resize raw
OCIRawSize - OCIRaw get Raw Size
OCIRawPtr - OCIRaw get Raw data Pointer
OCIRawAllocSize - OCIRaw get Allocated Size
OCIColl - OCI Collection generic functions. These functions can be
used to manipulate both variable-length array (varray) and
nested table.
OCICollSize - OCIColl return current SIZe of the given collection
(in number of elements)
OCICollMax - OCIColl return the MAXimum number of elements in the
collection (i.e. upper-bound)
OCICollGetElem - OCIColl GET pointer to the element at the given
position
OCICollAssignElem - OCIColl assign to element at given index
OCICollAssign - OCIColl ASsiGn collection; perform deep-copy of source
collection to target collection
OCICollAppend - OCIColl aPPend the given element to the end of the
collection
OCICollTrim - OCIColl trim (delete) the given number of elements
from the end of the collection
OCICollIsLocator - OCIColl indicates whether a collection is locator
based or not.
OCIIterCreate - OCIColl Create an ITerator to scan the collection
elements
OCIIterDelete - OCIColl Delete ITerator
OCIIterInit - OCIColl Initialize ITerator to scan the given collection
OCIIterGetCurrent - OCIColl Iterator based, get CURrent
collection element
OCIIterNext - OCIColl Iterator based, get NeXT collection element
OCIIterPrev - OCIColl Iterator based, get PReVious collection element
OCITable - OCI functions to manipulate nested Table. The OCIColl*() and
OCITable*() functions can be used to manipulate nested table
OCITableDelete(i) - OCITable if element(i) exists then the element is
marked as deleted else the function returns false. So
delete's create "holes".
OCITableExists(i) - OCITable return true iff an element at
position i EXIsts
OCITableFirst - OCITable return the smallest value of i for which
exists(i) is true.
OCITableLast - OCITable return the largest value of i for which
exists(i) is true.
OCITableNext(i) - OCITable return pointer to the smallest position j,
greater than i, such that OCITableExists(j) is true
OCITablePrev(i) - OCITable return pointer to the largest position j,
less than i, such that OCITableExists(j) is true
OCITableSize - OCITable return current SIZe of the given nested table not
including deleted elements
OCIRef - OCI functions to manipulate object Reference
OCIRefClear - OCIRef CLeaR or nullify a ref
OCIRefAssign - OCIRef ASsiGn a ref to another
OCIRefIsEqual - OCIRef compare two refs for EQUality
OCIRefIsNull - OCIRef test if a ref is NULl
OCIRefFromHex - OCIRef convert a Hexadecimal string TO a Ref
OCIRefToHex - OCIRef convert a ref to a Hexadecimal string
OCIRefHexSize - OCIRef get size of buffer in bytes to store hexadecimal
string
OBSOLETE: to be replaced by functions from oci.h:
ORLL - ORL functions to manipulate lob Locators
orllasg - ORLL AsiGn one locator to another
orllequ - ORLL compare two locators for EQUality
orlliini - ORLL Is the locator INItialized?
orllgsz - ORLL Get locator SiZe
orllgcid - ORLL Get Character set ID
NOTE: The following are specific to FILE lobs:
orllsnm - ORLL Set directory alias and file NaMe in the locator
orllgnm - ORLL Get directory alias and file NaMe from the locator
EXAMPLES
Examples are given in the description of each function where
relevant.
NOTES
This file has been subsetted to contain ONLY the routines that will
be in the first release.
QUESTIONS
MODIFIED
gayyappa 02/01/02 - fix 2210776 : change Dom to DOM
whe 09/25/01 - add OCIXMLType & OCIDomDocument opaque types
bpalaval 02/09/01 - Change text to oratext.
rkasamse 09/20/99 - lint changes
whe 09/01/99 - 976457:check __cplusplus for C++ code
hsbedi 08/11/99 - Add macro
rxgovind 10/14/98 - make non exposed calls (OCIRowType etc) private
rxgovind 06/09/98 - update OCIRowTypeCreate
nmantrav 05/11/98 - add OCIRowTypeGetCount
rxgovind 03/29/98 - add OCIRowType and OCIRowData interfaces
jwijaya 05/06/98 - add OCICollIsLocator
rxgovind 03/18/98 - opaque types: move to kolo.h
etucker 02/02/98 - add comments for Dec and Inc
etucker 01/29/98 - Finish core5 integration
rxgovind 11/11/97 - opaque types
etucker 10/28/97 - add ORLN functions for SDK
cxcheng 07/28/97 - remove OCILobLocator #define
skmishra 05/13/97 - stdcc compatibility changes
skrishna 04/25/97 - rename OCINumber*(): Exp Power TanHyp Zero Init
TanToArc Sqr Truncate and Compare
skotsovo 03/31/97 - remove OCILobLocatorSize
skrishna 03/25/97 - remove orld2i and orldi2d
skrishna 03/18/97 - fix ifdef for supporting ansi and k&r proto-types
cxcheng 02/06/97 - take out short name support except with SLSHORTNAME
skrishna 01/06/97 - update OCITableSize() comments
skrishna 12/27/96 - fix OCIDateGet/OCIDateSet
skrishna 12/12/96 - update OCICollGelElem comments
skrishna 11/07/96 - OCICollGetElem: interface change
skrishna 11/05/96 - add OCIDate Get/Set and OCIDateAssign
cxcheng 10/31/96 - change OCINumberTanHyp to OCINumberHypTan
cxcheng 10/30/96 - #define orll short names to long names
dchatter 10/26/96 - fix some OCI file long names
cxcheng 10/24/96 - remove unnecessary comment in front
cxcheng 10/14/96 - disable long name mapping for LOB functions
skrishna 10/13/96 - continue beautification
skotsovo 10/16/96 - update ocilob names
cxcheng 10/09/96 - add structure members in #define for date/time
cxcheng 10/09/96 - more lint fixes
skrishna 10/09/96 - continue beautification
cxcheng 10/09/96 - more fixes
skrishna 10/09/96 - change fixed-char rep. to orlvstr*
jwijaya 10/08/96 - continue beautification
jwijaya 10/07/96 - beautify
cxcheng 10/07/96 - more changes
cxcheng 10/04/96 - replace short names with long names
skrishna 10/01/96 - orlcsiz, orltsiz: change prototype to take errhdl
skrishna 09/23/96 - fix lint errors
skotsovo 09/23/96 - remove orllmkcur().
jwijaya 09/17/96 - comments on null ref
skrishna 09/19/96 - change orlraw format
skotsovo 09/19/96 - add orlliini and remove orllnul
skrishna 08/14/96 - orlvstr: change format to ub4 followed by text
jboonleu 08/06/96 - update comment
skotsovo 08/08/96 - revert to locators instead of descriptors as input t
jboonleu 07/23/96 - remove orlrcur
skrishna 07/06/96 - add orltsiz
skrishna 07/05/96 - add orld2i and orldi2d
jwijaya 07/03/96 - add ANSI prototypes
skrishna 06/27/96 - document default string format in orlds2d & orld2s
skrishna 06/25/96 - change max date value
skrishna 06/18/96 - modify orld2s() comments
skotsovo 06/13/96 - orll functions take lob descriptors instead of locat
rxgovind 06/05/96 - change prototype of orlrcur to take ocienvh
skrishna 05/30/96 - support collection trimming
skrishna 05/30/96 - remove orlralo/fre and orllalo/fre instead use
orionew/fre
skrishna 05/28/96 - add orlt*() and modify orla*()
skotsovo 05/23/96 - add orlbl typedefs for pro*c
jboonleu 05/14/96 - add orlrcur
rxgovind 05/08/96 - changes for 3gl callbacks
skotsovo 05/01/96 - in orllasg, no need to alloc orlbl*
skrishna 04/21/96 - merge changes from 960418 object branch into big
skrishna 04/17/96 - rename orlrcpy to orlrasg
skrishna 04/12/96 - add orlr2h and orlrh2r functions
skotsovo 04/15/96 - add fnt to make the lob locator current
skrishna 04/08/96 - change orl*() to take ocienvh* and ocierrh* instead
of oroenv*
skotsovo 03/22/96 - add locator functions
skotsovo 03/22/96 - add locator functions
skrishna 02/27/96 - remove mlslabel interface
skotsovo 02/20/96 - remove orlbty and use dty type instead.
skotsovo 02/14/96 - add text file lobs.
skrishna 01/31/96 - update comments of orln2r, orldchk, orlds2d & orld2s
skrishna 01/31/96 - change orld2s() and orln2s() to return string length
skrishna 01/21/96 - remove old raw interface
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -