ObjectStore C++ API User Guide

Index

A

abort()
os_transaction, defined by 81
abort_only
os_transaction, defined by 74
abort_top_level()
os_transaction, defined by 81
aborting
the current transaction 81
a specified transaction 81
the top-level transaction 81
transaction 71
access control
group 179
and locking 189
owner 179
permission check 181
permissions 178
permissions API 183
primary group 179
schema key 191
schema key API 193
schema key mismatch 192
segment-level 183
address space
deferred assignment 7
immediate assignment 7
allow_external_pointers()
os_database, defined by 61
os_segment, defined by 61
always_ignore_illegal_pointers()
objectstore, defined by 172
application schema databases
defined 10
application schema source files 53
application schemas
defined 9
applications
building 10
arrays
description 109
Asian characters, detecting encoding 211
autodetection
ambiguous cases 213
automatic detection of source string encoding 213

B

bags
description 109
iterating over 134
batch schema installation 55
begin()
os_transaction, defined by 76
binary relationships
See inverse data members
building ObjectStore applications
schema generation 10

C

Cache Manager
defined 3
cache, client
See client cache
cardinality()
os_collection, defined by 129
change_schema_key()
os_database, defined by 193
check_illegal_pointers mode 171
class, system-supplied
os_str_conv 211-219
-classes_to_be_recycled option to ossevol 204
-classes_to_be_removed option to ossevol 204
client cache
defined 3
close()
os_database, defined by 28
closing databases 27
clustering
advantages 16
basic 45
collections
array 109
bag 109
choosing a type 108
combining 136
comparing 136
copying 136
decision tree 110
defined 102
determining cardinality of 129
dictionary 110
element type parameter 115
initializing the collections facility 104
inserting elements into 123
iteration 133
list 109
parameterized and nonparameterized 116
removing elements from 125
set 108
testing to see if empty 129
traversal 133
commit()
os_transaction, defined by 76
concurrency control
transactions 70
create()
os_Set, defined by 118
create_root()
os_database, defined by 48
create_segment()
os_database, defined by 60
creating databases 20
creating persistent objects 33
creating segments 60
cross-database pointers
and absolute directory 65
extending the validity of 61
performance considerations 61
and relative pathname 63
resolution 63
cursors
default 133

D

data integrity 152
database access control 178
database roots
additional type safety 51
clustering of 49
defined 17
deleting 52
and entry points 48
getting the value of 50
setting the value of 49
database schemas
using 9
databases
See also rawfs databases
closing 27
creating 20
destroying 23
determining open status 29
in ObjectStore 2
lookup 30
modes 21
nested opens 28
opening 25
read-only access 25
schema database 21
types of access 180
default cursor 133
delete, persistent
See persistent delete
deleting roots 52
destroy()
os_Array, defined by 122
os_Bag, defined by 122
os_Collection, defined by 122
os_database, defined by 23
os_Dictionary, defined by 122
os_List, defined by 122
os_Set, defined by 122
destroying databases 23
dictionaries
creating 120
definition 110
example 145
header files required 138
lookup 140
removing elements from 125
directories
and databases 31
rawfs 5
types of access 180
-drop_obsolete_indexes option to ossevol 205
dynamic transactions
See also transactions

E

element type parameter 115
empty()
os_collection, defined by 129
encoding, Japanese 211
entry points
and data retrieval 47
defined 17
retrieving 50
environment variables
OS_SCHEMA_DLL_ID 237
OS_SCHEMA_INFO_NAME 237
err_coll_not_supported exception 131
err_database_exists exception 21
err_database_not_found exception 25, 26, 30
err_database_not_open exception 48
err_opened_read_only exception 26, 195
err_root_exists exception 48
err_schema_database exception 21
err_schema_key exception 193, 195
err_schema_validation_error exception
handling 58
err_type_mismatch exception 51
err_uninitialized exception 192
err_write_permission_denied exception 74, 76
errors, notification 98
<Esc> characters
detecting JIS strings 214
EUC 211
-explanation_level option to ossevol 205

F

fault tolerance
transactions 70
file databases
access granularity 180
setting access 178
file systems
ObjectStore 2
find_root()
os_database, defined by 47, 50
first()
os_Cursor, defined by 134
freeze_schema_key()
os_database, defined by 194

G

generating schema
description 10
get_access_control()
os_segment, defined by 187
get_all_segments_and_permissions()
os_database, defined by 187
get_check_illegal_pointers()
objectstore, defined by 172
os_segment, defined by 171
get_current()
os_transaction, defined by 82
get_default()
os_segment_access, defined by 185
get_default_check_illegal_pointers()
os_database, defined by 171
get_default_null_illegal_pointers()
os_database, defined by 173
get_name()
os_database_root, defined by 48
get_null_illegal_pointers()
objectstore, defined by 174
os_segment, defined by 173
get_pathname()
os_database, defined by 30
get_primary_group()
os_segment_access, defined by 184
get_thread_locking()
objectstore, defined by 85
get_value()
os_database_root, defined by 50
global transaction 223
groups 179

