(Ast.Node node, RelDataType type)
| 219 | } |
| 220 | |
| 221 | private RexLiteral item(Ast.Node node, RelDataType type) { |
| 222 | final RexBuilder rexBuilder = builder.getRexBuilder(); |
| 223 | switch (node.op) { |
| 224 | case LITERAL: |
| 225 | final Ast.Literal literal = (Ast.Literal) node; |
| 226 | return rexBuilder.makeLiteral(literal.value, type); |
| 227 | case TUPLE: |
| 228 | final Ast.Call tuple = (Ast.Call) node; |
| 229 | final ImmutableList<RexLiteral> list = tuple(tuple.operands, type); |
| 230 | return rexBuilder.makeLiteral(list, type); |
| 231 | case BAG: |
| 232 | final Ast.Call bag = (Ast.Call) node; |
| 233 | final ImmutableList<RexLiteral> list2 = bag(bag.operands, type); |
| 234 | return rexBuilder.makeLiteral(list2, type); |
| 235 | default: |
| 236 | throw new IllegalArgumentException("not a literal: " + node); |
| 237 | } |
| 238 | } |
| 239 | |
| 240 | |
| 241 | private RelDataType toType(Ast.Schema schema) { |
no test coverage detected