blob: 04a0aea5772b17d2fdc12be8f713b3d08894f106 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
|
Missing pieces:
- fix long text index entries (for new general sort order)
* ???
- implement foreign key index creation & relationship creation
* MEDIUM
- implement table creation w/ complex columns
* MEDIUM
- implement (optional) foreign key enforcement
* MEDIUM
- implement write support for properties
* EASY
- implement table, column, index renaming
* EASY
- implement table, column, index deletion
* EASY - MEDIUM
- implement more comprehensive unicode compression write support
* EASY? (have the code, do we trust it?)
- implement createReadOnlyTemp(InputStream) (delete temp file on close)
* EASY
- figure out how msaccess manages page/row locks
* MEDIUM
Refactor goals:
- simplify public API (separate "internal" and "external" api)
* separate table creation objects from existing metadata objects
* remove "simple" index support?
* remove "table traversal methods" from Table?
* enable integrity by default?
* remove import/export methods from Database?
* move database open/create options to DBBuilder
* tweak how import filters work to make them more flexible?
- tweak lookup apis (specify column vs column name)
* separate classes into more packages (api,builder,util,impl)
* remove debug log blocks
* add Row interface
* change savepoint to use table number instead of name?
* don't use columnimpl for creating tables
* clean up columnimpl/tableimpl constructors
* add updateCurrentRow(Map), add updateRow(Row)
* sort out query types
- clean up javadocs
- enhance public api classes
- add @usage tags to util classes
* add unit tests for Row update/delete methods, add/update *FromMap methods
* add reason to unsupop throws for indexes
* remove static methods in CursorImpl/IndexCursorImpl
* create ComplexValue.Id and keep RowId
* remove DatabaseImpl from util classes
- remove unnecessary iterator class from impl classes? (what does this mean?)
* change CodecHandler usage to handle not-inline decoding
- pass filename to CodecHandler, enable pwd callbacks CallbackHandler
- pass custom context to CodecHandler?
- rework CryptCodecProvider to have custom
javax.security.auth.callback.CallbackHandler which is only invoked if
password is definitely required.
* rework attachment data handling
- implement page buffering in PageChannel
* need to implement logical flushing in update code (startUpdate/finishUpdate)
* limit size of IndexPageCache?
- make non-thread-safeness more explicit
- refactor free-space handlers Table/Column?
* public api final cleanup:
* Database
- changes
- simple index support gone
- foreign key constraints enforced by default
- "main" classes became interfaces
- advanced API functionality still remains in impl classes
- all new instance construction via builders
- iterable methods went away, iterable builder
- util classes moved to util package
- Row is now an interface
|