@Test public void testIllegalDecimalType() { RelDataTypeSystem typeSystem = new KylinRelDataTypeSystem(); RelDataTypeFactory typeFactory = new SqlTypeFactoryImpl(typeSystem); DataType dataType = DataType.getType("decimal(40, 10)"); RelDataType relDataType = OLAPTable.createSqlType(typeFactory, dataType, true); Assert.assertTrue(relDataType instanceof BasicSqlType); Assert.assertEquals(relDataType.getSqlTypeName(), SqlTypeName.DECIMAL); Assert.assertTrue(typeSystem.getMaxNumericPrecision() < 40); Assert.assertEquals(relDataType.getPrecision(), typeSystem.getMaxNumericPrecision()); Assert.assertEquals(relDataType.getScale(), 10); Assert.assertTrue(relDataType.getScale() <= typeSystem.getMaxNumericScale()); }
@Override public int getMaxNumericPrecision() { return 38; }
KylinRelDataTypeSystem extends RelDataTypeSystemImpl { @Override public int getMaxNumericPrecision() { return 38; } }
KylinRelDataTypeSystem extends RelDataTypeSystemImpl { @Override public int getMaxNumericPrecision() { return 38; }  }
KylinRelDataTypeSystem extends RelDataTypeSystemImpl { @Override public int getMaxNumericPrecision() { return 38; }  @Override RelDataType deriveSumType(RelDataTypeFactory typeFactory, RelDataType argumentType); @Override int getMaxNumericPrecision(); }
KylinRelDataTypeSystem extends RelDataTypeSystemImpl { @Override public int getMaxNumericPrecision() { return 38; }  @Override RelDataType deriveSumType(RelDataTypeFactory typeFactory, RelDataType argumentType); @Override int getMaxNumericPrecision();  }