Anton
66283fbc1e
doc: ncruces example
2024-06-10 22:13:31 +05:00
Anton
818954d339
refactor: use vfs=memdb instead of mode=memory&cache=shared
...
Shared cache is discouraged. The supported alternative
(and increasingly recommended by SQLite developers),
is the memdb VFS (which I believe is supported by all drivers).
I'm sure modernc has it, and mattn also does if compiled with
SQLITE_ENABLE_DESERIALIZE, which became the default in 2021.
https://github.com/ncruces/go-sqlite3/issues/94#issuecomment-2157679766
2024-06-10 21:55:49 +05:00
Anton
f8bd947de1
refactor: single-statement sql exec
...
Multi-statement DB.Exec implementations are inconsistent
(mattn/modernc) or missing (ncruces), and the performance
benefits are questionable, so I decided to switch to single
statements.
2024-06-10 21:39:11 +05:00
Anton
45e88a2f1d
doc: readme - performance
2024-06-10 10:13:25 +05:00
Anton
22d9def071
doc: granular docs
2024-06-10 09:09:50 +05:00
Anton
7bf2940748
fix: cmd/redka - remove duplicate driver import
2024-06-09 18:54:58 +05:00
Anton
5692cf5488
doc: db - the pragma problem ( #28 )
2024-06-09 02:22:27 +05:00
Anton
6a6119f0b4
test: parser - case-insensitive string comparison
2024-06-09 01:45:46 +05:00
Anton
eccd6aa75e
fix: db - set pragmas in connection string ( #28 )
2024-06-09 01:37:00 +05:00
Anton
673d1e5e15
fix: cmd/redka - enforce pragmas on each connection ( #28 )
2024-06-09 01:09:43 +05:00
Anton
05f54ab8b2
doc: redka - OpenDB allows pragma
2024-06-09 00:16:11 +05:00
Anton
2e507f8319
fix: command - always return non-nil command when parsing ( fix #27 )
...
To avoid panic when calling pcmd.Error in handlers.parse.
2024-06-09 00:14:12 +05:00
Anton
ce62018609
fix: parser - case-insensitive string comparison
2024-06-08 23:42:52 +05:00
Anton Zhiyanov
dd87141d07
doc: funding
2024-06-08 23:41:48 +05:00
Anton
72a3b9f5a5
doc: readme - v0.5.1
2024-06-07 13:53:34 +05:00
Jo
f631c08f30
build: fix macos amd64 build ( #26 )
v0.5.1
2024-06-07 13:41:42 +05:00
Anton
c6b4e5c707
feat: command - lolwut
2024-06-06 16:57:29 +05:00
Anton
1bc2e5436e
test: rkey - expire then set
2024-06-02 19:30:53 +05:00
Anton
4578305b25
refactor: redka - allow pragma in OpenDB
2024-06-02 19:25:34 +05:00
Anton
190d4dc3b0
doc: libsql example
2024-05-26 15:22:22 +05:00
Anton
788ceb3c50
fix: sqlx - ignore empty pragma map
2024-05-26 15:15:31 +05:00
Anton
33590cd27f
impr: redka - driver name option
2024-05-26 14:35:32 +05:00
Anton
4294bbf153
impr: redka - OpenDB and custom pragmas
2024-05-26 13:53:53 +05:00
Anton
495ee53db2
doc: readme - v0.5.0 download links
2024-05-20 19:03:30 +05:00
Anton
d0f89c633f
doc: readme - v0.5.0
2024-05-20 18:59:17 +05:00
Anton
470ed7bcd3
feat: command - set
v0.5.0
2024-05-18 18:50:55 +05:00
Anton
90fd5e9c7f
feat: sets
2024-05-08 23:04:28 +05:00
Anton
91766abaaa
doc: readme - list typo
2024-05-06 16:45:49 +05:00
Anton
cfaf930f80
doc: readme - v0.4.0
2024-05-05 18:13:30 +05:00
Anton
7b25c85f8f
refactor: sqlx - add vkey view
v0.4.0
2024-05-05 15:55:32 +05:00
Anton
31c07ca9a4
refactor: sqlx - simpler view queries
2024-05-05 15:55:24 +05:00
Anton
5b59de3888
refactor: docker - use valkey-cli for smaller image
2024-05-05 15:30:27 +05:00
Anton
4aff4a9033
fix: command - distinguish between key not found and zero value
2024-05-04 23:33:37 +05:00
Anton
91ba6db411
impr: command - dbsize, ttl, type
2024-05-04 20:54:30 +05:00
Anton
1a54e3205b
impr: rkey - len
2024-05-04 20:53:15 +05:00
Anton
043f1c123b
impr: docker - healthcheck using ping ( fix #17 )
2024-05-04 20:17:47 +05:00
Anton
05aeb4be39
refactor: rstring - single-query set
2024-05-04 10:13:25 +05:00
Anton
5acaeaa21e
refactor: sqlx - rename key_id to kid
2024-05-04 01:24:50 +05:00
Anton
4f3ce933b4
refactor: sqlx - strict tables
2024-05-04 01:06:46 +05:00
Anton
d692027cfc
refactor: disallow the same key for different data types
...
Duplicate key names, introduced in 1b55ad8 , do not play
well with rkey methods like Get, so I decided to undo
the change and settle for unique key names and
"key type mismatch" checking.
Unlike the v0.3 implementation, Redka now checks for
"key type mismatch" situations using the NOT NULL constraint
on rkey update instead of a separate ON UPDATE trigger, so
there is (almost) no performance penalty.
The general advice still applies:
Please don't use the same key for different data types.
It's a VERY bad idea.
2024-05-03 17:08:16 +05:00
Anton
24af28e0f0
refactor: rkey - incr version on expire/persist
2024-05-03 09:32:21 +05:00
Anton
4e76dda6e2
test: rstring - check key version
2024-05-03 09:23:42 +05:00
Anton
2901796811
refactor: rzset - store zset length
2024-05-03 09:13:19 +05:00
Anton
d8be92e8f5
refactor: rhash - store hash length
2024-05-03 08:05:07 +05:00
Anton
da2359ac13
refactor: rlist - store list length
2024-05-02 23:28:03 +05:00
Anton
dcd246d115
refactor: rkey - hardcode initial key version
2024-05-01 23:49:55 +05:00
Anton
b3e7a47be5
refactor: core - rename TypeSortedSet to TypeZSet
2024-05-01 23:44:33 +05:00
Anton
4459afa8cf
refactor: allow keys with same name and different types
2024-05-01 23:38:18 +05:00
Anton
fc9070d238
refactor: change ErrNotFound value
2024-05-01 17:58:27 +05:00
Anton
c7eb7e7931
feat: command - list
2024-05-01 17:06:36 +05:00