Zixuan Chen
9758303c28
Merge pull request #15 from loro-dev/feat-recursive
...
feat: recursive type
2022-11-14 10:31:10 +08:00
Zixuan Chen
fa63687698
refactor: remove proptest feature
2022-11-13 21:22:49 +08:00
Zixuan Chen
743e2b597b
chore: fix all warnings
2022-11-11 22:44:18 +08:00
Zixuan Chen
0d0603d75f
feat: get value deep
2022-11-11 22:26:06 +08:00
Zixuan Chen
737c14e99a
fix: update bumpalo fix potential leaks
2022-11-10 22:34:49 +08:00
Zixuan Chen
8242a598af
Merge branch 'main' into feat-recursive
2022-11-10 15:34:21 +08:00
Zixuan Chen
fbe4cc7ef8
doc: remove redundant todos and logics
2022-11-10 15:10:53 +08:00
Zixuan Chen
42db1057d2
doc: update range map doc
2022-11-10 12:00:05 +08:00
Zixuan Chen
e298128f8d
refactor: simplify code
...
the threshold is useless because most of the nodes
will have at least MAX_CHILDREN_NUM/2 children
2022-11-10 01:37:23 +08:00
Zixuan Chen
97709c5af3
chore: remove debug code
2022-11-10 01:27:24 +08:00
Zixuan Chen
5027da1e2e
perf: binary search for global tree trait
2022-11-10 01:17:22 +08:00
Zixuan Chen
592199ab65
fix: set small range err
2022-11-09 23:57:13 +08:00
Zixuan Chen
b4cdc817d7
doc: new range map doc
2022-11-09 22:54:07 +08:00
Zixuan Chen
498cc7f2a7
perf: better set range strategy
...
and use heap mode in cursor map
2022-11-09 21:55:53 +08:00
Zixuan Chen
e85efa7d01
perf: simplify global tree cache update
2022-11-09 21:31:28 +08:00
Zixuan Chen
59d9c9ba34
fix: better capacity setting
2022-11-09 20:07:53 +08:00
Zixuan Chen
6eff5ddd3f
refactor: refine small set
2022-11-09 19:37:47 +08:00
Zixuan Chen
1653f8d109
perf: optimize insert at the range end
2022-11-09 18:42:13 +08:00
Zixuan Chen
0988b74254
chore: utils
2022-11-09 17:54:06 +08:00
Zixuan Chen
58fb7de26c
fix: remove changes error freeze behavior
...
and cover more cases that can be applied directly
2022-11-09 13:53:12 +08:00
Zixuan Chen
5c0c09e2d1
perf: apply edits directly when possible
2022-11-09 12:18:27 +08:00
Zixuan Chen
8616f4d3b0
chore: cargo fix
2022-11-08 23:51:31 +08:00
Zixuan Chen
e7af203efa
Merge branch 'chore-clean-todos'
2022-11-08 12:41:11 +08:00
Zixuan Chen
0acb003fe1
chore: update todo doc
2022-11-08 12:41:01 +08:00
Zixuan Chen
f7821f0515
fix: use after free in heap mode when deleting
2022-11-08 11:39:58 +08:00
Zixuan Chen
e833c1d5d7
chore: remove redundant todo
2022-11-08 10:50:55 +08:00
Zixuan Chen
b086185d86
chore: refine doc
2022-11-07 15:25:48 +08:00
Zixuan Chen
420d29e42f
chore: add doc for heapmode
2022-11-07 15:24:02 +08:00
Zixuan Chen
82ef8a42ee
refactor: rename modes to HeapMode and BumpMode
2022-11-07 15:20:49 +08:00
Zixuan Chen
a3df07bf5c
refactor: make Bump mode newtype
2022-11-07 15:19:48 +08:00
Zixuan Chen
c7d3e01087
refactor: no boxing for T in RleTree
...
and make Heap mode as the default mode, because users
should be aware of Bump mode's limitation before using it
2022-11-07 15:10:36 +08:00
Zixuan Chen
62891e25b3
fix: use heap mode in text state
...
Fix #8
2022-11-07 14:26:10 +08:00
Zixuan Chen
303b1c6787
chore: cargo fix
2022-11-07 14:21:06 +08:00
Zixuan Chen
24cd11f59e
refactor: make bump optional in rle tree
2022-11-07 14:16:53 +08:00
Zixuan Chen
dd2c2701c4
chore: more debug info
2022-11-01 23:07:30 +08:00
Zixuan Chen
df1892bd4e
refactor: merge reverse deletions
...
fix: counter span merge err
2022-11-01 17:16:11 +08:00
Zixuan Chen
6e03c9c04b
refactor: extract remote op
2022-10-31 23:50:00 +08:00
Zixuan Chen
27c4b1ca2b
refactor: remove change freeze field
2022-10-31 22:35:37 +08:00
Zixuan Chen
1e9d5769f3
fix: add debug info & reduce 40% mem usage
2022-10-31 21:42:19 +08:00
Zixuan Chen
9c35aa266c
fix: reduce heap alloc
2022-10-31 20:40:39 +08:00
Zixuan Chen
8cfe9f2772
perf: reduce heap alloc
2022-10-31 20:06:56 +08:00
Zixuan Chen
43c28608c6
fix: reduce heap alloc
2022-10-31 19:27:13 +08:00
Zixuan Chen
87227ad39a
Merge branch 'refactor-parallel' into feat-wasm
2022-10-28 18:49:01 +08:00
Zixuan Chen
c8d5127213
chore: cargo style fix
2022-10-28 18:28:55 +08:00
Zixuan Chen
16e3d6f3cb
chore: bk
2022-10-28 17:19:58 +08:00
Zixuan Chen
bf8973c758
feat: set range
...
fix: update cache
chore: remove useless tests
chore: add bench script
2022-10-28 15:25:11 +08:00
Zixuan Chen
b80a70bb2d
fix: reduce unsafe code
2022-10-27 16:10:22 +08:00
Zixuan Chen
328d0517c0
chore: update crdt-list dep
2022-10-26 23:35:21 +08:00
Zixuan Chen
95e514b329
refactor: simplify delete
2022-10-26 23:31:34 +08:00
Zixuan Chen
105ab9b5ef
chore: micro optimization
2022-10-26 23:31:34 +08:00
Zixuan Chen
9770fb50f3
chore: cargo fix
2022-10-26 23:31:34 +08:00
Zixuan Chen
6a2da8a01f
fix: avoid potential memory leak
2022-10-26 23:31:34 +08:00
Zixuan Chen
dc4571f389
refactor: remove unnecessary field
2022-10-26 23:31:34 +08:00
Zixuan Chen
02ebfbc0fc
fix: remove a few unsafe blocks about create cursor
2022-10-26 23:31:34 +08:00
Zixuan Chen
e7daca728b
refactor: cursor should not impl copy
2022-10-26 23:31:34 +08:00
Zixuan Chen
b280c21860
refactor: add RleVecWithLen to impl HasLength
2022-10-26 23:31:34 +08:00
Zixuan Chen
22f9ba3f3c
refactor: rename len method in old rlevec
2022-10-26 23:31:34 +08:00
Zixuan Chen
5220ca70f1
refactor: move rle vec impl
2022-10-26 23:31:34 +08:00
Zixuan Chen
0d89349731
refactor: use rle vec for ops
2022-10-26 23:31:34 +08:00
Zixuan Chen
1c5cd948ed
feat: new rle vec
2022-10-26 23:31:34 +08:00
Zixuan Chen
79aec7544a
refactor: rename HasLength functions
2022-10-26 23:31:34 +08:00
Zixuan Chen
e521229da2
refactor: move trait logic to one file
2022-10-26 23:31:34 +08:00
Zixuan Chen
7e5c9b0b0f
fix: rename has global index
2022-10-26 23:31:34 +08:00
Zixuan Chen
d69eca5dc5
refactor: rename rle vec to rle vec with index
2022-10-26 23:31:34 +08:00
Zixuan Chen
bfd5e090d9
refactor: use list slice
2022-10-26 23:31:34 +08:00
Zixuan Chen
5a95a3c04d
chore: cargo fix
2022-10-26 23:31:34 +08:00
Zixuan Chen
7284301ce8
doc: add sliceable doc
2022-10-26 23:31:34 +08:00
Zixuan Chen
478491831d
fix: rle iter logic
2022-10-26 23:31:34 +08:00
Zixuan Chen
b0572016a0
fix: effect iter, get_cursor_at_id_span bug
2022-10-26 23:31:34 +08:00
Zixuan Chen
9157e75ed7
fix: iter bug & lamport bug & set init len for tracker
2022-10-26 23:31:34 +08:00
Zixuan Chen
cf3e3ee361
fix: vec slice bug
2022-10-26 23:31:34 +08:00
Zixuan Chen
a2fcd73b44
fix: should filter out non-active spans on delete
2022-10-26 23:31:34 +08:00
Zixuan Chen
ec07825c4f
fix: slice issue
2022-10-26 23:31:34 +08:00
Zixuan Chen
b099b4507c
fix: add 2 site tests & fix update cursor bug
2022-10-26 23:31:34 +08:00
Zixuan Chen
0cd640340a
chore: cargo style fix
2022-10-26 23:31:34 +08:00
Zixuan Chen
788808b055
fix: basic import export test
2022-10-26 23:31:34 +08:00
Zixuan Chen
61c27ca58b
fix: fix a few bugs
2022-10-26 23:31:34 +08:00
Zixuan Chen
796317097d
test: start integration testing
2022-10-26 23:31:34 +08:00
Zixuan Chen
5c47f2e04e
feat: simple export and import
2022-10-26 23:31:34 +08:00
Zixuan Chen
d1e1143c58
chore: impl basic framework of text applying
2022-10-26 23:31:34 +08:00
Zixuan Chen
9cd360e511
refactor: list slice
2022-10-26 23:31:34 +08:00
Zixuan Chen
8f6dd65522
feat: dag partial iter
2022-10-26 23:31:34 +08:00
Zixuan Chen
d47fe2df8c
test: use proptest factor to switch proptest mode
2022-10-26 23:31:34 +08:00
Zixuan Chen
9d66aeb511
test: simplify proptest
2022-10-26 23:31:34 +08:00
Zixuan Chen
0bcf19038d
chore: init apply logic
2022-10-26 23:31:34 +08:00
Zixuan Chen
aae1b2a322
refactor: simplify cursor code
2022-10-26 23:31:34 +08:00
Zixuan Chen
76269a8ca7
chore: cargo fix
2022-10-26 23:31:34 +08:00
Zixuan Chen
7c032b6321
fix: origin left should points to non-deleted
2022-10-26 23:31:34 +08:00
Zixuan Chen
81b8f2c591
fix: simplify create level when apply update
2022-10-26 23:31:34 +08:00
Zixuan Chen
f760aad046
test: add bench facilities
2022-10-26 23:31:34 +08:00
Zixuan Chen
7f728db495
fix: yata fuzzing works now
2022-10-26 23:31:34 +08:00
Zixuan Chen
d36c41b7cd
fix: tree balance issue
2022-10-26 23:31:34 +08:00
Zixuan Chen
a7ce6ddfd6
fix: adapt crdt-list change
2022-10-26 23:31:34 +08:00
Zixuan Chen
a93d9f762d
fix: cursor should not use Deref
...
`crdt-list` expected derefed cursor to be a sliced operation, but it was not.
so I updated crdt-list to use a GetOp trait instead of Deref, where
users may slice the op if they want to.
2022-10-26 23:31:34 +08:00
Zixuan Chen
d34abeef92
fix: insert map logic bug
2022-10-26 23:31:34 +08:00
Zixuan Chen
4213d4c488
fix: crdt-list yata integrate err
2022-10-26 23:31:34 +08:00
Zixuan Chen
3fb88bde6e
fix: build links between leaf nodes
2022-10-26 23:31:34 +08:00
Zixuan Chen
5104e94cd0
fix: fix several iter & delete bug
...
most of the bugs are related to len / content_len
2022-10-26 23:31:34 +08:00
Zixuan Chen
280382c39c
fix: yata id spans generate bug
2022-10-26 23:31:34 +08:00
Zixuan Chen
bc980c5b02
feat: iter update in rle tree
2022-10-26 23:31:34 +08:00