@Override public void visit(OpTable opTable) { // Only the variables with values in the tables // (When building, undefs didn't get into bindings so no variable // mentioned) Table t = opTable.getTable() ; // Treat as unknown position unknownAcc.addAll(t.getVars()) ; }
@Override public void visit(OpTable opTable) { defines.addAll(opTable.getTable().getVars()); }
@Override public void visit(OpProject opProject) { // The walker (WalkerVisitorVisible) handles this // for visible variables, not mentioned variable collecting. // The visibleOnly/clear is simply to be as general as possible. // visible: OpWalkerVisitorFixed, OpWalkerVisitorVisible, // all (visibleOnly==false) for OpVarsMentioned if (visibleOnly) acc.clear() ; acc.addAll(opProject.getVars()) ; }
@Override public void visit(OpTable opTable) { action(opTable.getTable().getVars()); }
public static Table transform(Table table, NodeTransform transform) { // Non-streaming rewrite List<Var> vars = transformVars(transform, table.getVars()) ; Iterator<Binding> iter = table.rows() ; List<Binding> newRows = new ArrayList<>() ; for ( ; iter.hasNext() ; ) { Binding b = iter.next() ; Binding b2 = transform(b, transform) ; newRows.add(b2) ; } return new TableData(vars, newRows) ; }
public static Table transform(Table table, NodeTransform transform) { List<Var> oldVars = table.getVars(); List<Var> newVars = new ArrayList<Var>(oldVars.size()); for(Var o : oldVars) { Var n = (Var)transform.apply(o); newVars.add(n); } //List<Binding> newBindings = new ArrayList<Binding>(table.size()); Table result = new TableN(newVars); Iterator<Binding> it = table.rows(); while(it.hasNext()) { Binding o = it.next(); Binding n = BindingUtils.transformKeys(o, transform); result.addBinding(n); } return result; }
public static Table transform(Table table, NodeTransform transform) { List<Var> oldVars = table.getVars(); List<Var> newVars = new ArrayList<Var>(oldVars.size()); for(Var o : oldVars) { Var n = (Var)transform.apply(o); newVars.add(n); } //List<Binding> newBindings = new ArrayList<Binding>(table.size()); Table result = new TableN(newVars); Iterator<Binding> it = table.rows(); while(it.hasNext()) { Binding o = it.next(); Binding n = BindingUtils.transformKeys(o, transform); result.addBinding(n); } return result; }
@Override public void visit(OpTable opTable) { Table tbl = opTable.getTable(); boolean process = false; for (Var v : tbl.getVars()) { process = process | values.keySet().contains(v); } if (!process) { push(opTable); } else { TableN retTbl = new TableN(tbl.getVars()); Iterator<Binding> iter = tbl.rows(); while (iter.hasNext()) { retTbl.addBinding(rewrite(iter.next())); } push(OpTable.create(retTbl)); } }
@Override public void visit(OpTable opTable) { Table tbl = opTable.getTable(); boolean process = false; for (Var v : tbl.getVars()) { process = process | values.keySet().contains(v); } if (!process) { push(opTable); } else { TableN retTbl = new TableN(tbl.getVars()); Iterator<Binding> iter = tbl.rows(); while (iter.hasNext()) { retTbl.addBinding(rewrite(iter.next())); } push(OpTable.create(retTbl)); } }
public static ElementData tableToElement(Table table) { ElementData result = new ElementData(); for(Var v : table.getVars()) { result.add(v); } // result.add(Vars.g); // result.add(Vars.s); // result.add(Vars.p); // result.add(Vars.o); Iterator<Binding> it = table.rows(); while(it.hasNext()) { Binding binding = it.next(); result.add(binding); } return result; }
@Override public Element transform(ElementData el) { Table inTable = el.getTable(); Table outTable = NodeTransformLib.transform(inTable, nodeTransform); ElementData result = new ElementData(); outTable.getVars().forEach(result::add); Streams.stream(outTable.rows()).forEach(result::add); return result; // List<Var> vars = el.getVars().stream() // .map(v -> Optional.ofNullable((Var)nodeTransform.apply(v)).orElse(v)) // .collect(Collectors.toList()); // // // TableData table = new TableData(vars, bindings); } }
private Placement placeTable(ExprList exprs, OpTable input) { exprs = ExprList.copy(exprs) ; Op op = insertAnyFilter$(exprs, input.getTable().getVars(), input) ; return result(op, exprs) ; }
@Override public Op transform(OpTable opTable) { if ( opTable.isJoinIdentity() ) return opTable; Table table = opTable.getTable(); if ( table.isEmpty() ) return opTable; if ( TableUnit.isTableUnit(table) ) return opTable; if ( table.getVars().size() == 0 ) return opTable; Table table2 = NodeTransformLib.transform(table, transform); return OpTable.create(table2); }
public static void output(IndentedWriter out, Table table, SerializationContext sCxt) { WriterLib.start(out, Tags.tagTable, WriterLib.NoNL) ; WriterNode.outputVars(out, table.getVars(), sCxt) ; out.println() ; outputPlain(out, table, sCxt) ; WriterLib.finish(out, Tags.tagTable) ; }
@Override public void visit(OpTable opTable) { // This will go in a group so simply forget it. if ( opTable.isJoinIdentity() ) return ; // Put in a VALUES // This may be related to the grpup of the overall query. ElementData el = new ElementData() ; el.getVars().addAll(opTable.getTable().getVars()) ; QueryIterator qIter = opTable.getTable().iterator(null) ; while (qIter.hasNext()) el.getRows().add(qIter.next()) ; qIter.close() ; currentGroup().addElement(el) ; }
@Test public void table_02() { Table table = TableFactory.create(); table.getVars().add(Var.alloc("a")); Op opTable = OpTable.create(table); String x = str(opTable); assertEquals("(table (vars ?a))", x); }
@Override public boolean equals(Object other) { if ( this == other ) return true ; if ( !(other instanceof Table) ) return false ; Table table = (Table)other ; if ( table.size() != this.size() ) return false ; if ( !table.getVars().equals(getVars()) ) return false ; QueryIterator qIter1 = iterator(null) ; QueryIterator qIter2 = table.iterator(null) ; try { for (; qIter1.hasNext();) { Binding bind1 = qIter1.nextBinding() ; Binding bind2 = qIter2.nextBinding() ; if ( !BindingBase.equals(bind1, bind2) ) return false ; } return true ; } finally { qIter1.close() ; qIter2.close() ; } }
@Override public void visit(OpTable opTable) { if ( TableUnit.isTableUnit(opTable.getTable()) ) { start(opTable, NoNL) ; out.print("unit") ; finish(opTable) ; return ; } if ( TableEmpty.isTableEmpty(opTable.getTable()) ) { start(opTable, NoNL) ; out.print("empty") ; finish(opTable) ; return ; } start(opTable, NoNL) ; WriterNode.outputVars(out, opTable.getTable().getVars(), sContext) ; if ( ! opTable.getTable().isEmpty() ) { out.println(); WriterTable.outputPlain(out, opTable.getTable(), sContext) ; } finish(opTable) ; }
for (Var var: table.getVars()) {