fcbd15dae8
optimizer: address comment.
2016-01-04 10:34:41 +08:00
a8baf4fc02
optimizer: clean up again.
2016-01-03 12:40:23 +08:00
d1f0c76952
optimizer: tiny clean up.
2016-01-03 12:36:18 +08:00
e45c31b89d
Merge pull request #754 from hhkbp2/complete-adddate,subdate-functions
...
add ast evaluation for date arith
2015-12-29 14:35:00 +08:00
405e6c57d4
add ast evaluation for date arith
2015-12-29 11:42:02 +08:00
0b99e0440b
*: Move variable errors to sessionctx/variable
2015-12-24 15:27:41 +08:00
852ad1dc0f
Merge pull request #789 from pingcap/coocood/parser-parse
...
parser: remove YYParse function, use Parse and ParseOneStmt instead.
2015-12-24 11:51:55 +08:00
6a364d4f03
Merge remote-tracking branch 'origin/master' into shenli/optimizer-error
...
Conflicts:
tidb-server/server/server_test.go
2015-12-24 11:18:41 +08:00
631045ce5f
parser: address comment.
2015-12-24 10:47:37 +08:00
71ee106bbe
optimizer: Remove useless error code
2015-12-24 10:39:28 +08:00
bfd188d844
parser: remove YYParse function, use Parse and ParseOne instead.
2015-12-23 18:25:28 +08:00
5f64441bc9
*: Address comment
2015-12-23 17:57:36 +08:00
c7baa9f1f5
*: Add test case for optimizer error
2015-12-23 17:43:31 +08:00
b95f73a5bb
optimizer: Add errcode map between terror and mysql error
2015-12-23 17:34:31 +08:00
cce746ee8a
Merge branch 'master' into coocood/prepare
...
Conflicts:
session.go
2015-12-22 13:24:57 +08:00
4f551e17da
evaluator: Check return values from valid call expressions in funcCall test.
2015-12-21 15:13:09 +08:00
55d12c184f
evaluator: Refine tests for funcCall.
...
1. Remove the fake builtin.Func.
2. Fix one bug in handling unlimited arguments upper bound.
2015-12-21 14:45:51 +08:00
a5dbd000dc
evaluator: Add tests for funcCall.
2015-12-21 11:45:44 +08:00
a5b5fd67fa
evaluator: Check function call min and max arguments in new evaluator.
...
For github issue #758 .
2015-12-20 23:17:17 +08:00
c5fae25a60
optimizer: validates '?' is not allowed in non-prepare mode.
2015-12-18 19:40:45 +08:00
06a0f05747
optimizer: fix field name, executor: do optimizer.Prepare only if supported.
2015-12-18 16:56:08 +08:00
dcdb32dbde
plan. executor: support prepared statement.
2015-12-18 16:56:08 +08:00
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