New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
parser: support sql_mode "PIPES_AS_CONCAT" #5012
Merged
Merged
Changes from 42 commits
Commits
Show all changes
53 commits
Select commit
Hold shift + click to select a range
fe4e72c
Merge pull request #3 from pingcap/master
spongedu 40cd49e
Merge pull request #4 from pingcap/master
spongedu 99847cd
Merge remote-tracking branch 'upstream/master'
spongedu 1c670e4
Merge remote-tracking branch 'upstream/master'
spongedu 029cf85
Merge remote-tracking branch 'upstream/master'
spongedu 0adb1c6
Merge remote-tracking branch 'upstream/master'
spongedu fec7c8e
Merge remote-tracking branch 'upstream/master'
spongedu 150787e
Merge remote-tracking branch 'upstream/master'
spongedu 8cd6042
Merge remote-tracking branch 'upstream/master'
spongedu b6620af
Merge remote-tracking branch 'upstream/master'
spongedu 86217bf
Merge remote-tracking branch 'upstream/master'
spongedu c872194
Merge remote-tracking branch 'upstream/master'
spongedu bb3ce69
Merge remote-tracking branch 'upstream/master'
spongedu 2f11e70
Merge remote-tracking branch 'upstream/master'
spongedu 0bcd8c9
Merge remote-tracking branch 'upstream/master'
spongedu 58ac0a5
Merge remote-tracking branch 'upstream/master'
spongedu a57b198
Merge remote-tracking branch 'upstream/master'
spongedu d0e4250
Merge remote-tracking branch 'upstream/master'
spongedu 622ebe8
Merge remote-tracking branch 'upstream/master'
spongedu 620828e
Merge remote-tracking branch 'upstream/master'
spongedu d86616d
Merge remote-tracking branch 'upstream/master'
spongedu 8b8fdca
Merge remote-tracking branch 'upstream/master'
spongedu a46d7af
Merge remote-tracking branch 'upstream/master'
spongedu ec7572e
Merge remote-tracking branch 'upstream/master'
spongedu 965fdbf
Merge remote-tracking branch 'upstream/master'
spongedu 3dc45e8
Merge remote-tracking branch 'upstream/master'
spongedu 23836ec
Merge remote-tracking branch 'upstream/master'
spongedu 8e516c4
Merge remote-tracking branch 'upstream/master'
spongedu 3ec4459
Merge remote-tracking branch 'upstream/master'
spongedu 81594d6
Merge remote-tracking branch 'upstream/master'
spongedu 91715ed
Merge remote-tracking branch 'upstream/master'
spongedu 79a887f
fix timestamp decimal len error
spongedu 76e94e5
Merge remote-tracking branch 'upstream/master'
spongedu c246f28
Merge remote-tracking branch 'upstream/master'
spongedu 75d0e0a
Merge remote-tracking branch 'upstream/master'
spongedu 8622197
Merge remote-tracking branch 'upstream/master'
spongedu 1c177d3
Merge remote-tracking branch 'upstream/master'
spongedu be8c873
Merge remote-tracking branch 'upstream/master'
spongedu a9df306
Merge remote-tracking branch 'upstream/master'
spongedu 63153bd
Merge remote-tracking branch 'upstream/master'
spongedu c22c5a6
parser: suppoert sql_mode "PIPES_AS_CONCAT"
spongedu 2d45b0c
Merge remote-tracking branch 'upstream/master' into mode_pipes_as_concat
spongedu 999bf16
Merge remote-tracking branch 'upstream/master' into mode_pipes_as_concat
spongedu 45f347b
Revert changes that made by mistake
spongedu 64d31d3
Merge branch 'master' into mode_pipes_as_concat
spongedu 3d91dde
Merge remote-tracking branch 'upstream/master' into mode_pipes_as_concat
spongedu bf8cc68
Refine token name in parser
spongedu 8245e46
Merge branch 'mode_pipes_as_concat' of github.com:spongedu/tidb into …
spongedu 3d545cc
code format refine
spongedu 1bd97ed
Code Refine in parser.y
spongedu f891d78
Merge remote-tracking branch 'upstream/master' into mode_pipes_as_concat
spongedu 5b71e08
Merge remote-tracking branch 'upstream/master' into mode_pipes_as_concat
spongedu 4bae2bb
Merge branch 'master' into mode_pipes_as_concat
coocood File filter
Filter by extension
Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -434,6 +434,8 @@ import ( | |
paramMarker "?" | ||
rsh ">>" | ||
|
||
%token<ident> or2 | ||
|
||
%type <expr> | ||
Expression "expression" | ||
BoolPri "boolean primary expression" | ||
|
@@ -781,7 +783,7 @@ import ( | |
%precedence lowerThanOn | ||
%precedence on using | ||
%right assignmentEq | ||
%left oror or | ||
%left oror or or2 | ||
%left xor | ||
%left andand and | ||
%left between | ||
|
@@ -1896,7 +1898,8 @@ Expression: | |
|
||
|
||
logOr: | ||
"||" | "OR" | ||
or2 | ||
| "OR" | ||
|
||
logAnd: | ||
"&&" | "AND" | ||
|
@@ -1986,7 +1989,7 @@ CompareOp: | |
| "<>" | ||
{ | ||
$$ = opcode.NE | ||
} | ||
} | ||
| "=" | ||
{ | ||
$$ = opcode.EQ | ||
|
@@ -2767,6 +2770,10 @@ SimpleExpr: | |
{ | ||
$$ = &ast.UnaryOperationExpr{Op: opcode.Plus, V: $2} | ||
} | ||
| SimpleExpr oror SimpleExpr | ||
{ | ||
$$ = &ast.FuncCallExpr{FnName: model.NewCIStr(ast.Concat), Args: []ast.ExprNode{$1, $3}} | ||
} | ||
| SubSelect | ||
| '(' Expression ')' { | ||
startOffset := parser.startOffset(&yyS[yypt-1]) | ||
|
@@ -5456,6 +5463,9 @@ DateAndTimeType: | |
x := types.NewFieldType(mysql.TypeTimestamp) | ||
x.Flen = mysql.MaxDatetimeWidthNoFsp | ||
x.Decimal = $2.(int) | ||
if x.Decimal == types.UnspecifiedLength{ | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Why change this? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. @coocood it's change by mistake. I'll revert it. |
||
x.Decimal = 0 | ||
} | ||
if x.Decimal > 0 { | ||
x.Flen = x.Flen + 1 + x.Decimal | ||
} | ||
|
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
what does
or2
means ?There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@zz-jason represent
||
whenPIPES_AS_CONCQT
is not set. I think it's better to distinguish||
under different sql_modes, and that's how MySQL doThere was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@winkyao PTAL