m4s-converter:B站缓存视频转换神器,永久保存你的珍贵收藏
2025/12/17 8:13:15
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_JOIN { if($1 & 020) yyerror("duplicate STRAIGHT_JOIN option"); $$