4
Transaction handling (or the use of mnesia:async_dirty) is not very
5
good at error checking. Code to handle errors from transactions must
6
be added. Right now it is not possible to mix atomic transactions
7
with dirty 'transactions' (i.e. async_dirty) and still check the
8
results consistently. This must be fixed if we are to read with
9
async_dirty instead of transaction, since we still want to do all
10
the writes with transaction and not async_dirty.
11
(This point might be moot. Simple reads are now done with
12
mnesia:dirty_read/1 outside of transactions).
15
There are some places in the source code marked with '***' where the
16
code should be verified. It mostly concerns minor unresolved
17
unclarities in the specification.
19
** orber_ifr_contained.erl
20
In move/4 there is a call to orber_ifr_contained:lookup_name/5. The
21
third argument, Levels_to_search, is set to -1, which means search
22
all contained objects. This is probably correct.
24
** orber_ifr_interfacedef.erl
25
The function describe_interface/1 describes the interface without
26
its inherited interfaces. It is not clear whether this is correct or
27
not. It is possible to get a description of the inherited interfaces
28
by mapping describe_interface/1 on the list if interfaces returned
29
by get_base_interfaces/1. Also, since the structs
30
InterfaceDescription and FullInterfaceDescription both have a field
31
named base_interfaces, it is possible to get a description of the
32
inherited attributes by examining that field and applying a describe
36
create_union_tc/4 sets the fifth element in the typecode tuple to
37
-1, meaning no default case.
39
** orber_ifr_repository.erl
40
The PrimitiveDef with kind pk_objref has an empty Id and an empty
41
Name. This is perhaps not correct.
43
** orber_ifr_typecode.erl
44
None of the functions in this module are fully implemented and they
47
** orber_ifr_uniondef.erl
49
What should the value of the discriminator-typecode be when updating
50
the type attribute? (CORBA 2.0, p 6-20). For now we just leave it
51
unchanged, but this is perhaps not the right thing to do.
53
* Exceptions should give more information about the failure.