public boolean visit(SQLUpdateStatement x) { print0(ucase ? "UPDATE " : "update "); printTableSource(x.getTableSource()); println(); print0(ucase ? "SET " : "set "); for (int i = 0, size = x.getItems().size(); i < size; ++i) { if (i != 0) { print0(", "); } SQLUpdateSetItem item = x.getItems().get(i); visit(item); } SQLExpr where = x.getWhere(); if (where != null) { println(); indentCount++; print0(ucase ? "WHERE " : "where "); printExpr(where); indentCount--; } return false; }
for (SQLUpdateSetItem item : x.getItems()) { if (item.columnMatch(checkColumn)) { valueExpr = item.getValue();
public boolean visit(SQLUpdateStatement x) { if (repository != null && x.getParent() == null) { repository.resolve(x); } setMode(x, Mode.Update); SQLTableSource tableSource = x.getTableSource(); if (tableSource instanceof SQLExprTableSource) { SQLName identName = ((SQLExprTableSource) tableSource).getName(); TableStat stat = getTableStat(identName); stat.incrementUpdateCount(); } else { tableSource.accept(this); } accept(x.getFrom()); accept(x.getItems()); accept(x.getWhere()); return false; }
List<SQLUpdateSetItem> items = x.getItems(); for (SQLUpdateSetItem item : items) { SQLExpr column = item.getColumn();
public boolean visit(SQLUpdateStatement x) { print0(ucase ? "UPDATE " : "update "); printTableSource(x.getTableSource()); println(); print0(ucase ? "SET " : "set "); for (int i = 0, size = x.getItems().size(); i < size; ++i) { if (i != 0) { print0(", "); } SQLUpdateSetItem item = x.getItems().get(i); visit(item); } SQLExpr where = x.getWhere(); if (where != null) { println(); indentCount++; print0(ucase ? "WHERE " : "where "); printExpr(where); indentCount--; } return false; }
for (SQLUpdateSetItem item : x.getItems()) { if (item.columnMatch(checkColumn)) { valueExpr = item.getValue();
public boolean visit(SQLUpdateStatement x) { if (repository != null && x.getParent() == null) { repository.resolve(x); } setMode(x, Mode.Update); SQLTableSource tableSource = x.getTableSource(); if (tableSource instanceof SQLExprTableSource) { SQLName identName = ((SQLExprTableSource) tableSource).getName(); TableStat stat = getTableStat(identName); stat.incrementUpdateCount(); } else { tableSource.accept(this); } accept(x.getFrom()); accept(x.getItems()); accept(x.getWhere()); return false; }
/** * confirmChildColumnNotUpdated * * @throws SQLNonTransientException */ private void confirmChildColumnNotUpdated(SQLUpdateStatement update, SchemaConfig schema, String tableName) throws SQLNonTransientException { if (schema.getFkErRelations() == null) { return; } List<SQLUpdateSetItem> updateSetItem = update.getItems(); if (updateSetItem != null && updateSetItem.size() > 0) { for (SQLUpdateSetItem item : updateSetItem) { String column = StringUtil.removeBackQuote(item.getColumn().toString().toUpperCase()); if (isJoinColumn(column, schema, tableName)) { String msg = "child relevant column can't be updated " + tableName + "->" + column; LOGGER.info(msg); throw new SQLNonTransientException(msg); } } } }
List<SQLUpdateSetItem> items = x.getItems(); for (SQLUpdateSetItem item : items) { SQLExpr column = item.getColumn();
private void confirmShardColumnNotUpdated(SQLUpdateStatement update, SchemaConfig schema, String tableName, String partitionColumn, String joinKey, RouteResultset rrs) throws SQLNonTransientException { List<SQLUpdateSetItem> updateSetItem = update.getItems(); if (updateSetItem != null && updateSetItem.size() > 0) { boolean hasParent = (schema.getTables().get(tableName).getParentTC() != null);
public SqlUpdateParser parse(){ String dbType = getDbType(sqlDialectType); SQLStatementParser stmtParser = new SQLStatementParser(sql,dbType); SQLStatement stmt = stmtParser.parseStatement(); SQLUpdateStatement updateStmt = (SQLUpdateStatement)stmt; // SQLTableSource tableSource = updateStmt.getTableSource(); this.table = updateStmt.getTableName().getSimpleName(); List<SQLUpdateSetItem> items = updateStmt.getItems(); for(SQLUpdateSetItem item : items){ SQLExpr column = item.getColumn(); SQLExpr value = item.getValue(); fields.add(new PairBond<String,String[]>(column.toString(),new String[]{value.toString()})); } SQLExpr whereExpr = updateStmt.getWhere(); System.out.println(whereExpr.getClass().getName()); if(whereExpr instanceof SQLBinaryOpExpr){ SQLBinaryOpExpr expr = (SQLBinaryOpExpr)whereExpr; parseWhere(expr); } return this; }
@Override public boolean visit(SQLUpdateStatement x) { aliasMap.clear(); SQLName identName = x.getTableName(); if (identName != null) { String ident = identName.toString(); currentTable = ident; aliasMap.put(ident, ident); String alias = x.getTableSource().getAlias(); if (alias != null) { aliasMap.put(alias, ident); } } else { x.getTableSource().accept(this); } accept(x.getItems()); accept(x.getWhere()); return false; }
private void parseUpdate(SQLUpdateStatement updateStatement) { val tableSource = (SQLExprTableSource) updateStatement.getTableSource(); if (tableSource.getExpr() instanceof SQLIdentifierExpr) addTableAlias(tableSource, (SQLIdentifierExpr) tableSource.getExpr()); val items = updateStatement.getItems(); val item0 = items.get(0); if (items.size() == 1 && item0.getColumn() instanceof SQLListExpr && item0.getValue() instanceof SQLQueryExpr) { // update xxx set (a,b) = (select ... from) where walkUpdateSelect(item0); } else { walkUpdateItems(items); } if (updateStatement.getWhere() != null) updateStatement.getWhere().accept(getAdapter()); }
accept(x.getItems()); accept(x.getWhere());
List<SQLUpdateSetItem> updateItems = sqlUpdateStatement.getItems(); for (SQLUpdateSetItem updateItem : updateItems) { String columnName = parseColumn(updateItem.getColumn());