public String getTempStatement(String statementId) { return getTempStatement(TempStatementEntity.DEFAULT_SESSION_ID, statementId); }
private static String appendWith(String sql, KylinConfig config) { if (!config.isConvertCreateTableToWith() || isWith(sql)) { return sql; } String[] splits = sql.split("\\W+"); StringBuilder builder = new StringBuilder(); Set<String> appended = new HashSet<>(); TempStatementManager manager = TempStatementManager.getInstance(config); for (String s : splits) { if (manager.getTempStatement(s) != null && !appended.contains(s)) { appended.add(s); if (appended.size() == 1) { builder.append(WITH); } else { builder.append(","); } builder.append(manager.getTempStatement(s)).append(" "); } } return builder.append(sql).toString(); } }
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 testUpdateTempStatement() throws IOException { TempStatementManager manager = TempStatementManager.getInstance(getTestConfig()); manager.updateTempStatement("temp_table1", "AAAAA"); Assert.assertEquals(2, manager.reloadAllTempStatement().size()); Assert.assertEquals("AAAAA", manager.getTempStatement("temp_table1")); } }
public String getTempStatement(String statementId) { return getTempStatement(TempStatementEntity.DEFAULT_SESSION_ID, statementId); }
private static String appendWith(String sql, KylinConfig config) { if (!config.isConvertCreateTableToWith() || isWith(sql)) { return sql; } String[] splits = sql.split("\\W+"); StringBuilder builder = new StringBuilder(); Set<String> appended = new HashSet<>(); TempStatementManager manager = TempStatementManager.getInstance(config); for (String s : splits) { if (manager.getTempStatement(s) != null && !appended.contains(s)) { appended.add(s); if (appended.size() == 1) { builder.append(WITH); } else { builder.append(","); } builder.append(manager.getTempStatement(s)).append(" "); } } return builder.append(sql).toString(); } }
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); } }