emliunix / dbslow Goto Github PK
View Code? Open in Web Editor NEWSome Database Implementation
License: MIT License
Some Database Implementation
License: MIT License
Just write one in half an hour and get a first glance over the whole system.
There're some low hanging fruits right now:
It shall be represented as a simple join in plan tree. Depending on the condition, it can be executed with nested loop or merge sort (only when there're only ANDed sequence of column equalities).
So the required stages are:
Currently the type checking/casting relies on op context (repository of function/op information). But it's not a simple function call.
So one solution might be to pre-split the expression before type checking. With the agg/win functions in separate registry.
In simple expression, it's natural to turn to null for insensible operations, eg. (1 + null => null).
By design, null is a special value included in all types. And in primitive operations, usually the result will be null if any operand is null except IS NULL.
However, there're more special handling required to make SQL useful.
In aggregation, we don't want to NULLify the whole state on first met of a null value. So maybe, for sum/cumsum, we can treat nulls as 0s.
Still not sure if any other special cases in aggregation functions.
Also, in sorting, should null be min or max.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.