@Override public void visit(ParenthesisFromItem parenthesis) { parenthesis.getFromItem().accept(this); }
joinTable.accept(new ReplaceStarFromItemVisitor(aliasSubselect, variables)); columnNames.addAll(columns); columns.clear(); table.accept(new ReplaceStarFromItemVisitor(aliasSubselect, variables)); columnNames.addAll(columns); columns.clear(); if (aliasSubselect != null) // if there is an alias for the subquery tableName = new Table(aliasSubselect); else if (table.getAlias() != null) // if there is an alias for the table tableName = new Table(table.getAlias().getName()); else tableName = (Table)table;
public static Map<String, FromItem> prepareUniqueTables(Map<String, FromItem> tables) { Map<String, FromItem> uniqueTables = new HashMap<>(); tables.values().stream().forEach((fromItem) -> { if (fromItem.getAlias() != null && !fromItem.getAlias().getName().isEmpty()) { uniqueTables.put(fromItem.getAlias().getName().toLowerCase(), fromItem); } else if (fromItem instanceof Table) { uniqueTables.put(((Table) fromItem).getWholeTableName().toLowerCase(), fromItem); } }); return uniqueTables; }
case S_QUOTED_IDENTIFIER: alias = Alias(); fromItem.setAlias(alias); break; default:
if (plainSelect.getFromItem().getAlias() != null) { this.aliasTableNameList.add(plainSelect.getFromItem() .getAlias().getName()); plainSelect.getFromItem().accept(this); for (Iterator joinsIt = plainSelect.getJoins().iterator(); joinsIt.hasNext();) { Join join = (Join) joinsIt.next(); if (join.getRightItem().getAlias() != null) { this.aliasTableNameList.add(join.getRightItem().getAlias ().getName()); join.getOnExpression().accept(this); join.getRightItem().accept(this);
private static boolean hasEntityAlias(String entityName, FromItem fromItem) { return fromItem instanceof net.sf.jsqlparser.schema.Table && ((net.sf.jsqlparser.schema.Table) fromItem).getName().equals(entityName) && fromItem.getAlias() != null && !StringUtils.isBlank(fromItem.getAlias().getName()); }
case S_QUOTED_IDENTIFIER:{ alias = Alias(); fromItem.setAlias(alias); break;
ReplacementFromItemVisitor visitor = new ReplacementFromItemVisitor(cteName2Def,placeHolderTables); if (fromItem!=null) { fromItem.accept(visitor); if (res.getAlias()!=null) { res.getAlias().setUseAs(useASInTableAlias); for (Join join: plainSelect.getJoins()) { if (join.getRightItem()!=null) { join.getRightItem().accept(visitor); if (res.getAlias()!=null) { res.getAlias().setUseAs(useASInTableAlias); leftTable = (Table) plainSelect.getFromItem(); } else { assert plainSelect.getFromItem().getAlias()!=null; leftTable = new Table(plainSelect.getFromItem().getAlias().getName()); rightTable = (Table) join.getRightItem(); } else { assert join.getRightItem().getAlias()!=null; rightTable = new Table(join.getRightItem().getAlias().getName());
private static boolean hasEntityAlias(String entityName, FromItem fromItem) { return fromItem instanceof net.sf.jsqlparser.schema.Table && ((net.sf.jsqlparser.schema.Table) fromItem).getName().equals(entityName) && fromItem.getAlias() != null && !StringUtils.isBlank(fromItem.getAlias().getName()); }
case S_QUOTED_IDENTIFIER:{ alias = Alias(); fromItem.setAlias(alias); break;
protected static Alias getEntityAlias(String entityName, PlainSelect query) { FromItem fromItem = query.getFromItem(); if (hasEntityAlias(entityName, fromItem)) { return fromItem.getAlias(); } if(query.getJoins() != null) { for(Object o : query.getJoins()) { Join join = (Join) o; if (hasEntityAlias(entityName, join.getRightItem())) { return join.getRightItem().getAlias(); } } } logger.debug("Alias from entity " + entityName + " not found in query " + query); return null; }
public void visit(SubJoin subjoin) { buffer.append("("); subjoin.getLeft().accept(this); buffer.append(" "); deparseJoin(subjoin.getJoin()); buffer.append(")"); }
protected static Alias getEntityAlias(String entityName, PlainSelect query) { FromItem fromItem = query.getFromItem(); if (hasEntityAlias(entityName, fromItem)) { return fromItem.getAlias(); } if(query.getJoins() != null) { for(Object o : query.getJoins()) { Join join = (Join) o; if (hasEntityAlias(entityName, join.getRightItem())) { return join.getRightItem().getAlias(); } } } logger.debug("Alias from entity " + entityName + " not found in query " + query); return null; }
@Override public void visit(ParenthesisFromItem parenthesis) { buffer.append("("); parenthesis.getFromItem().accept(this); buffer.append(")"); if (parenthesis.getAlias() != null) { buffer.append(parenthesis.getAlias().toString()); } }
@Override public void visit(SubJoin subjoin) { buffer.append("("); subjoin.getLeft().accept(this); for (Join join : subjoin.getJoinList()) { deparseJoin(join); } buffer.append(")"); if (subjoin.getPivot() != null) { subjoin.getPivot().accept(this); } }