Commit graph

14 commits

Author SHA1 Message Date
William Carroll
509e356bb8 feat(wpcarro/slx.js): Support JavaScript simple-select impl
See README.md

Change-Id: I6a50e34398c42aabe3cceba160be006f1867eca4
Reviewed-on: https://cl.tvl.fyi/c/depot/+/7874
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
Tested-by: BuildkiteCI
2023-01-19 18:12:59 +00:00
William Carroll
032ab16bbb feat(wpcarro/slx): Support filtering by date
Queries like `before:"03/05/2020`

Change-Id: I34b06f38c8f3abeed9ad6824cd365065a1fe8d2b
Reviewed-on: https://cl.tvl.fyi/c/depot/+/7831
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
Tested-by: BuildkiteCI
2023-01-17 21:17:19 +00:00
William Carroll
a9d866c775 feat(wpcarro/slx): Match against all columns
With `MATCH_ALL` type.

Change-Id: I2fe537c2b277a86be5c04a27da088f31fe7eb09e
Reviewed-on: https://cl.tvl.fyi/c/depot/+/7817
Tested-by: BuildkiteCI
Reviewed-by: wpcarro <wpcarro@gmail.com>
2023-01-17 21:13:17 +00:00
William Carroll
0d4f3433de feat(wpcarro/slx): Simple Select impl'd in JS
Proof-of-concept implementation of "simple select" to write browser
apps that can filter lists with labels like:

```
author:Hemingway title:For\sWhom.+
```

Change-Id: I6c4cc65fe6319c9230fdc1e983462864acdc6aef
Reviewed-on: https://cl.tvl.fyi/c/depot/+/7812
Reviewed-by: wpcarro <wpcarro@gmail.com>
Tested-by: BuildkiteCI
2023-01-17 21:08:23 +00:00
William Carroll
5b059b4b98 docs(wpcarro/simple-select): Add README 📘
Because documentation

Change-Id: I1d805331efd5cb3ca878a1b66774d0807f735872
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5349
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
Tested-by: BuildkiteCI
2022-03-01 23:19:10 +00:00
William Carroll
465ddb07bb feat(wpcarro/simple-select): Support readline-style KBDs
...and prevent REPL from crashing on parse/compilation errors. Better error
messaging would be quite nice as well.

Change-Id: I47d06fd74ef65bfa3f14f0b57a5516a908321da8
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5348
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
Tested-by: BuildkiteCI
2022-03-01 22:59:07 +00:00
William Carroll
81138b25eb fix(wpcarro/simple-select): Support regexes
The python lib for sqlite doesn't support REGEXP, so we need to support it
manually.

Change-Id: I90670ff564d6fb40e8cee30c3d1509feb2c00857
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5347
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
Tested-by: BuildkiteCI
2022-03-01 22:59:07 +00:00
William Carroll
426cc2db2c feat(wpcarro/simple-select): Support CSVs
Convert CSVs to in-memory SQLite tables from which we query. Also read variables
from the command-line.

For now, I'd say this is MVP-status.

Change-Id: I8b7400e60da4b14eea25c3f4b47447497a4218c8
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5346
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
Tested-by: BuildkiteCI
2022-03-01 22:46:05 +00:00
William Carroll
0e76f30c5b feat(wpcarro/simple-select): Execute SQL query on database
Connect REPL to SQLite for further integration testing.

Change-Id: Ie48a68eedf227dcf67d0262dd4672d53bbc6ec86
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5345
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
Tested-by: BuildkiteCI
2022-03-01 22:08:01 +00:00
William Carroll
9eefa2e484 feat(wpcarro/simple-select): Compile AST to SQL
Currently supports the SQLite flavor of SQL. Preliminary testing seems to show
encouraging results.

Change-Id: Ib2ed6a695352f41185c8e8abdadfd76ce38bdbcc
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5344
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
Tested-by: BuildkiteCI
2022-03-01 21:58:00 +00:00
William Carroll
eb412699b6 feat(wpcarro/simple-select): Parse query language 🎉
Seems to successfully handle inputs like...

```
> (-fname:"William" lname:/C.*l/) OR (fname:"William" -lname:"Carroll")
```

Change-Id: I5277cfbc7d102158eab5e1e71b2d95aaf13508fd
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5340
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
Tested-by: BuildkiteCI
2022-03-01 02:07:51 +00:00
William Carroll
b5f78e433c feat(wpcarro/simple-select): Define Parser class
Copy-paste from monorepo.

Change-Id: Iff51fa9b939fe7dec3952077b5764bcc45d96f24
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5339
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
Tested-by: BuildkiteCI
2022-03-01 02:07:51 +00:00
William Carroll
88a3051ae5 feat(wpcarro/simple-select): support tokenizer for query language
Support a tokenizer for a query language that looks like:

```
-fname:/W.*m/ lname:"Von Carroll"
```

Parser otw...

Change-Id: I2badf14a41313ca2f75dec20adbcf9031b22ab83
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5338
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
Tested-by: BuildkiteCI
2022-03-01 02:07:50 +00:00
William Carroll
7770ccf0e3 feat(wpcarro/simple-select): Support basic Scanner class
...alongside a small REPL to quickly test the functionality.

Change-Id: I3c2b3f060d82cd49488e00dec9b72f7b23e2b666
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5337
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
Tested-by: BuildkiteCI
2022-02-28 18:55:03 +00:00