H

header files
relat.hh 153
relationship 153

I

illegal pointers
check_illegal_pointers mode 171
defined 152
null_illegal_pointers mode 173
incremental schema installation 55
initialize()
objectstore, defined by 104
os_collection, defined by 104
insert()
os_Collection, defined by 123
installing schema incrementally 55
installing schema using batch 55
integrity control 152
invalid pointer 42
inverse data members
defined 152
function body macros 156
many-valued relationship 161
single-valued relationship 158
iteration
traversing a collection with cursor 133

J

JIS 211

K

key mismatch 192

L

lexical transactions 72
lists
description 109
-local_references_are_db_relative option to ossevol 205
locking
for multiple threads 84
and segment-level permissions 189
timeouts 78
two-phase 77
lookup()
os_database, defined by 30

M

macro, system-supplied
os_index() 169
os_rel_1_1_body() 156
os_rel_1_m_body() 156
os_rel_m_1_body() 156
os_rel_m_m_body() 156
os_relationship_1_1() 156
os_relationship_1_m() 156
os_relationship_m_1() 156
os_relationship_m_m() 156
make_reachable_classes_persistent 53
memory mapping architecture 6
more()
os_Cursor, defined by 134
multithreaded applications 84

N

nested database opens 28
new, persistent
See persistent new
next()
os_Cursor, defined by 134
no_access
os_segment_access, defined by 183
notification errors 98
notification retrieval
methods 93
null_illegal_pointers mode 173

O

ObjectStore
registering as resource manager 225
ObjectStore Cache Manager
See Cache Manager
ObjectStore databases
See databases
ObjectStore directory
See directories
ObjectStore file system
See file systems
ObjectStore memory mapping architecture
See memory mapping architecture
ObjectStore process
See processes
ObjectStore Server
See Servers
ObjectStore/Single
databases supported 5
description 3
process diagram 4
objectstore, the class
always_ignore_illegal_pointers() 172
get_check_illegal_pointers() 172
get_null_illegal_pointers() 174
get_thread_locking() 85
initialize() 104
set_always_ignore_illegal_pointers() 174
set_always_null_illegal_pointers() 174
set_check_illegal_pointers() 172
set_current_schema_key() 194
set_incremental_schema_installation() 56
set_null_illegal_pointers() 174
set_thread_locking() 85
ObjectStore_xa_switch data structure 225
OMG Object Transaction Service (OTS) 223
open()
os_database, defined by 22, 28
opening databases 25
operator !=()
os_Collection, defined by 136
operator &=()
os_Collection, defined by 136
operator <()
os_Collection, defined by 136
operator <=()
os_Collection, defined by 136
operator -=()
os_Collection, defined by 136
operator =()
os_Collection, defined by 136
os_segment_access, defined by 186
operator ==()
os_Collection, defined by 136
operator >()
os_Collection, defined by 136
operator >=()
os_Collection, defined by 136
operator |=()
os_Collection, defined by 136
operators
comparison and assignment
dual purpose of 136
options
ossevol 204
os_Array, the class 109
destroy() 122
os_Bag, the class 109
destroy() 122
os_Collection, the class 109
destroy() 122
insert() 123
os_collection, the class
cardinality() 129
empty() 129
initialize() 104
os_Cursor, the class 133
first() 134
more() 134
next() 134
os_database, the class
allow_external_pointers() 61
change_schema_key() 193
close() 28
create_root() 48
create_segment() 60
destroy() 23
find_root() 47, 50
freeze_schema_key() 194
get_all_segments_and_permissions() 187
get_default_check_illegal_pointers() 171
get_default_null_illegal_pointers() 173
get_pathname() 30
lookup() 30
open() 22, 28
set_check_illegal_pointers() 171
set_default_check_illegal_pointers() 171
set_default_null_illegal_pointers() 173
set_incremental_schema_installation() 55
set_null_illegal_pointers() 173
set_relative_directory() 64
os_database_root, the class
get_name() 48
get_value() 50
set_value() 48
os_Dictionary, the class
destroy() 122
os_index(), the macro 169
os_List, the class 109
destroy() 122
OS_MARK_SCHEMA_TYPE(), the macro 53
os_rel_1_1_body(), the macro 156
os_rel_1_m_body(), the macro 156
os_rel_m_1_body(), the macro 156
os_rel_m_m_body(), the macro 156
os_relationship_1_1(), the macro 156
os_relationship_1_m(), the macro 156
os_relationship_m_1(), the macro 156
os_relationship_m_m(), the macro 156
OS_SCHEMA_DLL_ID environment variable
description 237
OS_SCHEMA_INFO_NAME environment variable
description 237
os_segment, the class
allow_external_pointers() 61
get_access_control() 187
get_check_illegal_pointers() 171
get_null_illegal_pointers() 173
set_access_control() 186
set_check_illegal_pointers() 171
set_null_illegal_pointers() 173
~os_segment_access()
os_segment_access, defined by 186
os_segment_access()
os_segment_access, defined by 185
os_segment_access, the class 183
get_default() 185
get_primary_group() 184
no_access 183
operator =() 186
~os_segment_access() 186
os_segment_access() 185
read_access 183
read_write_access 183
set_default() 185
set_primary_group() 184
os_Set, the class 108
create() 118
destroy() 122
os_str_conv class library 211
os_str_conv, the class 211-219
os_transaction, the class
abort() 81
abort_top_level() 81
begin() 76
commit() 76
get_current() 82
os_typespec, the class 36
os_with_mapped()
example 66
<ostore/coll/dict_pt.hh> header file 138
<ostore/relat.hh> header file 153
outbound relocation
skipping 8
owners 179

