private static void translateCreateToWith(String sql, KylinConfig config) throws IOException { Pair<String, String> translated = translateCreateToWithInternal(sql); String identifier = translated.getFirst(); String sql1 = translated.getSecond(); TempStatementManager manager = TempStatementManager.getInstance(config); if (manager.getTempStatement(identifier) == null || !manager.getTempStatement(identifier).equals(sql1)) { manager.updateTempStatement(identifier, sql1); } }
@Test public void testTranslateCreateToWithInternal(){ // test leader space, more than one space between words String sql = " create table Identifier as select x as 'temp column' from fact_table;"; Pair<String, String> result = TempStatementUtil.translateCreateToWithInternal(sql); Assert.assertEquals("Identifier", result.getFirst()); Assert.assertEquals(" Identifier as (select x as 'temp column' from fact_table)", result.getSecond()); // test new line sql = " create temporary table Identifier as select x as 'temp column' \nfrom fact_table;"; result = TempStatementUtil.translateCreateToWithInternal(sql); Assert.assertEquals("Identifier", result.getFirst()); Assert.assertEquals(" Identifier as (select x as 'temp column' \nfrom fact_table)", result.getSecond()); } }
private static void translateCreateToWith(String sql, KylinConfig config) throws IOException { Pair<String, String> translated = translateCreateToWithInternal(sql); String identifier = translated.getFirst(); String sql1 = translated.getSecond(); TempStatementManager manager = TempStatementManager.getInstance(config); if (manager.getTempStatement(identifier) == null || !manager.getTempStatement(identifier).equals(sql1)) { manager.updateTempStatement(identifier, sql1); } }