Zach Musgrave
|
9a2272740b
|
Replaced forked mysql parser with vitess.io
|
2019-06-25 16:56:13 -07:00 |
|
Zach Musgrave
|
02f4cf6274
|
Broke up sqlutil into several different files by function.
|
2019-05-28 13:02:45 -07:00 |
|
Zach Musgrave
|
83304a7788
|
Fixed more bugs with case-insensitive ambiguity for table names in selects
|
2019-05-24 16:57:03 -07:00 |
|
Zach Musgrave
|
df6a0fc9fe
|
Case insensitive matching for column and table names
|
2019-05-24 15:05:18 -07:00 |
|
Zach Musgrave
|
18b8cb8cd0
|
Column aliases resolve in the order by but not the where clause. Now to fix problems with result set column names.
|
2019-05-24 12:37:19 -07:00 |
|
Zach Musgrave
|
9f22cade78
|
Getting closer. Case-insensitive works better now, but now need to support column aliases only in some contexts, which means splitting up table and column aliases in a big refactor.
|
2019-05-24 11:57:34 -07:00 |
|
Zach Musgrave
|
b7e7ce68a4
|
First pass at case-insensitivity. Applies only to column names so far.
|
2019-05-23 16:41:59 -07:00 |
|
Zach Musgrave
|
a2cc88d9b5
|
Fixed error message for select without a table.
|
2019-05-22 13:50:33 -07:00 |
|
Zach Musgrave
|
89914439b5
|
Added support for unary expressions. Still needs some work.
|
2019-05-20 15:42:11 -07:00 |
|
Zach Musgrave
|
0cd4ab8dc4
|
Support ordering by a column not selected, and added additional tests of joins and order by
|
2019-05-10 16:59:13 -07:00 |
|
Zach Musgrave
|
48c2f2a56c
|
First pass at order by, only smoke test. Also extracted a constant for unknown column error messages.
|
2019-05-10 14:13:24 -07:00 |
|
Zach Musgrave
|
56c4261f30
|
Added support for UUID columns in create table statements
|
2019-05-08 16:49:27 -07:00 |
|
Zach Musgrave
|
171b985ad8
|
Support for boolean and unsigned integer types in SQL create statements.
|
2019-05-08 13:55:38 -07:00 |
|
Zach Musgrave
|
0bd91784b1
|
Refactored binary expression logic in sql util, added test for binary expression in update statements.
|
2019-05-06 15:53:02 -07:00 |
|
Zach Musgrave
|
f8bf738dc0
|
Implemented binary expression evaluation (e.g. addition, subtraction. Only works in the where clause, not the expression list, and has a few bugs.
|
2019-05-06 14:58:59 -07:00 |
|
Zach Musgrave
|
0755df13a3
|
Added type checking for is true, is false, etc
|
2019-05-06 12:18:23 -07:00 |
|
Zach Musgrave
|
bb87dcd96d
|
Implemented is null / is true and their converses
|
2019-05-06 12:09:11 -07:00 |
|
Zach Musgrave
|
60698667cb
|
Update now supports the full set of types that select does
|
2019-05-06 10:09:12 -07:00 |
|
Zach Musgrave
|
5b4394307c
|
Added support for in and not in clauses. Breaking test for updating a column to another column value.
|
2019-05-06 09:26:39 -07:00 |
|
Zach Musgrave
|
6c5c69a461
|
Implemented the join keyword. Also gave the schema class a Stringer implementation to make debug messages better.
|
2019-04-30 14:23:40 -07:00 |
|
Zach Musgrave
|
5e50800257
|
Fixed the issue where columns in the where clause must also be present in the selected column list. Accomplished by using an intermediate result schema and adding a final transform to convert rows to the final result schema.
|
2019-04-30 09:15:26 -07:00 |
|
Zach Musgrave
|
b591350b35
|
Resolve columns in the where clause. Maybe not working 100% but not breaking anything.
|
2019-04-30 09:15:26 -07:00 |
|
Zach Musgrave
|
4ce7f2fbfe
|
Implemented and, or clauses
|
2019-04-30 09:15:26 -07:00 |
|
Zach Musgrave
|
dcc2e4cc85
|
Fixed bug with handling column aliases in comparisons
|
2019-04-30 09:15:26 -07:00 |
|
Zach Musgrave
|
d57cc4f92a
|
Working joins. This won't work for all possible queries and needs more tests, but it's a good start. In particular, it won't work when a join condition references a column that isn't selected. The main issue at this point is that the fields used in comparisons don't have the same tag numbers as the result set in many cases.
|
2019-04-30 09:15:26 -07:00 |
|
Zach Musgrave
|
c55d394b95
|
Closer to working joins without breaking any existing supported queries. Mostly this involves doing a more intelligent job resolving column expressions to their source table and schema.
|
2019-04-30 09:15:26 -07:00 |
|
Zach Musgrave
|
617d84f89d
|
Cleaned up one more switch case with duplicate code
|
2019-04-30 09:15:26 -07:00 |
|
Zach Musgrave
|
9b29512150
|
Rewrote where clause handling in preparation for making it work with joins
|
2019-04-30 09:15:26 -07:00 |
|
Zach Musgrave
|
455631b2ce
|
Checkpoint: changed the types of several fields related to select statement parsing
|
2019-04-23 14:52:04 -07:00 |
|
Zach Musgrave
|
b02c0110f7
|
Added support for a where expression with just a boolean column (where boolColumn). Added more tests of boolean columns.
|
2019-04-17 17:00:32 -07:00 |
|
Zach Musgrave
|
732ff32cdc
|
Added type checking for where clauses
|
2019-04-17 17:00:32 -07:00 |
|
Zach Musgrave
|
07b3870a5c
|
Implemented column alias support for where clauses, fixed a bug in comparisons where a literal value on the left side of a < or <= would give the opposite result
|
2019-04-17 17:00:32 -07:00 |
|
Zach Musgrave
|
4719979ba6
|
Added an Aliases struct to contain column aliases info from queries. This change just introduces the new struct, no functional changes.
|
2019-04-17 17:00:32 -07:00 |
|
Brian Hendriks
|
bced74cdaa
|
schema as sql create table statements
|
2019-04-17 10:09:42 -07:00 |
|
Zach Musgrave
|
1a85f131c4
|
Addressed review feedback and extracted a constant for the printed NULL value, used it everywhere.
|
2019-04-17 09:34:36 -07:00 |
|
Zach Musgrave
|
457bd83041
|
Implemented column aliases in select statements.
|
2019-04-15 16:41:50 -07:00 |
|
Zach Musgrave
|
06dec8bd9f
|
Refactored sql insert, select, and update to pull out common code dealing with parser AST into a util file
|
2019-04-12 16:34:56 -07:00 |
|
Zach Musgrave
|
979f653a65
|
Skeleton for DDL create statement handling
|
2019-04-02 15:24:17 -07:00 |
|