P

pages
as units of transfer 2
parameterized classes
purpose 12
permission checks 181
permissions
setting access to databases 178
permissions API 183
persistence
creating persistent objects 33
retrieving persistent objects 47
persistence independent of type
advantages 8
persistent allocation
database roots 17
persistent data
defined 2
storing 13
persistent delete 23, 33
persistent new 23, 33
persistent objects
creating 33
retrieving 47
persistent relocation maps 7
persistent storage
logical organization 5
physical organization 2
placement 33
pointers
validity 42
primary groups 179
PRM 7
process-local states 175
programming interfaces to ObjectStore 12
pseudoaddresses
definition 6

R

rawfs databases
access granularity 180
defined 31
setting access 178
rawfs directory
See directories
read_access
os_segment_access, defined by 183
read_only
os_transaction, defined by 74
read_write_access
os_segment_access, defined by 183
read-only database access 25
registering ObjectStore 225
relat.hh header file 153
relationship header files 153
relationship macros 156
relationships
defining 156
many-to-one 162
many-valued 161
one-to-many 162
and parameterized types 167
single-valued 158
relocation
outbound 7
PRM 7
skipping outbound 8
TRM 8
remote schemas 21
-resolve_ambiguous_void_pointers option to ossevol 205
resource manager 222
retrieving entry points 50
retrieving persistent objects 47
roots
See also database roots
additional type safety 51
deleting 52
and entry points 48

S

schema databases 21
schema evolution
defined 200
designing 207
planning 202
validation tasks 209
schema information
generation of 10
where stored 9
schema key API 193
schema keys 191
mismatch 192
schema source files
marking classes 53
purpose 10
schema verification
See schemas, compatibility
schema, database
See database schemas
schemas
See also database schemas
batch installation 55
compatibility
schema validation 58
incremental installation 55
advantages 56
installation 55
remote 21
source files 53
segments
as units of transfer 60
compatible permissions 190
creating 60
definition 2
compared to pages 60
types of access 180
serializability 77
See also locking
Servers
defined 3
set_access_control()
os_segment, defined by 186
set_always_ignore_illegal_pointers()
objectstore, defined by 174
set_always_null_illegal_pointers()
objectstore, defined by 174
set_check_illegal_pointers()
objectstore, defined by 172
os_database, defined by 171
os_segment, defined by 171
set_current_schema_key()
objectstore, defined by 194
set_default()
os_segment_access, defined by 185
set_default_check_illegal_pointers()
os_database, defined by 171
set_default_null_illegal_pointers()
os_database, defined by 173
set_incremental_schema_installation()
objectstore, defined by 56
os_database, defined by 55
set_null_illegal_pointers()
objectstore, defined by 174
os_database, defined by 173
os_segment, defined by 173
set_primary_group()
os_segment_access, defined by 184
set_relative_directory()
os_database, defined by 64
set_thread_locking()
objectstore, defined by 85
set_value()
os_database_root, defined by 48
sets
description 108
SJIS 211
strict two-phase locking 77
system calls
ensuring data access 66

T

-task_list option to ossevol 204
thread locking
enabling and disabling 85
threads
disabling thread locking 18
how thread locking works 84
transaction branch 223
transaction manager 221
transactions
aborting 71
effect of aborting 16
choosing boundaries 72
effect of committing 16
and concurrency control 70
defined 70
dynamic
compared to lexical 72
using 76
and fault tolerance 70
global compared to local 85
grouping code into 79
lexical 72
and locking 77
and read-locking 77
and rolling back persistent state 81
using 72
using to access persistent data 16
why required 84
and write-locking 77
transient allocation 45
transient relocation maps 8
transitive closure operation
generating schemas 10
traversing collections 133
TRM 8
two-phase commit 222
two-phase locking 77
typespecs 36

U

Unicode 211
update
os_transaction, defined by 74
-upgrade_vector_headers option to ossevol 205
UTF-8 211

V

valid pointer 42

X

X/Open Distributed Transaction Processing (DTP) model 221
XA 221


[previous]

Copyright © 1997 Object Design, Inc. All rights reserved.

Updated: 03/31/98 17:06:31