/** * Adds all fields in a collection. */ public Builder addAll( Iterable<? extends Map.Entry<String, RelDataType>> fields) { for (Map.Entry<String, RelDataType> field : fields) { add(field.getKey(), field.getValue()); } return this; }
RelDataType type = deriveType(scope, identifier); String name = identifier.names.get(1); typeBuilder.add(name, type); RelDataType type = deriveType(scope, identifier); String name = identifier.names.get(1); if (!typeBuilder.nameExists(name)) { typeBuilder.add(name, type); final RelDataType inputDataType = sqlNs.getRowType(); for (RelDataTypeField fs : inputDataType.getFieldList()) { if (!typeBuilder.nameExists(fs.getName())) { typeBuilder.add(fs); validateMeasure(matchRecognize, scope, allRows); for (Map.Entry<String, RelDataType> c : measureColumns) { if (!typeBuilder.nameExists(c.getKey())) { typeBuilder.add(c.getKey(), c.getValue()); final RelDataType rowType = typeBuilder.build(); if (matchRecognize.getMeasureList().size() == 0) { ns.setType(getNamespace(matchRecognize.getTableRef()).getRowType());
&& (f2.getType().isNullable() || join.getJoinType().generatesNullsOnRight()); b.add(f).nullable(nullable); if (sourceSet.add(source)) { sources.add(source); b.add(f); if (sourceSet.add(source)) { sources.add(source); b.add(f); rowType = b.build(); this.sources = ImmutableList.copyOf(sources); this.trivial = left.trivial
RelDataType type = deriveType(scope, identifier); String name = identifier.names.get(1); typeBuilder.add(name, type); RelDataType type = deriveType(scope, identifier); String name = identifier.names.get(1); if (!typeBuilder.nameExists(name)) { typeBuilder.add(name, type); final RelDataType inputDataType = sqlNs.getRowType(); for (RelDataTypeField fs : inputDataType.getFieldList()) { if (!typeBuilder.nameExists(fs.getName())) { typeBuilder.add(fs); validateMeasure(matchRecognize, scope, allRows); for (Map.Entry<String, RelDataType> c : measureColumns) { if (!typeBuilder.nameExists(c.getKey())) { typeBuilder.add(c.getKey(), c.getValue()); final RelDataType rowType = typeBuilder.build(); if (matchRecognize.getMeasureList().size() == 0) { ns.setType(getNamespace(matchRecognize.getTableRef()).getRowType());
RelDataType type = deriveType(scope, identifier); String name = identifier.names.get(1); typeBuilder.add(name, type); RelDataType type = deriveType(scope, identifier); String name = identifier.names.get(1); if (!typeBuilder.nameExists(name)) { typeBuilder.add(name, type); final RelDataType inputDataType = sqlNs.getRowType(); for (RelDataTypeField fs : inputDataType.getFieldList()) { if (!typeBuilder.nameExists(fs.getName())) { typeBuilder.add(fs); validateMeasure(matchRecognize, scope, allRows); for (Map.Entry<String, RelDataType> c : measureColumns) { if (!typeBuilder.nameExists(c.getKey())) { typeBuilder.add(c.getKey(), c.getValue()); final RelDataType rowType = typeBuilder.build(); if (matchRecognize.getMeasureList().size() == 0) { ns.setType(getNamespace(matchRecognize.getTableRef()).getRowType());
final RelDataTypeField relDataTypeField = rowTypeWindowInput.get(index); exps.add(new RexInputRef(index, relDataTypeField.getType())); builder.add(relDataTypeField); window.getInput(), exps, builder.build()); final RelDataTypeFactory.Builder outputBuilder = cluster.getTypeFactory().builder(); outputBuilder.addAll(projectBelowWindow.getRowType().getFieldList()); for (Window.Group group : window.groups) { final ImmutableBitSet.Builder keys = ImmutableBitSet.builder(); outputBuilder.add(relDataTypeField); ++aggCallIndex; window.constants, outputBuilder.build(), groups);
final RelDataTypeField relDataTypeField = rowTypeWindowInput.get(index); exps.add(new RexInputRef(index, relDataTypeField.getType())); builder.add(relDataTypeField); window.getInput(), exps, builder.build()); final RelDataTypeFactory.Builder outputBuilder = cluster.getTypeFactory().builder(); outputBuilder.addAll(projectBelowWindow.getRowType().getFieldList()); for (Window.Group group : window.groups) { final ImmutableBitSet.Builder keys = ImmutableBitSet.builder(); outputBuilder.add(relDataTypeField); ++aggCallIndex; window.constants, outputBuilder.build(), groups);
int offset = 0; for (SqlValidatorNamespace c : ancestorScope1.getChildren()) { builder.addAll(c.getRowType().getFieldList()); if (i == resolve.path.steps().get(0).i) { for (RelDataTypeField field : c.getRowType().getFieldList()) { rexBuilder.makeCorrel(builder.uniquify().build(), correlId); return Pair.of(c, fields.build());
int offset = 0; for (SqlValidatorNamespace c : ancestorScope1.getChildren()) { builder.addAll(c.getRowType().getFieldList()); if (i == resolve.path.steps().get(0).i) { for (RelDataTypeField field : c.getRowType().getFieldList()) { rexBuilder.makeCorrel(builder.uniquify().build(), correlId); return Pair.of(c, fields.build());
&& (f2.getType().isNullable() || join.getJoinType().generatesNullsOnRight()); b.add(f).nullable(nullable); if (sourceSet.add(source)) { sources.add(source); b.add(f); if (sourceSet.add(source)) { sources.add(source); b.add(f); rowType = b.build(); this.sources = ImmutableList.copyOf(sources); this.trivial = left.trivial
&& (f2.getType().isNullable() || join.getJoinType().generatesNullsOnRight()); b.add(f).nullable(nullable); if (sourceSet.add(source)) { sources.add(source); b.add(f); if (sourceSet.add(source)) { sources.add(source); b.add(f); rowType = b.build(); this.sources = ImmutableList.copyOf(sources); this.trivial = left.trivial
typeBuilder.add(partitionKey.toString(), partitionKey.getType()); if (!typeBuilder.nameExists(orderKey.toString())) { typeBuilder.add(orderKey.toString(), orderKey.getType()); if (!typeBuilder.nameExists(fs.getName())) { typeBuilder.add(fs); List<RexNode> operands = ((RexCall) measure).getOperands(); String alias = operands.get(1).toString(); typeBuilder.add(alias, operands.get(0).getType()); measures.put(alias, operands.get(0)); typeBuilder.build(), strictStart, strictEnd, patternDefinitions, measures.build(), after, subsets, allRows, ImmutableList.copyOf(partitionKeys), RelCollations.of(fieldCollations),
typeBuilder.add(partitionKey.toString(), partitionKey.getType()); if (!typeBuilder.nameExists(orderKey.toString())) { typeBuilder.add(orderKey.toString(), orderKey.getType()); if (!typeBuilder.nameExists(fs.getName())) { typeBuilder.add(fs); List<RexNode> operands = ((RexCall) measure).getOperands(); String alias = operands.get(1).toString(); typeBuilder.add(alias, operands.get(0).getType()); measures.put(alias, operands.get(0)); typeBuilder.build(), strictStart, strictEnd, patternDefinitions, measures.build(), after, subsets, allRows, ImmutableList.copyOf(partitionKeys), RelCollations.of(fieldCollations),
.add(fields.get(0).getName(), SqlTypeName.ANY) .nullable(true) .build(); builder.add(SqlUnnestOperator.MAP_KEY_COLUMN_NAME, field.getType().getKeyType()); builder.add(SqlUnnestOperator.MAP_VALUE_COLUMN_NAME, field.getType().getValueType()); } else { RelDataType ret = field.getType().getComponentType(); assert null != ret; if (ret.isStruct()) { builder.addAll(ret.getFieldList()); } else { builder.add(SqlUtil.deriveAliasFromOrdinal(field.getIndex()), ret); builder.add(SqlUnnestOperator.ORDINALITY_COLUMN_NAME, SqlTypeName.INTEGER); return builder.build();
.add(fields.get(0).getName(), SqlTypeName.ANY) .nullable(true) .build(); builder.add(SqlUnnestOperator.MAP_KEY_COLUMN_NAME, field.getType().getKeyType()); builder.add(SqlUnnestOperator.MAP_VALUE_COLUMN_NAME, field.getType().getValueType()); } else { RelDataType ret = field.getType().getComponentType(); assert null != ret; if (ret.isStruct()) { builder.addAll(ret.getFieldList()); } else { builder.add(SqlUtil.deriveAliasFromOrdinal(field.getIndex()), ret); builder.add(SqlUnnestOperator.ORDINALITY_COLUMN_NAME, SqlTypeName.INTEGER); return builder.build();