protected Function(Database database, FunctionInfo info) { this.database = database; this.info = info; if (info.parameterCount == VAR_ARGS) { varArgs = New.arrayList(); } else { args = new Expression[info.parameterCount]; } }
/** * Add a parameter to the parameter list. * * @param param the parameter to add */ void addParameter(Parameter param) { if (parameters == null) { parameters = New.arrayList(); } parameters.add(param); }
/** * Get all tables and views. * * @return a (possible empty) list of all objects */ public ArrayList<Table> getAllTablesAndViews() { synchronized (database) { return New.arrayList(tablesAndViews.values()); } }
/** * Add a column to the natural join key column list. * * @param c the column to add */ public void addNaturalJoinColumn(Column c) { if (naturalJoinColumns == null) { naturalJoinColumns = New.arrayList(); } naturalJoinColumns.add(c); }
public RoutingArgument(String columnName, Value value) { this.columnName = columnName; this.argumentType = FIXED_ROUTING_ARGUMENT; this.values = New.arrayList(1); this.values.add(value); }
private Integer[] toIndex(List<ObjectNode> selectNode) { List<Integer> result = New.arrayList(10); for (ObjectNode i : selectNode) { Integer integer = indexMapping.get(i); result.add(integer); } return result.toArray(new Integer[result.size()]); }
/** * Get all schema objects. * * @return all objects of all types */ public ArrayList<SchemaObject> getAllSchemaObjects() { ArrayList<SchemaObject> list = New.arrayList(); for (Schema schema : schemas.values()) { list.addAll(schema.getAll()); } return list; }
private ArrayList<Value> convertValues(Column ruleCol, Set<Value> values) { ArrayList<Value> arrayList = New.arrayList(values.size()); for (Value value : values) { arrayList.add(ruleCol.convert(value)); } return arrayList; }
/** * Get all schema objects of the given type. * * @param type the int type */ public ArrayList<SchemaObject> getAllSchemaObjects(int type) { ArrayList<SchemaObject> list = New.arrayList(); for (Schema schema : schemas.values()) { list.addAll(schema.getAll(type)); } return list; }
/** * Get all objects of the given type. * * @param type the object type * @return a (possible empty) list of all objects */ public ArrayList<SchemaObject> getAll(int type) { HashMap<String, SchemaObject> map = getMap(type); return New.arrayList(map.values()); }
/** * Get all tables and views. * * @return all objects of that type */ public ArrayList<Table> getAllTablesAndViews() { ArrayList<Table> list = New.arrayList(); for (Schema schema : schemas.values()) { list.addAll(schema.getAllTablesAndViews()); } return list; }
private void prepareReplace(TableMate table, List<Row> rows) { session.checkCanceled(); Map<ObjectNode, List<Row>> batches = batchForRoutingNode(table, rows); workers = New.arrayList(batches.size()); for (Map.Entry<ObjectNode, List<Row>> item : batches.entrySet()) { Row[] values = item.getValue().toArray(new Row[item.getValue().size()]); UpdateWorker worker = queryHandlerFactory.createUpdateWorker(prepared, item.getKey(), values); workers.add(worker); } }
private void prepareMerge(TableMate table, List<Row> rows) { session.checkCanceled(); Map<ObjectNode, List<Row>> batches = batchForRoutingNode(table, rows); workers = New.arrayList(batches.size()); for (Map.Entry<ObjectNode, List<Row>> item : batches.entrySet()) { Row[] values = item.getValue().toArray(new Row[item.getValue().size()]); UpdateWorker worker = queryHandlerFactory.createUpdateWorker(prepared, item.getKey(), values); workers.add(worker); } }
private String[] parseColumnList() { ArrayList<String> columns = New.arrayList(); do { String columnName = readColumnIdentifier(); columns.add(columnName); } while (readIfMore()); return columns.toArray(new String[columns.size()]); }
private Query parseSelect() { int paramIndex = parameters.size(); Query command = parseSelectUnion(); ArrayList<Parameter> params = New.arrayList(); for (int i = paramIndex, size = parameters.size(); i < size; i++) { params.add(parameters.get(i)); } command.setParameterList(params); command.init(); return command; }
@Override public ArrayList<Index> getIndexes() { ArrayList<Index> list = New.arrayList(1); list.add(new Index(this, null, IndexColumn.wrap(columns), IndexType.createScan())); return list; }
/** * Parse a SQL code snippet that represents an expression. * * @param sql the code snippet * @return the expression object */ public Expression parseExpression(String sql) { parameters = New.arrayList(); initialize(sql); read(); return readExpression(); }
private Select parseValues() { Select command = new Select(session); currentSelect = command; TableFilter filter = parseValuesTable(); ArrayList<Expression> list = New.arrayList(); list.add(new Wildcard(null, null)); command.setExpressions(list); command.addTableFilter(filter, true); command.init(); return command; }
@Override protected void doPrepare() { TableMate table = getTableMate(prepared.getTable().getName()); RoutingResult rr = routingHandler.doRoute(table); ObjectNode[] selectNodes = rr.getSelectNodes(); workers = New.arrayList(selectNodes.length); for (ObjectNode objectNode : selectNodes) { UpdateWorker worker = queryHandlerFactory.createUpdateWorker(prepared, objectNode); workers.add(worker); } }