Raphaely D., Gregoire J.
Table of contents :
Send Us Your Comments……Page 23
Preface……Page 25
Part I OCCI Programmer’s Guide……Page 33
1 Introduction to OCCI……Page 35
Benefits of OCCI……Page 36
Building an OCCI Application……Page 37
Procedural and Nonprocedural Elements……Page 38
Data Definition Language Statements……Page 39
Queries……Page 40
Overview of PL/SQL……Page 41
Special OCCI/SQL Terms……Page 42
Client-Side Object Cache……Page 43
Associative and Navigational Interfaces……Page 44
Object Type Translator Utility……Page 45
2 Relational Programming……Page 47
Creating and Terminating an Environment……Page 48
Creating a Connection Pool……Page 49
Creating a Statement Handle to Execute SQL Commands……Page 52
Reusing a Statement Handle……Page 53
Types of SQL Statements in the OCCI Environment……Page 54
Parameterized Statements……Page 55
Callable Statements……Page 56
Modifying Rows Iteratively……Page 58
Executing SQL Queries……Page 59
Result Set……Page 60
Optimizing Performance by Setting Prefetch Count……Page 61
Executing Statements Dynamically……Page 62
Status Definitions……Page 63
Error Handling……Page 66
Null and Truncated Data……Page 67
Utilizing a Shared Server Environment……Page 69
Optimizing Performance……Page 73
3 Object Programming……Page 77
Working with Objects in OCCI……Page 78
Persistent Objects……Page 79
Transient Objects……Page 80
Creating Persistent and Transient Objects……Page 81
Creating Object Representations using the OTT Utility……Page 82
Basic Object Program Structure……Page 83
Basic Object Operational Flow……Page 84
Overview of Associative Access……Page 87
Inserting and Modifying Values……Page 88
Retrieving an Object Reference (REF) from the Database Server……Page 89
Pinning an Object……Page 90
Recording Changes in the Database……Page 91
Overview of Complex Object Retrieval……Page 92
Retrieving Complex Objects……Page 93
Working with Collections……Page 95
Fetching Embedded Objects……Page 96
Nullness……Page 97
Type Inheritance……Page 98
NOT INSTANTIABLE Types and Methods……Page 100
OTT Support for Type Inheritance……Page 101
A Sample OCCI Application……Page 102
4 Datatypes……Page 107
OCCI Type and Data Conversion……Page 108
Internal Datatypes……Page 109
Universal Rowid (UROWID)……Page 110
External Datatypes……Page 111
Description of External Datatypes……Page 114
Data Conversions……Page 126
Data Conversions for Date, Timestamp, and Interval Datatypes……Page 128
5 Introduction to LOBs……Page 131
Internal LOBs (BLOBs, CLOBs, and NCLOBs)……Page 132
LOB Values and Locators……Page 133
LOB Classes and Methods……Page 134
Creating LOBs……Page 137
Opening and Closing LOBs……Page 138
Reading and Writing LOBs……Page 140
Improving Read and Write Performance……Page 144
Updating LOBs……Page 145
Persistent Objects with LOB Attributes……Page 146
Transient Objects with LOB Attributes……Page 147
6 Metadata……Page 149
Overview of Metadata……Page 150
Describing Database Metadata……Page 151
Metatdata Code Examples……Page 153
Attribute Reference……Page 157
Parameter Attributes……Page 158
Table and View Attributes……Page 159
Procedure, Function, and Subprogram Attributes……Page 160
Type Attributes……Page 161
Type Attribute Attributes……Page 163
Type Method Attributes……Page 164
Collection Attributes……Page 165
Sequence Attributes……Page 167
Column Attributes……Page 168
Argument and Result Attributes……Page 169
List Attributes……Page 171
Database Attributes……Page 172
7 How to Use the Object Type Translator Utility……Page 175
How to Use the OTT Utility……Page 176
Specifying OTT Parameters……Page 184
Invoking the OTT Utility on the Command Line……Page 186
Overview of the INTYPE File……Page 188
OTT Utility Datatype Mappings……Page 190
OTT Type Mapping Example for C++……Page 198
Overview of the OUTTYPE File……Page 201
The OTT Utility and OCCI Applications……Page 202
OTT Utility Parameters for C++……Page 204
OTT-Generated C++ Classes……Page 205
Map Registry Function……Page 221
Extending OTT C++ Classes……Page 222
Example for Extending OTT Classes……Page 223
Example OCCI Application……Page 234
OTT Command Line Syntax……Page 262
OTT Utility Parameters……Page 264
Where OTT Parameters Can Appear……Page 271
Structure of the INTYPE File……Page 272
Nested #include File Generation……Page 274
SCHEMA_NAMES Usage……Page 277
Default Name Mapping……Page 279
Restriction Affecting the OTT Utility: File Name Comparison……Page 281
Part II OCCI API Reference……Page 283
8 OCCI Classes and Methods……Page 285
Summary of OCCI Classes……Page 286
OCCI Classes and Methods……Page 287
Bfile Class……Page 289
Summary of Bfile Methods……Page 290
Blob Class……Page 297
Summary of Blob Methods……Page 298
Summary of Bytes Methods……Page 308
Clob Class……Page 311
Summary of Clob Methods……Page 312
Summary of Connection Methods……Page 324
Summary of ConnectionPool Methods……Page 329
Date Class……Page 335
Summary of Date Methods……Page 336
Summary of Environment Methods……Page 348
IntervalDS Class……Page 354
Summary of IntervalDS Methods……Page 356
IntervalYM Class……Page 367
Summary of IntervalYM Methods……Page 368
Summary of Map Methods……Page 379
MetaData Class……Page 381
Summary of MetaData Methods……Page 382
Number Class……Page 388
Summary of Number Methods……Page 391
Summary of PObject Methods……Page 414
Ref Class……Page 421
Summary of Ref Methods……Page 422
Summary of RefAny Methods……Page 428
ResultSet Class……Page 431
Summary of RefAny Methods……Page 432
Summary of SQLException Methods……Page 453
Summary of Statement Methods……Page 455
Summary of Stream Methods……Page 499
Timestamp Class……Page 503
Part III Appendix……Page 517
A OCCI Demonstration Programs……Page 519
demo_rdbms.mk……Page 520
occiblob.cpp……Page 525
occiclob.cpp……Page 530
occicoll.cpp……Page 534
occidesc.cpp……Page 539
occidml.cpp……Page 548
occiinh.cpp……Page 552
occiobj.cpp……Page 559
occipobj.cpp……Page 563
occipool.cpp……Page 568
occiproc.cpp……Page 570
occistre.cpp……Page 573
Index……Page 577
Reviews
There are no reviews yet.