void sql::write_extrinsic_comparison(relation r, const abstract_column_sequence &lhs, const row &rhs) { vector<thunk> lhs_thunks; vector<thunk> rhs_thunks; lhs.for_each_column([&](const column_mapper &c) { lhs_thunks.push_back([&](sql &cmd) { cmd.write_evaluation(c); }); const string placeholder = next_placeholder(); rhs_thunks.push_back([=](sql &cmd) { write(placeholder); }); attach_cell(*rhs.find_cell(c.name())); }); write_lexicographic_comparison(r, lhs_thunks, rhs_thunks); }
void sql::write_value(const cell &value) { write(next_placeholder()); attach_cell(value); }
void sql::attach_value(const cell &value) { attach_cell(value); }