public void setDatatype(String datatype) { //logger.info("setting datatype to " + datatype); this.datatype = datatype; type = DataType.getType(datatype); }
public DateDimValueCodec(String[] args) { if (args != null && args.length == 1) { datatype = DataType.getType(args[0]); } }
public void setReturnType(String returnType) { this.returnType = returnType; this.returnDataType = DataType.getType(returnType); }
private void init(String[] dataTypes) { DataType[] typeInstances = new DataType[dataTypes.length]; for (int i = 0; i < dataTypes.length; i++) { typeInstances[i] = DataType.getType(dataTypes[i]); } init(typeInstances); }
public static FunctionDesc newInstance(String expression, ParameterDesc param, String returnType) { FunctionDesc r = new FunctionDesc(); r.expression = (expression == null) ? null : expression.toUpperCase(Locale.ROOT); r.parameter = param; r.returnType = returnType; r.returnDataType = DataType.getType(returnType); return r; }
public static MeasureType<?> create(String funcName, String dataType) { return create(funcName, DataType.getType(dataType)); }
private static Builder infoBuilder() { Builder builder = GTInfo.builder(); builder.setCodeSystem(new GTSampleCodeSystem()); builder.setColumns(// DataType.getType("varchar(10)"), // DataType.getType("varchar(10)"), // DataType.getType("varchar(10)"), // DataType.getType("bigint"), // DataType.getType("decimal") // ); builder.setPrimaryKey(setOf(0)); builder.setColumnPreferIndex(setOf(0)); return builder; }
public void init(TableDesc table) { this.table = table; if (name != null) name = name.toUpperCase(Locale.ROOT); if (id != null) zeroBasedIndex = Integer.parseInt(id) - 1; DataType normalized = DataType.getType(datatype); if (normalized == null) { this.setDatatype(null); } else { this.setDatatype(normalized.toString()); } }
private String[] enumerateDictInfoList(List<DictionaryInfo> dictionaryInfoList, String dataType) throws IOException { enumerator = new MultipleDictionaryValueEnumerator(DataType.getType(dataType), dictionaryInfoList); List<String> values = new ArrayList<>(); while (enumerator.moveNext()) { values.add(enumerator.current()); } return values.toArray(new String[0]); }
@Test public void testEmptyDir() throws Exception { String dirPath = "src/test/resources/empty_dir"; new File(dirPath).mkdirs(); SortedColumnDFSFile column = new SortedColumnDFSFile(qualify(dirPath + "/"), DataType.getType("varchar")); IDictionaryValueEnumerator e = new TableColumnValueEnumerator(column.getReader(), -1); ArrayList<String> output = new ArrayList<>(); while (e.moveNext()) { System.out.println(new String(e.current())); output.add(new String(e.current())); } System.out.println(output.size()); }
@BeforeClass public static void beforeClass() { staticCreateTestMetadata(); bigDecimalSerializer = new BigDecimalSerializer(DataType.getType("decimal")); }
private void reInitMeasureType() { if (isDimensionAsMetric && isCountDistinct()) { // create DimCountDis measureType = MeasureTypeFactory.createNoRewriteFieldsMeasureType(getExpression(), getReturnDataType()); returnDataType = DataType.getType("dim_dc"); } else { measureType = MeasureTypeFactory.create(getExpression(), getReturnDataType()); } }
@Test public void testOverflow() { String text = StringUtils.repeat("h", 21); ExtendedColumnSerializer serializer = new ExtendedColumnSerializer(DataType.getType("extendedcolumn(20)")); MeasureIngester<ByteArray> ingester = measureType.newIngester(); ByteArray array = ingester.valueOf(new String[] { null, text }, null, null); ByteBuffer buffer = ByteBuffer.allocate(serializer.maxLength()); serializer.serialize(array, buffer); buffer.flip(); ByteArray des = serializer.deserialize(buffer); Assert.assertTrue(new ByteArray(StringUtils.repeat("h", 20).getBytes(StandardCharsets.UTF_8)).equals(des)); } }
@BeforeClass public static void setUp() throws Exception { staticCreateTestMetadata(); DataType.register("raw"); rawSerializer = new RawSerializer(DataType.getType("raw")); }
@BeforeClass public static void setUp() throws Exception { staticCreateTestMetadata(); DataType.register("topn"); serializer = new TopNCounterSerializer(DataType.getType("topn(10)")); }
@Test public void testNormal() { String text = StringUtils.repeat("h", 20); ExtendedColumnSerializer serializer = new ExtendedColumnSerializer(DataType.getType("extendedcolumn(20)")); MeasureIngester<ByteArray> ingester = measureType.newIngester(); ByteArray array = ingester.valueOf(new String[] { null, text }, null, null); ByteBuffer buffer = ByteBuffer.allocate(serializer.maxLength()); serializer.serialize(array, buffer); buffer.flip(); ByteArray des = serializer.deserialize(buffer); Assert.assertTrue(new ByteArray(text.getBytes(StandardCharsets.UTF_8)).equals(des)); }
@Ignore @SuppressWarnings("unchecked") @Test public void testEmptyInput() throws IOException { String[] ints = new String[] { "", "0", "5", "100", "13" }; // check "" is treated as NULL, not a code of dictionary Dictionary<?> dict = DictionaryGenerator.buildDictionary(DataType.getType("integer"), new IterableDictionaryValueEnumerator(ints)); assertEquals(4, dict.getSize()); final int id = ((NumberDictionary<String>) dict).getIdFromValue(""); assertEquals(id, dict.nullId()); }
@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()); }