Recent Releases of https://github.com/cube2222/octosql
https://github.com/cube2222/octosql - v0.13.0
Changelog
- (Feature) OctoSQL now explicitly operates on int64 values, so integer operation results shouldn't be affected on 32-bit platforms. (#332) (Thanks @tjungblu!)
- Go
Published by github-actions[bot] almost 2 years ago
https://github.com/cube2222/octosql - v0.12.2
Changelog
- (Maintenance) Update Go dependecies (#324) (Thanks @jauderho!)
- (Maintenance) update badge url as per https://github.com/badges/shields/issues/8671 (#322) (Thanks @phanirithvij!)
- (Bugfix) Prevent creating ~/.octosql dir if XDG dirs exists (#316) (Thanks @Tony-Sol!)
- Go
Published by github-actions[bot] over 2 years ago
https://github.com/cube2222/octosql - v0.12.1
Changelog
- (Feature) Add support for the XDG Spec (thanks @Tony-Sol for the contribution!).
- Go
Published by github-actions[bot] almost 3 years ago
https://github.com/cube2222/octosql - v0.12.0
Changelog
- (Feature) Change the semantics of double quotes from a string literal to a literal identifier (so they work the same way as backticks).
- (Bugfix) Fix division using slash as an operator. Require a space between operands for it to be usable.
- Go
Published by github-actions[bot] over 3 years ago
https://github.com/cube2222/octosql - v0.11.1
Changelog
- (Feature) Improve CSV value formatting.
- (Feature) Add configuration parameters for JSON maximum line size as well as file reader buffer size.
- (Feature) Add boolean to int conversion function.
- (Performance) Hashing optimizations to reduce unnecessary allocations.
- Go
Published by github-actions[bot] over 3 years ago
https://github.com/cube2222/octosql - v0.11.0
Changelog
- (Feature) Switch to using a hashmap instead of a BTree in some (not all yet) places where ordering is not important. This yields a small performance improvement for most group by queries, and a huge one (up to 4x measured) for groupings with a lot of keys.
- (Bug) Fix bug where variables only used by a distinct node can be optimized out, making the distinct node work improperly.
- Go
Published by github-actions[bot] over 3 years ago
https://github.com/cube2222/octosql - v0.10.0
Changelog
- (Feature) Parallelize JSON processing. Can result in 2x+ performance improvements for queries bottlenecked by JSON parsing.
- (Stability) Improve error message when non-SELECT statement is used.
Contributions
- Improve installation documentation (#294). Thanks @arikgrahl !
- Go
Published by github-actions[bot] over 3 years ago
https://github.com/cube2222/octosql - v0.9.4
Changelog
- Internal Refactors
- Go
Published by github-actions[bot] over 3 years ago
https://github.com/cube2222/octosql - v0.9.3
Changelog
- (Bug) Fix object field access for fields that have periods in them. I.e. object->`my.field`
- Go
Published by github-actions[bot] over 3 years ago
https://github.com/cube2222/octosql - v0.9.2
Changelog
- (Feature) Add overloads for len function handling lists, objects and tuples.
- (Feature) Improve automatic column naming based on variable names.
- (Stability) Improve stdin reader error handling.
- (Stability) Bump the number of schema introspection rows for the CSV datasource to 100, to keep it consistent with the JSON datasource.
- Go
Published by github-actions[bot] over 3 years ago
https://github.com/cube2222/octosql - v0.9.1
Changelog
- (Feature) Make all file access consistent and available through the alternative
<file_type>.<path>notation. - (Bug) Fix --describe to display names without qualifiers, if there are no duplicates.
- Go
Published by github-actions[bot] over 3 years ago
https://github.com/cube2222/octosql - v0.9.0
Changelog
- (feature) Allow querying from stdin (using
stdin.<format>file name). - (feature) Add support for the tsv format.
- (feature) Add file tailing support to the json and lines datasources, using the option
file.json?tail=true. - (feature) Don't print field name qualifiers in user-visible output.
- Go
Published by github-actions[bot] over 3 years ago
https://github.com/cube2222/octosql - v0.8.1
Changelog
- (Feature) Print records live even if no watermarks are sent, as long as all records have zero event times.
- (Feature) Add object explosion operator.
- (Feature) Add shorthand flag for output format.
- (Feature) Rename ln to log. Add more snapshot test for functions.
- (Performance) Fix short-circuiting of outer LIMIT.
- (Performance) If no retractions are possible and we have an
ORDER BY ... LIMIT ...clause, only store the top N records. - (Performance) Use the generic implementation of google/btree for group by's.
- (Bug) Fix panic in docs datasource, when selecting no fields (i.e. COUNT(1) or COUNT(*)).
- Go
Published by github-actions[bot] over 3 years ago
https://github.com/cube2222/octosql - v0.8.0
Changelog
- Add LEFT, RIGHT and OUTER joins.
- Rewrite ORDER BY and LIMIT handling, fixing multiple bugs and improving how they work in nested queries.
- Go
Published by github-actions[bot] over 3 years ago
https://github.com/cube2222/octosql - v0.7.4
Changelog
- Add dual table.
- Add position function.
- Go
Published by github-actions[bot] over 3 years ago
https://github.com/cube2222/octosql - v0.7.3
Changelog
- Flush logs on exit.
- Go
Published by github-actions[bot] over 3 years ago
https://github.com/cube2222/octosql - v0.7.2
Changelog
- Fix batch order by with live_table output format resulting in panic.
- Fix bug in stream join on event timed streams dropping record buffer too early.
- Fix bug related to removing unused fields from filter nodes.
- Use btree PathHints for slightly improved performance.
- Improve performance of distinct by using a generic btree implementation.
- Go
Published by github-actions[bot] almost 4 years ago
https://github.com/cube2222/octosql - v0.7.1
Changelog
- Add purego build tag to fix Parquet datasource crash on amd64 systems without AVX2.
- Go
Published by github-actions[bot] almost 4 years ago
https://github.com/cube2222/octosql - v0.7.0
Changelog
- Add initial Parquet file support.
- Fix file extension table naming regression.
- Switch to generic btree for Stream Join.
- Add stream join optimization eliminating buffering of the bigger one of the two input tables.
- Introduce a faster and simpler GroupBy node for common and simple use cases. (Used automatically when possible.)
- Add timetounix function.
- Use faster library for JSON output.
- Add built-in profiling available behind the
profileflag.
- Go
Published by github-actions[bot] almost 4 years ago
https://github.com/cube2222/octosql - v0.6.2
Changelog
- Switch to fastjson for JSON processing, resulting in a huge performance improvement when querying JSON files.
- Add lines datasource for analyzing arbitrary text files.
- Fix custom file extension handling for plugins.
- Go
Published by github-actions[bot] almost 4 years ago
https://github.com/cube2222/octosql - v0.6.0
Changelog
- Add short-circuiting LIMIT and eagerly printed JSON and CSV formats.
- Add support for plugins handling file extensions.
- Add support for table options.
- Treat empty fields as NULL in CSV datasource.
- Go
Published by github-actions[bot] almost 4 years ago
https://github.com/cube2222/octosql - v0.5.0
Changelog
- Update to Go 1.18
- Make the temporary plugin directory configurable.
- Improve strict function typechecking, as well as list indexing typechecking.
- Stop using zero copy JSON decoding, it's buggy.
- Introduce much better object support, with new syntax for accessing object fields (object -> field_name).
- Improve old plugin API Level error message.
- Fix tempdir name used by Plugin executor.
- Go
Published by github-actions[bot] almost 4 years ago
https://github.com/cube2222/octosql - v0.4.2
Changelog
- f2f6b4d Fix two cases where the optimizer could break Expressions during predicate pushdown, causing crashes.
- Go
Published by github-actions[bot] about 4 years ago
https://github.com/cube2222/octosql - v0.4.1 - Fix Windows support
Changelog
- 3f87e6e Fix handling of unix sockets on Windows: - Use Lstat instead of Stat to stat unix sockets. - Use custom dialer to omit gRPC resolvers, as they misunderstand Windows unix paths.
- 8715db2 Fix version resolution with multiple default plugin datasource instances.
- f3b4dec Fix plugin binaries lookup on Windows.
- Go
Published by github-actions[bot] about 4 years ago
https://github.com/cube2222/octosql - v0.4.0 - Plugins, Static Typing, Performance, and Embeddability
Hey there!
This release marks another ground-up rewrite of OctoSQL. There were a lot of problems with the previous designs of OctoSQL. Fortunately, that is no more, and I hope there won't be any more rewrites in the future.
This is a big release, and there are major changes.
OctoSQL is now statically typed, so your queries get typechecked before being executed and the optimizer is much more robust thanks to that. Schemas are automatically inferred from datasources, so there are no usability tradeoffs to that.
Datasources are now decoupled from the main repository of OctoSQL, as OctoSQL now uses a plugin model. You can create new datasources for OctoSQL and just add an entry to the plugin repository for OctoSQL to be able to use it. The plugin subsystem is also specifically designed not to compromise on performance, which gets us to the final point...
Performance. OctoSQL is now much (orders of magnitude much) faster. You can expect 100x speed improvements across most use cases.
Overall, OctoSQL is now more robust, faster, easier to create plugins for, and has static verification of executed queries.
P.S.: It's also more lightweight and fully in-memory now, so you can easily embed it into your own applications either as a dataflow engine, or a SQL execution engine.
- Go
Published by github-actions[bot] about 4 years ago
https://github.com/cube2222/octosql - 🌊OctoSQL Streaming 🌊
Hey everybody!
This release is an almost-rewrite of OctoSQL.
- It changes all state to use local transactional on-disk storage (based on Badger).
- Adds Temporal SQL
- Watermarks
- Triggers
- Event Time
- Early Results and Retractions
- New datasources
- Kafka
- Apache Parquet Files
- All datasources now work asynchronously to actual processing
- Parallelism has been introduced to datasources (Kafka), distinct selects, group by's, joins with Shuffling functionality included. (key-hashing)
- Stream Joins (which make joining files orders of magnitudes faster than Lookup Joins)
- Live-updating output tables
- New Table Valued Functions
- Maximum Difference Watermark Generator
- Percentile Watermark Generator
- Many new functions have been added
- Common Table Expressions have been added (queries containing "WITH" statements)
- Telemetry (described in the README in depth)

- Go
Published by cube2222 over 5 years ago
https://github.com/cube2222/octosql - Excel support, TVF's and custom SQL parser!
Features
- Excel file support.
- Table Value Functions: range and tumble for now. Documentation
- Configurable separators for CSV files.
- Support for CSV files with no header row.
- Support for uppercase field names (they get lowercased).
Internals
- We finally switched to a custom sql parser (copied from vitess) which allowed us to add TVF's and will allow us to add other potential modifications to our SQL dialect.
- Support for record metadata, including stuff like retracting records. This is important for further work on streaming support.
- Record serialization, which will make it possible to use disk based key-value state storage.
- Go
Published by cube2222 over 6 years ago
https://github.com/cube2222/octosql - Ergonomics, bug fixes and performance improvements!
- Fixing null handling and adding functions for easier usage: coalesce and nullif
- Fixing a bug where an empty password for postgres wouldn't work. ( thanks to @zknill )
- Fixing the optimizer an optimizer bug where a predicate with a function like int(p.age) could be pushed down, but it wouldn't be thrown into the query, and handled using "?" signs, which would always be filled with null (as the wanted records are yet to come).
- More understandable function argument errors.
- Parallelizing and adding prefetch to lookup joins, resulting in an over 10x improvement in throughput with a joined datasource with a low-latency (should be a much bigger difference with high-latency data sources)
- Adding an execution configuration file section, currently containing the prefetch size for the aforementioned parallel lookup join.
- Brand new logo. ( thanks to @styczynski )
- Go
Published by cube2222 over 6 years ago
https://github.com/cube2222/octosql - Initial release!
We're now happy enough with OctoSQL to make it public!
- Go
Published by cube2222 over 6 years ago