Azrenbeth
bf57e81f54
Log to stderr not to a file ( #74 )
2021-09-28 14:39:18 +01:00
Azrenbeth
dcfa67ea98
Add documentation for autocompressor ( #70 )
2021-09-28 13:38:01 +01:00
Azrenbeth
9bfd786f3b
Add pyo3 bindings to autocompressor so can be used from python ( #69 )
2021-09-28 09:32:50 +01:00
Azrenbeth
f822da9625
Add a binary crate to the autocompressor ( #68 )
2021-09-27 14:22:26 +01:00
Azrenbeth
b8e323c321
All printing replaced by logging ( #67 )
2021-09-27 12:20:12 +01:00
Azrenbeth
bc30942e2d
Add no-progress-bars feature so other packages can hide them ( #66 )
2021-09-27 11:35:40 +01:00
Azrenbeth
a069d8765a
Add method that compresses the chunks with lowest uncompressed state_group ids ( #72 )
2021-09-27 09:49:34 +01:00
Azrenbeth
3271221311
Add method that compresses next chunk of room ( #64 )
2021-09-20 09:21:59 +01:00
Azrenbeth
a9bc800b87
Add new package with methods to save and load compressor state ( #63 )
2021-09-16 09:55:14 +01:00
Azrenbeth
80795aa813
Dont send no-changes transaction to database ( #71 )
2021-09-15 10:09:43 +01:00
Azrenbeth
55ee83ce13
Don't panic in continue_run if no groups found within range ( #62 )
2021-09-14 17:29:48 +01:00
Azrenbeth
a409cdbd8e
Rename level current to head ( #61 )
2021-09-14 12:28:35 +01:00
Azrenbeth
8c72a0de52
Move setting up jemalloc out of library crate ( #60 )
2021-09-14 11:26:21 +01:00
Azrenbeth
a951ba4dae
Move the graph generation to before abort ( #56 )
2021-09-13 13:23:48 +01:00
Azrenbeth
4c3d6bd346
Add method to run the compressor starting from a particular compressor-state ( #55 )
2021-09-13 10:25:52 +01:00
Azrenbeth
d32f49303b
Add integration tests that check various config options ( #54 )
2021-09-09 14:26:14 +01:00
Azrenbeth
d908d13f8f
Add option to commit changes to the database automatically ( #53 )
2021-09-08 11:39:57 +01:00
Azrenbeth
65861de06e
Stops the compressor if it will lead to more rows in the database ( #52 )
2021-09-06 10:06:47 +01:00
Azrenbeth
3b5d7fd176
Add information on running options to README and --help output ( #51 )
2021-09-06 09:59:04 +01:00
Azrenbeth
0f7f2c2660
Setup framework to do integration testing ( #50 )
2021-09-06 09:52:13 +01:00
Azrenbeth
011f9f8da5
Wrote tests for Stats ( #49 )
...
wrote tests for Stats struct and whether the compressor accurately populates it
2021-08-16 15:17:38 +01:00
Azrenbeth
9a59b1121c
Wrote tests for compressor functions ( #48 )
...
* Wrote tests for create_new_tree
* wrote tests for get_delta
2021-08-16 15:10:36 +01:00
Azrenbeth
aa6137ce52
Wrote tests for Level struct functions ( #47 )
2021-08-16 15:04:06 +01:00
Azrenbeth
e5174f4181
Wrote tests for config::new() which is used by pyo3 code ( #46 )
2021-08-16 14:44:56 +01:00
Azrenbeth
5c248b5362
Wrote unit tests for functionality within lib.rs ( #45 )
2021-08-16 14:39:27 +01:00
Azrenbeth
63e1d6e3c9
Added option to only run the compressor on a range of state groups in a room ( #44 )
2021-08-12 16:01:12 +01:00
Azrenbeth
3290726990
Added option to output directed graphs of the group heirarchy before and after compression ( #43 )
...
It outputs nodes and edges information before and after the
compressor has run - these can be visualised in a tool like Gephi
A good way to visualise what the compressor is actually doing!
2021-08-04 11:56:42 +01:00
Azrenbeth
becb2937aa
Wrapped code with pyo3 so that the libary can be used from python ( #42 )
2021-08-03 09:44:51 +01:00
Azrenbeth
a887107607
Add documentation ( #41 )
...
Added documentation to lib.rs and database.rs files
2021-07-30 10:06:39 +01:00
Azrenbeth
013080f712
Azren/moved to lib ( #40 )
2021-07-28 13:25:44 +01:00
Azrenbeth
31e37996ea
Split up main ( #39 )
...
Moved code from inside the main function into function calls
2021-07-27 15:31:48 +01:00
Erik Johnston
f3b1dd0b8a
Add github actions ( #33 )
2021-05-20 12:13:45 +01:00
Erik Johnston
b33c498e99
Update dependencies
2021-03-19 18:42:48 +00:00
Erik Johnston
d2ab661b1d
Merge pull request #25 from heftig/update-deps
...
Cargo.toml: Update dependencies
2021-02-23 10:55:11 +00:00
Jan Alexander Steffens (heftig)
b07397b5e3
Cargo.toml: Update dependencies
2021-02-23 00:56:22 +01:00
Erik Johnston
4a56406fb3
Merge pull request #23 from ananace/postgres-ssl
...
Support postgres with SSL requirements
2021-02-22 14:05:16 +00:00
Alexander Olofsson
dc635bdd0e
Clean up postgres client creation slightly
2021-02-02 19:29:34 +01:00
Alexander Olofsson
9720b19332
Always use tls connector for postgres
2021-02-02 18:30:27 +01:00
Alexander Olofsson
8e691aec1f
Support postgres with SSL requirements
...
This stupidly just strips any ?sslmode= arguments from the postgres URI
and enables SSL without verification regardless of which mode the user
specifies.
2021-01-30 20:29:58 +01:00
Erik Johnston
1aac27ebb6
Merge pull request #12 from reivilibre/master
...
Add information from #2 to README about being race-safe
v0.1.0
2020-02-20 13:03:59 +00:00
Erik Johnston
be6cad0d61
Merge pull request #15 from heftig/modernize
...
Modernize the code
2020-02-20 13:02:49 +00:00
Jan Alexander Steffens (heftig)
ebbb8a01bf
Avoid having to count rows
2020-02-14 15:38:22 +01:00
Jan Alexander Steffens (heftig)
76ddeab12c
Simplify get_initial_data_from_db
...
From Jörg Sommer's PR:
https://github.com/matrix-org/rust-synapse-compress-state/pull/10
2020-02-14 15:38:22 +01:00
Jörg Sommer
c31ba2750f
main: new argument -m to give a minimal saving
...
Some compressions yield only a few hundred lines saving which isn't worth
the database update and the time needed to validate the compression. With
the new commandline argument `-m` the output would be suppressed, if not
at least the given number of database records would be saved.
2020-02-14 15:38:21 +01:00
Jörg Sommer
88fc47d819
main: add value_name() for max_state_group
...
To unify the spelling of parameters, i.e. all upper-casse, add the
`value_name()` for max_state_group.
2020-02-14 15:38:21 +01:00
Jörg Sommer
85d185fa98
Use character for split()
...
`cargo clippy` suggested to use a character instead of a string with a
single character.
See: <https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern >
2020-02-14 15:38:21 +01:00
Jörg Sommer
846ec8f898
Convert len() > 0 to ! is_empty()
...
`cargo clippy` suggested to use `is_empty()` instead of `len() > 0`,
because this doesn't require to calculate the whole length of the sequence.
See: <https://rust-lang.github.io/rust-clippy/master/index.html#len_zero >
2020-02-14 15:38:21 +01:00
Jan Alexander Steffens (heftig)
f9d3570363
Fix typo: Rename PGEscapse to PGEscape
2020-02-14 15:38:21 +01:00
Jan Alexander Steffens (heftig)
9990141d40
Ignore a warning from inside the clap macros
2020-02-14 15:38:21 +01:00
Jan Alexander Steffens (heftig)
edb5beb6dc
Regenerate Cargo.lock in the merge-friendlier format
...
Delete Cargo.lock and re-add it after a `cargo update`. Since we just
did the latter, the versions referenced do not change.
2020-02-14 15:38:15 +01:00