Commit Graph

389 Commits

Author SHA1 Message Date
Bennett Clement
a85f47310c Move where clause literal out of loop 2024-07-14 14:00:25 +08:00
Bennett Clement
e9647bf425 Fix comments display 2024-07-14 13:50:21 +08:00
Pekka Enberg
5b8de891e2 Merge pull request #139 from ethanniser/add-nix-flake 2024-07-14 08:10:57 +03:00
Pekka Enberg
0f0b88cbe7 Merge pull request #140 from benclmnt/feat/improve-explain-comments 2024-07-14 08:10:37 +03:00
Pekka Enberg
0281bccabf Merge pull request #138 from jussisaurio/optimize-where 2024-07-14 08:09:39 +03:00
Bennett Clement
d64733c0b9 Improve explain comments
- Resolve cursor ID to table name and get column name from index
- Since we change the type of BranchOffset to i64, add assertions in
  Program.step() function
- opcode generation compatibility with sqlite: change register number to start from 1
- Improve Column,Rowid comment, Add DecrJumpZero comment, Fix Integer
  comment
- Fix typos in code comments
2024-07-14 11:35:22 +08:00
Ethan Niser
a817f9c168 add nix flake 2024-07-13 17:07:13 -07:00
jussisaurio
b288ac2b89 Optimize where clause bytecode 2024-07-14 01:30:09 +03:00
Pekka Enberg
95f5ddd621 Merge pull request #136 from jussisaurio/labeling-system-coalesce 2024-07-13 23:38:13 +03:00
jussisaurio
851aea212d add coalesce(), refactor/rename add_label() 2024-07-13 23:03:56 +03:00
Pekka Enberg
9458522164 Merge pull request #134 from Ramkarthik/add-group-concat 2024-07-13 20:28:11 +03:00
Pekka Enberg
52a3cc38e6 Merge pull request #137 from pereman2/resolve-label 2024-07-13 20:27:57 +03:00
Pere Diaz Bou
7601045122 core: clear references on resolve 2024-07-13 19:04:00 +02:00
Pere Diaz Bou
d0f37969ce core: matrix of labelsXinsnref instead of hashmap 2024-07-13 18:54:33 +02:00
Pere Diaz Bou
be387eb31c core: labels system and limit refactor
Signed-off-by: Pere Diaz Bou <pere-altea@hotmail.com>
2024-07-13 18:54:33 +02:00
Ramkarthik Krishnamurthy
5dff56d18a Fixes it for both sides of the operator 2024-07-13 14:53:16 +05:30
Ramkarthik Krishnamurthy
0f7c88f5ad Fixes truncation of trailing zeros when converting float to string 2024-07-13 14:49:18 +05:30
Pekka Enberg
3f7574686d Add latency benchmarks used in EdgeSys '24 paper 2024-07-13 11:12:54 +03:00
Pekka Enberg
0613813a8e Move compatibility table to top-level directory 2024-07-13 11:01:49 +03:00
Pekka Enberg
77add4d9ac Add kqueue to CHANGELOG 2024-07-13 10:58:40 +03:00
Pekka Enberg
698b87fc86 Merge pull request #133 from benclmnt/kqueue-io
Use kqueue for Darwin IO
2024-07-13 10:40:01 +03:00
Bennett Clement
30e4a70d07 ignore wasm compilation target 2024-07-13 15:17:18 +08:00
Ramkarthik Krishnamurthy
59c6429555 Fix invalid column names in aggregate function 2024-07-13 11:47:59 +05:30
Ramkarthik Krishnamurthy
59b1852d41 Adds test for string_agg 2024-07-13 10:59:46 +05:30
Pekka Enberg
9c8e94acee Merge pull request #132 from gvos94/graghura/add-pipfile 2024-07-13 06:52:55 +03:00
Bennett Clement
26152e07e5 Use kqueue for Darwin IO 2024-07-13 09:44:03 +08:00
Ramkarthik Krishnamurthy
dddc0be88f Some refactoring 2024-07-13 02:46:37 +05:30
Ramkarthik Krishnamurthy
a303e6ad96 Implements string_agg and extends group_concat to work with column delimiters 2024-07-13 02:13:28 +05:30
gandeevanr
b728208526 Updated Pipfile 2024-07-12 13:07:34 -07:00
gandeevanr
31a8972d7f Updated README.md to use pipenv 2024-07-12 12:42:24 -07:00
gandeevanr
9466ec82e7 Added Pipfile and Pipfile.lock 2024-07-12 12:38:56 -07:00
Ramkarthik Krishnamurthy
9268560a51 Implements group concat aggregate function 2024-07-13 00:55:40 +05:30
Pekka Enberg
c419fa9385 Merge pull request #131 from seonWKim/fix-typos 2024-07-12 19:23:14 +03:00
김선우
6aabd919da Fix typo 2024-07-12 23:19:44 +09:00
Pekka Enberg
2540f7d127 Merge pull request #130 from JoanFM/feat-help-msg 2024-07-12 13:04:16 +03:00
Joan Martinez
346279f9bb add help message to CLI 2024-07-12 12:00:20 +02:00
Pekka Enberg
b14150f3b5 sqlite3: Add stubs to make Python build link
Add enough stubs to be able to link CPython build against Limbo's SQLite
compatibility API:

```
export LIBSQLITE3_LIBS=../limbo/target/debug/liblimbo_sqlite3.a
./configure
make -j8

[snip]

gcc -shared      Modules/_sqlite/blob.o Modules/_sqlite/connection.o Modules/_sqlite/cursor.o Modules/_sqlite/microprotocols.o Modules/_sqlite/module.o Modules/_sqlite/prepare_protocol.o Modules/_sqlite/row.o Modules/_sqlite/statement.o Modules/_sqlite/util.o ../limbo/target/debug/liblimbo_sqlite3.a  -o Modules/_sqlite3.cpython-314-x86_64-linux-gnu.so
thread '<unnamed>' panicked at sqlite3/src/lib.rs:751:5:
not yet implemented
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
fatal runtime error: failed to initiate panic, error 5
make: *** [Makefile:1511: checksharedmods] Aborted (core dumped)
```

All that's left is to actually implement all of this...
2024-07-12 10:08:37 +03:00
Pekka Enberg
f6704ba3e0 Update opcode compat 2024-07-12 08:41:44 +03:00
Pekka Enberg
19d873f3e6 Update changelog and compat 2024-07-12 08:31:52 +03:00
Pekka Enberg
3e8da8e4c5 Document how to run compat tests with SQLite 2024-07-12 08:27:06 +03:00
Pekka Enberg
55adf93282 Fix broken WHERE clause test case
The broken test case does not pass on SQLite so it's wrong. I suspect
the test was written before commit e377e09 ("Fix avg(), total(), count()
default value on empty set") when Limbo showed this behavior.
2024-07-12 08:22:13 +03:00
Pekka Enberg
f1bca597cb Merge pull request #121 from jussisaurio/where-clauses
Basic where clause support
2024-07-12 08:21:38 +03:00
jussisaurio
1b0aa568a4 Basic where clause support 2024-07-12 00:26:32 +03:00
Pekka Enberg
3d15198d4c Update compatibility table and changelog 2024-07-11 20:13:16 +03:00
Pekka Enberg
4affff0655 Merge pull request #120 from benclmnt/fix-aggfn-empty-state
Fix avg(), total(), count() default value on empty set
2024-07-11 20:11:37 +03:00
Bennett Clement
e377e09498 Fix avg(), total(), count() default value on empty set 2024-07-12 00:20:44 +08:00
Pekka Enberg
79ba53f190 Merge pull request #119 from benclmnt/support-total-aggfn
Implement total() aggregation function
2024-07-11 18:48:16 +03:00
Bennett Clement
8a9eb74f9b Implement total() aggregation function
- Returns 0.0 when called on non integer / non float columns
- Always returns floating point number
- fix: default for sum() should be NULL when there is no non-NULL row
  per docs
2024-07-11 23:40:55 +08:00
Pekka Enberg
0a304a98b5 Merge pull request #117 from Ramkarthik/main 2024-07-11 14:23:04 +03:00
Ramkarthik Krishnamurthy
f038c1c7d2 Indent only the opcode value 2024-07-11 16:19:23 +05:30