congrats Icon
New! Announcing Tabnine Chat Beta
Learn More
Tabnine Logo
SqlTypeFactoryImpl
Code IndexAdd Tabnine to your IDE (free)

How to use
SqlTypeFactoryImpl
in
org.apache.calcite.sql.type

Best Java code snippets using org.apache.calcite.sql.type.SqlTypeFactoryImpl (Showing top 20 results out of 315)

origin: apache/kylin

@Test
public void testCreateSqlType() {
  RelDataTypeFactory typeFactory = new SqlTypeFactoryImpl(RelDataTypeSystem.DEFAULT);
  DataType kylinDataType = DataType.getType("array<string>");
origin: org.apache.calcite/calcite-core

public RelDataType createSqlType(SqlTypeName typeName) {
 if (typeName.allowsPrec()) {
  return createSqlType(typeName, typeSystem.getDefaultPrecision(typeName));
 }
 assertBasic(typeName);
 RelDataType newType = new BasicSqlType(typeSystem, typeName);
 return canonize(newType);
}
origin: org.apache.calcite/calcite-core

@Override public RelDataType createTypeWithNullability(
  final RelDataType type,
  final boolean nullable) {
 final RelDataType newType;
 if (type instanceof BasicSqlType) {
  newType = ((BasicSqlType) type).createWithNullability(nullable);
 } else if (type instanceof MapSqlType) {
  newType = copyMapType(type, nullable);
 } else if (type instanceof ArraySqlType) {
  newType = copyArrayType(type, nullable);
 } else if (type instanceof MultisetSqlType) {
  newType = copyMultisetType(type, nullable);
 } else if (type instanceof IntervalSqlType) {
  newType = copyIntervalType(type, nullable);
 } else if (type instanceof ObjectSqlType) {
  newType = copyObjectType(type, nullable);
 } else {
  return super.createTypeWithNullability(type, nullable);
 }
 return canonize(newType);
}
origin: org.apache.calcite/calcite-core

  new SqlTypeFactoryImpl(RelDataTypeSystem.DEFAULT);
final RelDataType bigint = typeFactory.createSqlType(SqlTypeName.BIGINT);
final RelDataType bigintNullable =
  typeFactory.createTypeWithNullability(bigint, true);
final RelDataType bigintNotNull =
  typeFactory.createTypeWithNullability(bigint, false);
final RelDataType date = typeFactory.createSqlType(SqlTypeName.DATE);
final RelDataType dateNotNull =
  typeFactory.createTypeWithNullability(date, false);
assertThat(SqlTypeUtil.canAssignFrom(bigintNullable, bigintNotNull),
  is(true));
  is(false));
final RelDataType bigintNullableArray =
  typeFactory.createArrayType(bigintNullable, -1);
final RelDataType bigintArrayNullable =
  typeFactory.createTypeWithNullability(bigintNullableArray, true);
final RelDataType bigintNotNullArray =
  new ArraySqlType(bigintNotNull, false);
origin: Qihoo360/Quicksql

