SQL 语句解析与操作全解析
1. SELECT 语句解析
SELECT 语句是 SQL 中非常重要的一部分,它的解析涉及多个方面。
1.1 SELECT 选项处理
SELECT 选项是影响 SELECT 语句处理方式的标志。由于选项之间的兼容性规则过于复杂,难以在语法中进行编码,因此我们接受任意一组选项,并构建一个位掩码来表示它们,同时可以诊断重复的选项。以下是相关代码:
select_opts: { $$ = 0; }
| select_opts ALL
{ if($1 & 01) yyerror("duplicate ALL option"); $$ = $1 | 01; }
| select_opts DISTINCT
{ if($1 & 02) yyerror("duplicate DISTINCT option"); $$ = $1 | 02; }
| select_opts DISTINCTROW
{ if($1 & 04) yyerror("duplicate DISTINCTROW option"); $$ = $1 | 04; }
| select_opts HIGH_PRIORITY
{ if($1 & 010) yyerror("duplicate HIGH_PRIORITY option"); $$ = $1 | 010; }
| select_opts STRAIGHT
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



