* initial simplification
* simplify forward pagination
* simplifies the backward pagination part
* removes old paginate proc
* revises comments, cleans up the code
* comments on initial paging query
* defines temporary variable for the paginate output
* adds timestamp to WakuRelayMessage
* converts float to float64
* generates timestamp using epochTime()
* tides up imports and generates timestamps using epochTime()
* updates changelog
* adds timestamp to the post_waku_v2_relay_v1_message query parameters
* Move Whisper type and protocol from nim-eth
- Import whisper_protocol and whisper_types
- Change import locations as appropriate
* Explicit errors in wakunode1
* cleans up store modules
* removes endians2 as an unused imports
* reorganizes imports
* fixes an ambiguous import
* adds comments re imports order
* adds message_store
* adds error field to history response
* unittest for protobuf enc/dec
* renames HistoryResponseError to Store Error and simplifies pagination logic
* reverts the naming of StoreError to HistoryResponseError
* fixes a unittest for invalid cursor
* renames OK to NONE
* enables pagination based on sender timestamp
* uncomments a test
* bumps up version number
* updates migration script
* clean up
* unpdates changelog
* undo removal of receiver timestamp
* updates message_storage
* uses epochTime()
* minor
* removes a comment
* removes receiver timestamp deletion migration script
* fixes formatting issues
* fixes a bad field name
* fixes field issue
* adjusts spacing
* adds queryFromWithPaging
* adds unit test for paged queryFrom
* adds a new resume with paging capability
* unittest for resumePaging
* fixes the bug
* implementes a second version of query with paging
* integrates the second version of resume
* clean up
* adds the error message
* fixes a format issue
* renames variables
* defines DefaultPageSize
* adds a todo
* updates a docstring
* gets the pagesize as proc input
* updates unittest description
* removes unused gcsafe pragma
* better var naming
* updates changelog
* updates changelog
* updates the TODO
* more debug logs
This is a pretty cure regex-based test, but should work.
For the diff to work this refspec needs to be added to the fetch
```
+refs/heads/master:refs/remotes/@{remote}/master
```
Signed-off-by: Jakub Sokołowski <jakub@status.im>
Adding a single Jenkinsfile for PR builds that can run on all three
platforms supported by our Jenkins CI setup.
Signed-off-by: Jakub Sokołowski <jakub@status.im>
* moves migration paths to the migration_types module
* moves USER_VERSION to the migration_types module
* updates migration execution condition to cover the peer store
* adds a message to the store if it is inserted to the db
* adds debug messages and checks migration path recursively
* deletes unused debug messages
* deletes commented codes
* clean up
* fixes a bug
* renames the first migration file of the message store
* adds timestamp to waku message store impl
* stores timestamp as int64
* adds untitest
* stores timestamp as seq of bytes
* minor
* re-orders unittest
* changes receiver timestamp to float64
* unit test for receiver timestamps
* adds comments
* reorder a few lines
* updates changelog
* more updates on changelog
* WIP
* WIP
* adds migration
* more debug messages
* passes the path to the migration scripts from message store module
* adds migration result type
* replaces migrationScripts with migrationScriptsResult
* adds path calculation to the message store
* removes some tests binary file
* removes redundant imports
* comments out user_version assignment in sqlite init
* more descriptive err messages
* clean up test file
* more info logs
* minor code format
* removes a todo
* minor updates
* remove a binary file
* unit tests for migration utils
* adds split script
* integrates split query to handle scripts with multiple commands
* updates migration script for v1
* updates the v1 migration script
* update user version
* updates script
* fixes a few bugs on the splitScript
* more debug logs
* adds float64 parameter support to sqlite3
* change in timestamp type in the script
* deletes float64 toBytes utils
* enables storage of timestamp as a real number in the sqlite db
* bump up script index
* comment edits
* removes migrate unit test
* adds todo and docstring
* updates changelog
* removes an unused item in .gitignore
* minor
* updates changelog
* organizes imports
* cleans up imports
* WIP
* updates script
fixes a few bugs on the splitScript
more debug logs
adds float64 parameter support to sqlite3
change in timestamp type in the script
deletes float64 toBytes utils
* edits migration util test
* remove an empty test file
* includes migration utils tests in
* deletes unused codes
* tides up imports
* adds range based filter to the filterMigrationScripts
* renames procs: removes Migration
* tides up imports
* edits docstring
* edits docstring
* edits docstring
* removes unused imports
* more clean up
* groups std imports
* updates changelog
* adds docstring for setUserVersion
* adds unittest for the migrate
* Update waku/v2/node/storage/message/waku_message_store.nim
Co-authored-by: RichΛrd <info@richardramos.me>
* Update waku/v2/node/storage/sqlite.nim
Co-authored-by: RichΛrd <info@richardramos.me>
* Update waku/v2/node/storage/sqlite.nim
Co-authored-by: RichΛrd <info@richardramos.me>
* removes split scripts
* fixes a naming issue
* fixes a bug
* fixes a typo
* adds a log re updated user_version
* fixes a proc naming mismatch
* fixes naming mismatch
* more descriptive var names
* adds migration script of the first user version
* moves migration to after persistMessages flag is checked
* deletes unused comment
* fixes a bug
* brings back split script
* adds unit tests for split scripts
* runs scripts one command at a time
* deletes a commented line
* relocates the migrate proc to sqlite.nim
* initial writeup
* adds migration tutorial
* adds User guides to db migration tutorial
* minor
* proofread
* replaces a broken link
* user-version to user_version
* some clarification
* some edits
* minor
* a quick wording fix
* minor
* final edits
* updates the changelog
* slight change
Co-authored-by: RichΛrd <info@richardramos.me>
* Add function for getting peer Id
* Modify Handle Cheque and Send Cheque function
* Include PeerInfo in debit and credit functions
* Minor changes to queryWithAccounting function
* adds timestamp to waku message store impl
* stores timestamp as int64
* adds untitest
* stores timestamp as seq of bytes
* minor
* re-orders unittest
* changes receiver timestamp to float64
* unit test for receiver timestamps
* adds comments
* reorder a few lines
* updates changelog
* more updates on changelog
* WIP: deduplicate
* add debug messages
* more debugging logs
* add timestamp to the message store
* converts resume result to uint64, removes some logs
* docstring for isDuplicate
* increments `added` before insertion into the db
* unit test for deduplication
* removes float to/from Bytes procs
* deletes extra spaces
* returns failed instead of the error
* minor
* minor
* adds changelog
In the `when isMainModule:` section of wakunode2.nim, the module
`./storage/message/waku_message_store` is imported, which in turn imports
waku's sqlite module and also the sqlite3_abi module from `vendor/`.
Outside of the `when isMainModule:` section, imports from waku's sqlite module
are not used in wakunode2. However, importing it at the top-level results in
the C code underlying sqlite3_abi to be compiled into whatever executable one
is building, and this is a problem if nim-waku is being consumed together with
another library, e.g. nim-sqlcipher, which links against a different build of
sqlite (sqlcipher being a superset of sqlite). The linker step fails with
reports of duplicate symbols for sqlite.
* adds timestamp to waku message store impl
* stores timestamp as int64
* adds untitest
* stores timestamp as seq of bytes
* minor
* re-orders unittest
* changes receiver timestamp to float64
* unit test for receiver timestamps
* adds comments
* reorder a few lines
* updates changelog
* more updates on changelog
* WIP
* WIP
* adds migration
* more debug messages
* passes the path to the migration scripts from message store module
* adds migration result type
* replaces migrationScripts with migrationScriptsResult
* adds path calculation to the message store
* removes some tests binary file
* removes redundant imports
* comments out user_version assignment in sqlite init
* more descriptive err messages
* clean up test file
* more info logs
* minor code format
* removes a todo
* minor updates
* remove a binary file
* unit tests for migration utils
* adds split script
* integrates split query to handle scripts with multiple commands
* updates migration script for v1
* updates the v1 migration script
* update user version
* updates script
* fixes a few bugs on the splitScript
* more debug logs
* adds float64 parameter support to sqlite3
* change in timestamp type in the script
* deletes float64 toBytes utils
* enables storage of timestamp as a real number in the sqlite db
* bump up script index
* comment edits
* removes migrate unit test
* adds todo and docstring
* updates changelog
* removes an unused item in .gitignore
* minor
* updates changelog
* organizes imports
* cleans up imports
* WIP
* updates script
fixes a few bugs on the splitScript
more debug logs
adds float64 parameter support to sqlite3
change in timestamp type in the script
deletes float64 toBytes utils
* edits migration util test
* remove an empty test file
* includes migration utils tests in
* deletes unused codes
* tides up imports
* adds range based filter to the filterMigrationScripts
* renames procs: removes Migration
* tides up imports
* edits docstring
* edits docstring
* edits docstring
* removes unused imports
* more clean up
* groups std imports
* updates changelog
* adds docstring for setUserVersion
* adds unittest for the migrate
* Update waku/v2/node/storage/message/waku_message_store.nim
Co-authored-by: RichΛrd <info@richardramos.me>
* Update waku/v2/node/storage/sqlite.nim
Co-authored-by: RichΛrd <info@richardramos.me>
* Update waku/v2/node/storage/sqlite.nim
Co-authored-by: RichΛrd <info@richardramos.me>
* removes split scripts
* fixes a naming issue
* fixes a bug
* fixes a typo
* adds a log re updated user_version
* fixes a proc naming mismatch
* fixes naming mismatch
* more descriptive var names
* adds migration script of the first user version
* moves migration to after persistMessages flag is checked
* deletes unused comment
* fixes a bug
* brings back split script
* adds unit tests for split scripts
* runs scripts one command at a time
* deletes a commented line
* relocates the migrate proc to sqlite.nim
* adds unit test for filter scripts
* adds filterScripts unittest testing varying zero-prefixed user versions
* minor
Co-authored-by: RichΛrd <info@richardramos.me>