Digital Creations' Oracle 8 python binding
$Id: README,v 1.5 2001/03/19 20:34:02 matt Exp $
Copyright (c) 2000, Digital Creations, Fredericksburg, VA, USA. All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
- Redistributions of source code must retain the above copyright notice, this list of conditions, and the disclaimer that follows.
- Redistributions in binary form must reproduce the above copyright notice, this list of conditions, and the following disclaimer in the documentation and/or other materials provided with the distribution.
- Neither the name of Digital Creations nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY DIGITAL CREATIONS AND CONTRIBUTORS AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL DIGITAL CREATIONS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
To build, you should just need to type "make" and DCOracle2 will be compiled and properly built in the DCOracle2 subdirectory.
USING AS ZORACLEDA:
This release will function as a ZOracleDA as well, just unpack in the lib/python/Products directory of your Zope installation and build with "make". Do NOT have a ZOracleDA in your Products however, since both will attempt to register with Zope as the Z Oracle Database Adapter.
For use as ZOracleDA, rename the directory from DCO2 to ZOracleDA!
Schema describe() (not cursor describe()) does not work under Oracle 8.0 on Linux (segfault in kpudsany Oracle library routine). This may be a nonissue.
Some alignment problems may exist on SPARC platforms. Schema describe under Solaris does not seem to return object name or schema name as it should. This may be related to using NET8 to connect. (Any NET8 connection seems to return less than I would expect)
As of post Alpha-4, the dco2 module will inspect environment variables for debugging. These are
- DCO2TRACELOG for logging all DCO2 trace events
- DCO2TRACEDUMP for logging error events
- DCO2TRACESIZE for resizing the trace table
- DCO2TRACEFLAGS for controlling which events are traced
Each of these environment variables, if set, is the name of the file to record the trace table to. In particular, setting DCO2TRACEDUMP is useful when reporting problems, as it contains the last N (usually 511) entries of the trace table. The size of the trace table is controlled by the environment variable DCO2TRACESIZE. The default is 512 entries. Each entry in the trace table consumes 10 words (32 bit words) or 40 bytes of memory, so the default trace table is 20K. The events recorded in the trace log is set by the environment variable DCO2TRACEFLAGS. This is an integer, the default is 255. The integer is the OR (additive value) condition of several numbers:
- 1 ENTRY
- 2 EXIT
- 4 ERROR
- 8 (unused)
- 16 PROGRAM
- 32 ORACLE
- 64 INFO
- 128 VERBOSE (usually handle calls)
Normally, the following trace codes are used:
- 17 FUNCTION ENTRY
- 18 FUNCTION EXIT
- 33 ORACLE CALL
- 34 ORACLE RETURN
- 36 ORACLE ERROR
- 65 INFO ARGUMENTS
- 66 INFO RESULT
- 161 HANDLE CALL
- 162 HANDLE RETURN
The default DCO2TRACEFLAGS of 255 will capture all trace events. This value will be set to zero if the trace table is zero entries.
The format of the trace table is subject to change at any time.