* Produce a string identifying an expression by kind. * * Note: when practical, use a simple SQL keyword for the result. If that * doesn't work well, check call sites to see whether custom error message * strings are required. */
| 3169 | * strings are required. |
| 3170 | */ |
| 3171 | const char * |
| 3172 | ParseExprKindName(ParseExprKind exprKind) |
| 3173 | { |
| 3174 | switch (exprKind) |
| 3175 | { |
| 3176 | case EXPR_KIND_NONE: |
| 3177 | return "invalid expression context"; |
| 3178 | case EXPR_KIND_OTHER: |
| 3179 | return "extension expression"; |
| 3180 | case EXPR_KIND_JOIN_ON: |
| 3181 | return "JOIN/ON"; |
| 3182 | case EXPR_KIND_JOIN_USING: |
| 3183 | return "JOIN/USING"; |
| 3184 | case EXPR_KIND_FROM_SUBSELECT: |
| 3185 | return "sub-SELECT in FROM"; |
| 3186 | case EXPR_KIND_FROM_FUNCTION: |
| 3187 | return "function in FROM"; |
| 3188 | case EXPR_KIND_WHERE: |
| 3189 | return "WHERE"; |
| 3190 | case EXPR_KIND_POLICY: |
| 3191 | return "POLICY"; |
| 3192 | case EXPR_KIND_HAVING: |
| 3193 | return "HAVING"; |
| 3194 | case EXPR_KIND_FILTER: |
| 3195 | return "FILTER"; |
| 3196 | case EXPR_KIND_WINDOW_PARTITION: |
| 3197 | return "window PARTITION BY"; |
| 3198 | case EXPR_KIND_WINDOW_ORDER: |
| 3199 | return "window ORDER BY"; |
| 3200 | case EXPR_KIND_WINDOW_FRAME_RANGE: |
| 3201 | return "window RANGE"; |
| 3202 | case EXPR_KIND_WINDOW_FRAME_ROWS: |
| 3203 | return "window ROWS"; |
| 3204 | case EXPR_KIND_WINDOW_FRAME_GROUPS: |
| 3205 | return "window GROUPS"; |
| 3206 | case EXPR_KIND_SELECT_TARGET: |
| 3207 | return "SELECT"; |
| 3208 | case EXPR_KIND_INSERT_TARGET: |
| 3209 | return "INSERT"; |
| 3210 | case EXPR_KIND_UPDATE_SOURCE: |
| 3211 | case EXPR_KIND_UPDATE_TARGET: |
| 3212 | return "UPDATE"; |
| 3213 | case EXPR_KIND_GROUP_BY: |
| 3214 | return "GROUP BY"; |
| 3215 | case EXPR_KIND_ORDER_BY: |
| 3216 | return "ORDER BY"; |
| 3217 | case EXPR_KIND_DISTINCT_ON: |
| 3218 | return "DISTINCT ON"; |
| 3219 | case EXPR_KIND_LIMIT: |
| 3220 | return "LIMIT"; |
| 3221 | case EXPR_KIND_OFFSET: |
| 3222 | return "OFFSET"; |
| 3223 | case EXPR_KIND_RETURNING: |
| 3224 | return "RETURNING"; |
| 3225 | case EXPR_KIND_VALUES: |
| 3226 | case EXPR_KIND_VALUES_SINGLE: |
| 3227 | return "VALUES"; |
| 3228 | case EXPR_KIND_CHECK_CONSTRAINT: |
no outgoing calls
no test coverage detected