d0999dcf49
optimizer: use HasLen checker.
2015-12-18 14:37:17 +08:00
108dc596e3
optimizer: address comment.
2015-12-18 13:49:45 +08:00
fbc938e7b6
optimizer: address comment
2015-12-17 14:56:11 +08:00
2b58058501
optmizer: address comment
2015-12-17 10:20:20 +08:00
2e1cf26a32
optimizer: typeInferrer supports more expression.
...
This is require for implementing prepared statement, because binary protocol depends more
on the result field type to decode value, we have to correctly set the result field type.
For statement like 'select ?', the type of the field is unknown until we execute the statement with argument,
If the field type of parameter marker `?' is not set properly, client will not be able to read the value.
2015-12-16 18:35:45 +08:00
d97f091cb7
parser: parse position expression in parser, fix order by position.
...
The position expression, like "1" in "order by 1" was parsed ito `*ast.ValueExpr` in parser, replaced to position expression by resolver,
But flag setter sets flag before resolving process, so position flag is not set.
2015-12-15 14:04:13 +08:00
1e1ef8a0bd
*: Support connection_id()
...
Fix: https://github.com/pingcap/tidb/issues/715
2015-12-14 14:40:55 +08:00
4436aff284
ast: use IsConstant function
...
address comment
2015-12-14 10:37:34 +08:00
b8504f4f1e
optimizer: fix build
2015-12-14 10:37:34 +08:00
6ab3b3cd6b
evaluator: use FlagConstant
2015-12-14 10:37:34 +08:00
16757fd9b0
optimizer: add comment. use constant flag.
2015-12-14 10:37:34 +08:00
c970ff6d4d
ast: move flag setter to ast
2015-12-14 10:37:34 +08:00
8337e63529
ast, optimizer: implement flag setter.
2015-12-14 10:37:34 +08:00
6222303129
ast, optimizer: add flag field for expression.
2015-12-14 10:37:34 +08:00
30ee5fd354
evaluator: funcCast set value directly without types.DataItem.
...
Other expression check `expr.GetValue() == nil` returns false when we wrap nil in DataItem.
2015-12-11 12:21:22 +08:00
2050c8dceb
evaluator: fix unary evaluation
...
When unary operation is evaluated more than once, the old not nil value is not set when new value is evaluated to nil.
2015-12-10 13:15:52 +08:00
418a5fb326
optimizer/plan: fix import
2015-12-09 17:30:59 +08:00
bf90bfccc0
optimizer/plan: address comment.
2015-12-09 17:03:16 +08:00
674887a759
optimizer/plan: add missing format.
2015-12-09 15:17:15 +08:00
c674915062
evaluator, plan: address comment.
2015-12-09 15:13:45 +08:00
4f565159d0
optimizer, executor: remove panic and Fatal, returns error instead.
2015-12-09 14:53:41 +08:00
d5f82288d8
evaluator: use terror
2015-12-09 12:38:29 +08:00
77443be4e5
optimizer, executor, evaluator: address comment.
2015-12-07 19:56:39 +08:00
949d92d6df
optimizer, executor: replace panic with log.Fatal
2015-12-07 18:39:51 +08:00
429716fc37
optimizer, executor: address comment.
2015-12-07 16:16:34 +08:00
0c265b9b42
optimizer, executor: fixes between range.
2015-12-07 14:41:04 +08:00
de05f0b893
optimizer: rename file.
2015-12-07 11:42:46 +08:00
9448297dd3
optimizer: rename binder to resolver. address comment.
2015-12-07 11:40:24 +08:00
a08b521b76
ast: address comment.
2015-12-07 10:12:46 +08:00
aae5b163b8
optimizer: add more comments for validator.
2015-12-04 11:53:19 +08:00
35815fe88b
optimizer/plan: fix ColumnNameExpr condition check.
2015-12-04 11:36:24 +08:00
44e2c7c8df
optimizer/evaluator: add more tests.
2015-12-02 13:17:28 +08:00
01d33e9261
evaluator: add tests.
2015-11-30 20:58:50 +08:00
3a491e7c2c
optimizer/plan: handle not between range, fix column name range.
2015-11-30 16:21:01 +08:00
ea1b7d5a6b
optimizer: reorganise files, add tests.
2015-11-27 19:40:24 +08:00
962ae7b258
optimizer: remove condition normaliser, handle AND in checker and range builder
2015-11-27 11:52:47 +08:00
19d52ba0e9
optimizer, executor: pass test.
2015-11-26 21:17:44 +08:00
cf9a23d23b
optimizer, executor: build ranges for more expression, pass more tests.
2015-11-26 20:02:28 +08:00
3ba316fe55
optimizer, executor: use index range
2015-11-25 21:44:55 +08:00
f3e62b87ec
optimizer: add static evaluator and range builder.
2015-11-24 20:44:12 +08:00
96ff5b0e25
executor: use index.
2015-11-24 14:16:27 +08:00
49bc1c8d9c
executor: fix bugs, pass more tests.
2015-11-18 17:19:43 +08:00
2be0453f2f
executor: fix build after merge.
2015-11-18 11:16:47 +08:00
c6888526ec
executor: pass more tests.
2015-11-17 21:50:00 +08:00
dc5565eb33
executor: use new plan for basic select.
2015-11-16 21:55:26 +08:00
69dc388d65
optimizer: define what kind of statement is supported to use new plan.
2015-11-16 13:24:15 +08:00
c01af56fc3
executor, optimizer: new executor and optimizer implementation
2015-11-13 23:24:10 +08:00
70106799b2
Merge branch 'master' into coocood/binder-test
2015-11-06 10:56:53 +08:00
b24f320d55
parser: remove old parser and move ast/parser to /parser.
2015-11-05 16:03:26 +08:00
9be82dbe27
ast: address comment.
2015-11-05 14:14:40 +08:00