Professional Documents
Culture Documents
Question: OTT works when I put all the options on the command line,
but not when I use a CONFIG file. What am I doing wrong?
Check the format of your CONFIG file carefully. Each option must
appear on a separate line, and no whitespace is permitted within
a line.
Question: I forgot to specify the name of the INTYPE file, but OTT did
not complain about this. What happened?
If the INTYPE file is not specified, all types in the user's schema will
automatically be translated.
Generally, yes. When OTT reads a the name of a database entity, the name
is automatically translated from the database character set to the character
set used by OTT. OTT then translates the name from the character set used
by OTT to the C compiler's character set. In order for OTT to read the name
of the database entity successfully, all the characters of the name must
be found in the OTT character set, although a character may have different
encodings in the two character sets.
The easiest way to guarantee that the character set used by OTT contains all
the necessary characters is to make it the same as the database character set.
The user specifies the character set that OTT uses by setting the NLS_LANG
environment variable, or by some other platform-specific mechanism.
In the release of Oracle8, each type has only one version, but
future version of Oracle8 may support multiple versions of a type.
Initialization of the type version table makes an OCI program
compatible with future releases of Oracle8. It is the responsibility
of the OCI programmer to declare a function prototype for the
initialization function generated by OTT, and to call that function.
OTT reports most, but not all, errors in the INTYPE file to the user.
A few errors in the INTYPE file are not reported by OTT, but cause
OTT to generate C declarations that will not compile successfully.
These errors are listed below:
bug 445456:
OTT doesn't warn the user if the user requests the same name for two
different types, or for two different attributes of the same type.
As a result, it is possible for two C structs or Java classes
generated by OTT to have the same name, or for two members of a
C struct or Java class to have the same name. These errors will be
detected by the compiler.
bug 449539:
If the user requests that declarations be generated into two (or more)
different #include files, each of which must include the other, OTT
does not report the error. The error is detected by the C compiler.
bug 1693635:
If a user is generating C++ (code=cpp) and uses the GENERATE AS clause
in the intype file to extend the generated OTT classes and a type
has attributes or parents of an extended type, then OTT does not
generate the proper includes in the header file. OTT should include
the header file(s) containing the extensions of the generated types,
not the generated header files. Please refer to the bug database
for more information.
2187330 C++ DESTRUCTOR IS NOT GENERATED FOR OBJECTS WHICH HAVE VECTOR OF
PTR ATTRIBUTE
OTT should generate the destructor code for objects which have
vector of PTR attribute.
OTT should also generate new operator for each of the derived
classes (this include generation of the prototype in .h file
and the definition in .cpp file)
When OTT was run to generate a .h file for all the object types
in a schema, it attempts to generate entries for PL/SQL packages
1764833 OTT GENERATES INCORRECT HEADER FILES WITH SUBTYPING AND INHERITANCE
There were multiple problems with the ott generated header when
types in the database were organized in type hierarchies