if (isJavaType(type)) {
 ++javaCount;
return createTypeWithNullability(createSqlType(SqlTypeName.ANY),
  nullCount > 0 || nullableCount > 0);
if (isJavaType(type) && javaCount + nullCount < types.size()) {
 final RelDataType originalType = type;
 type = typeName.allowsPrecScale(true, true)
   ? createSqlType(typeName, type.getPrecision(), type.getScale())
   : typeName.allowsPrecScale(true, false)
   ? createSqlType(typeName, type.getPrecision())
   : createSqlType(typeName);
 type = createTypeWithNullability(type, originalType.isNullable());
 resultType = type;
 if (resultType.getSqlTypeName() == SqlTypeName.ROW) {
  return leastRestrictiveStructuredType(types);
  resultType = createSqlType(resultType.getSqlTypeName());
 } else if (SqlTypeUtil.isLob(type)) {
  resultType = createSqlType(type.getSqlTypeName());
 } else if (SqlTypeUtil.isBoundedVariableWidth(resultType)) {
  resultType =
    createSqlType(
      resultType.getSqlTypeName(),
      precision);
    createSqlType(
origin: tzolov/calcite-sql-rewriter

    .apply(new SqlTypeFactoryImpl(RelDataTypeSystem.DEFAULT) {
      @Override
      public RelDataType copyType(RelDataType type) {
RelDataTypeFactory.FieldInfoBuilder fieldInfo = new SqlTypeFactoryImpl(RelDataTypeSystem.DEFAULT).builder();
origin: dremio/dremio-oss

 @Override
 public RelDataType createSqlType(SqlTypeName typeName, int precision) {
  switch (typeName) {
  case TIME:
  case TIMESTAMP:
   return super.createSqlType(typeName, RelDataTypeSystemImpl.SUPPORTED_DATETIME_PRECISION);
  default:
   return super.createSqlType(typeName, precision);
  }
 }
}
origin: Qihoo360/Quicksql

private RelDataType leastRestrictiveByCast(List<RelDataType> types) {
 RelDataType resultType = types.get(0);
 boolean anyNullable = resultType.isNullable();
 for (int i = 1; i < types.size(); i++) {
  RelDataType type = types.get(i);
  if (type.getSqlTypeName() == SqlTypeName.NULL) {
   anyNullable = true;
   continue;
  }
  if (type.isNullable()) {
   anyNullable = true;
  }
  if (SqlTypeUtil.canCastFrom(type, resultType, false)) {
   resultType = type;
  } else {
   if (!SqlTypeUtil.canCastFrom(resultType, type, false)) {
    return null;
   }
  }
 }
 if (anyNullable) {
  return createTypeWithNullability(resultType, true);
 } else {
  return resultType;
 }
}
origin: org.apache.calcite/calcite-core

public RelDataType createArrayType(
  RelDataType elementType,
  long maxCardinality) {
 assert maxCardinality == -1;
 ArraySqlType newType = new ArraySqlType(elementType, false);
 return canonize(newType);
}
origin: Qihoo360/Quicksql

public RelDataType createSqlType(
  SqlTypeName typeName,
  int precision,
  int scale) {
 assertBasic(typeName);
 assert (precision >= 0)
   || (precision == RelDataType.PRECISION_NOT_SPECIFIED);
 final int maxPrecision = typeSystem.getMaxPrecision(typeName);
 if (maxPrecision >= 0 && precision > maxPrecision) {
  precision = maxPrecision;
 }
 RelDataType newType =
   new BasicSqlType(typeSystem, typeName, precision, scale);
 newType = SqlTypeUtil.addCharsetAndCollation(newType, this);
 return canonize(newType);
}
origin: Qihoo360/Quicksql

 private RelDataType struct(RelDataType...relDataTypes) {
  final RelDataTypeFactory.Builder builder = f.typeFactory.builder();
  for (int i = 0; i < relDataTypes.length; i++) {
   builder.add("field" + i, relDataTypes[i]);
  }
  return builder.build();
 }
}
origin: Qihoo360/Quicksql

  new SqlTypeFactoryImpl(RelDataTypeSystem.DEFAULT);
final RelDataType bigint = typeFactory.createSqlType(SqlTypeName.BIGINT);
final RelDataType bigintNullable =
  typeFactory.createTypeWithNullability(bigint, true);
final RelDataType bigintNotNull =
  typeFactory.createTypeWithNullability(bigint, false);
final RelDataType date = typeFactory.createSqlType(SqlTypeName.DATE);
final RelDataType dateNotNull =
  typeFactory.createTypeWithNullability(date, false);
assertThat(SqlTypeUtil.canAssignFrom(bigintNullable, bigintNotNull),
  is(true));
  is(false));
final RelDataType bigintNullableArray =
  typeFactory.createArrayType(bigintNullable, -1);
final RelDataType bigintArrayNullable =
  typeFactory.createTypeWithNullability(bigintNullableArray, true);
final RelDataType bigintNotNullArray =
  new ArraySqlType(bigintNotNull, false);
origin: org.apache.calcite/calcite-core

if (isJavaType(type)) {
 ++javaCount;
return createTypeWithNullability(createSqlType(SqlTypeName.ANY),
  nullCount > 0 || nullableCount > 0);
if (isJavaType(type) && javaCount + nullCount < types.size()) {
 final RelDataType originalType = type;
 type = typeName.allowsPrecScale(true, true)
   ? createSqlType(typeName, type.getPrecision(), type.getScale())
   : typeName.allowsPrecScale(true, false)
   ? createSqlType(typeName, type.getPrecision())
   : createSqlType(typeName);
 type = createTypeWithNullability(type, originalType.isNullable());
 resultType = type;
 if (resultType.getSqlTypeName() == SqlTypeName.ROW) {
  return leastRestrictiveStructuredType(types);
  resultType = createSqlType(resultType.getSqlTypeName());
 } else if (SqlTypeUtil.isLob(type)) {
  resultType = createSqlType(type.getSqlTypeName());
 } else if (SqlTypeUtil.isBoundedVariableWidth(resultType)) {
  resultType =
    createSqlType(
      resultType.getSqlTypeName(),
      precision);
    createSqlType(
origin: Qihoo360/Quicksql

private RelDataType createDoublePrecisionType() {
 return createSqlType(SqlTypeName.DOUBLE);
}
origin: org.apache.calcite/calcite-core

private RelDataType leastRestrictiveByCast(List<RelDataType> types) {
 RelDataType resultType = types.get(0);
 boolean anyNullable = resultType.isNullable();
 for (int i = 1; i < types.size(); i++) {
  RelDataType type = types.get(i);
  if (type.getSqlTypeName() == SqlTypeName.NULL) {
   anyNullable = true;
   continue;
  }
  if (type.isNullable()) {
   anyNullable = true;
  }
  if (SqlTypeUtil.canCastFrom(type, resultType, false)) {
   resultType = type;
  } else {
   if (!SqlTypeUtil.canCastFrom(resultType, type, false)) {
    return null;
   }
  }
 }
 if (anyNullable) {
  return createTypeWithNullability(resultType, true);
 } else {
  return resultType;
 }
}
origin: org.apache.calcite/calcite-core

public RelDataType createSqlIntervalType(
  SqlIntervalQualifier intervalQualifier) {
 RelDataType newType =
   new IntervalSqlType(typeSystem, intervalQualifier, false);
 return canonize(newType);
}
origin: org.apache.calcite/calcite-core

public RelDataType createSqlType(
  SqlTypeName typeName,
  int precision,
  int scale) {
 assertBasic(typeName);
 assert (precision >= 0)
   || (precision == RelDataType.PRECISION_NOT_SPECIFIED);
 final int maxPrecision = typeSystem.getMaxPrecision(typeName);
 if (maxPrecision >= 0 && precision > maxPrecision) {
  precision = maxPrecision;
 }
 RelDataType newType =
   new BasicSqlType(typeSystem, typeName, precision, scale);
 newType = SqlTypeUtil.addCharsetAndCollation(newType, this);
 return canonize(newType);
}
origin: org.apache.calcite/calcite-core

 private RelDataType struct(RelDataType...relDataTypes) {
  final RelDataTypeFactory.Builder builder = f.typeFactory.builder();
  for (int i = 0; i < relDataTypes.length; i++) {
   builder.add("field" + i, relDataTypes[i]);
  }
  return builder.build();
 }
}
origin: apache/kylin

@Test
public void testLegalDecimalType() {
  RelDataTypeSystem typeSystem = new KylinRelDataTypeSystem();
  RelDataTypeFactory typeFactory = new SqlTypeFactoryImpl(typeSystem);
  
  DataType dataType = DataType.getType("decimal(30, 10)");
  RelDataType relDataType = OLAPTable.createSqlType(typeFactory, dataType, true);
  
  Assert.assertTrue(relDataType instanceof BasicSqlType);
  Assert.assertEquals(relDataType.getSqlTypeName(), SqlTypeName.DECIMAL);
  Assert.assertEquals(relDataType.getPrecision(), 30);
  Assert.assertTrue(relDataType.getPrecision() <= typeSystem.getMaxNumericPrecision());
  Assert.assertEquals(relDataType.getScale(), 10);
  Assert.assertTrue(relDataType.getScale() <= typeSystem.getMaxNumericScale());
}
origin: Qihoo360/Quicksql

public RelDataType createSqlType(SqlTypeName typeName) {
 if (typeName.allowsPrec()) {
  return createSqlType(typeName, typeSystem.getDefaultPrecision(typeName));
 }
 assertBasic(typeName);
 RelDataType newType = new BasicSqlType(typeSystem, typeName);
 return canonize(newType);
}
org.apache.calcite.sql.typeSqlTypeFactoryImpl

Javadoc

SqlTypeFactoryImpl provides a default implementation of RelDataTypeFactory which supports SQL types.

Most used methods

  • <init>
  • createSqlType
  • createTypeWithNullability
  • builder
  • assertBasic
  • canonize
  • copyArrayType
  • copyIntervalType
  • copyMapType
  • copyMultisetType
  • copyObjectType
  • copyType
  • copyObjectType,
  • copyType,
  • createArrayType,
  • createDoublePrecisionType,
  • createMapType,
  • createTypeWithCharsetAndCollation,
  • isJavaType,
  • leastRestrictive,
  • leastRestrictiveByCast,
  • leastRestrictiveSqlType

Popular in Java

  • Making http post requests using okhttp
  • getSharedPreferences (Context)
  • notifyDataSetChanged (ArrayAdapter)
  • setScale (BigDecimal)
  • Point (java.awt)
    A point representing a location in (x,y) coordinate space, specified in integer precision.
  • Window (java.awt)
    A Window object is a top-level window with no borders and no menubar. The default layout for a windo
  • Kernel (java.awt.image)
  • RandomAccessFile (java.io)
    Allows reading from and writing to a file in a random-access manner. This is different from the uni-
  • HashMap (java.util)
    HashMap is an implementation of Map. All optional operations are supported.All elements are permitte
  • LinkedList (java.util)
    Doubly-linked list implementation of the List and Dequeinterfaces. Implements all optional list oper
  • Top PhpStorm plugins
Tabnine Logo
  • Products

    Search for Java codeSearch for JavaScript code
  • IDE Plugins

    IntelliJ IDEAWebStormVisual StudioAndroid StudioEclipseVisual Studio CodePyCharmSublime TextPhpStormVimGoLandRubyMineEmacsJupyter NotebookJupyter LabRiderDataGripAppCode
  • Company

    About UsContact UsCareers
  • Resources

    FAQBlogTabnine AcademyTerms of usePrivacy policyJava Code IndexJavascript Code Index
Get Tabnine for your IDE now