| enterRule(ParseTreeListener) |   | 0% |   | 0% | 2 | 2 | 2 | 2 | 1 | 1 | 
| multipartIdentifier() |   | 0% |  | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 
| identifierList() |   | 0% |  | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 
| selectColumnClause() |   | 0% |  | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 
| propertyClause() |   | 0% |  | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 
| whereClause() |   | 0% |  | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 
| COPY() |   | 0% |  | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 
| INTO() |   | 0% |  | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 
| FROM(int) |   | 0% |  | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 
| LEFT_PAREN() |   | 0% |  | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 
| RIGHT_PAREN() |   | 0% |  | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 
| accept(ParseTreeVisitor) |    | 66% |    | 50% | 1 | 2 | 1 | 2 | 0 | 1 | 
| FROM() |   | 0% |  | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 
| exitRule(ParseTreeListener) |   | 100% |    | 50% | 1 | 2 | 0 | 2 | 0 | 1 | 
| stageAndPattern() |   | 100% |  | n/a | 0 | 1 | 0 | 1 | 0 | 1 | 
| selectHint() |   | 100% |  | n/a | 0 | 1 | 0 | 1 | 0 | 1 | 
| DorisParser.CopyIntoContext(DorisParser.SupportedDmlStatementContext) |   | 100% |  | n/a | 0 | 1 | 0 | 1 | 0 | 1 | 
| SELECT() |   | 100% |  | n/a | 0 | 1 | 0 | 1 | 0 | 1 |