private void recompileIfRequired() { if (prepared.needRecompile()) { // TODO test with 'always recompile' prepared.setModificationMetaId(0); String sql = prepared.getSQL(); ArrayList<Parameter> oldParams = prepared.getParameters(); Parser parser = new Parser(session); prepared = parser.parse(sql); long mod = prepared.getModificationMetaId(); prepared.setModificationMetaId(0); ArrayList<Parameter> newParams = prepared.getParameters(); for (int i = 0, size = newParams.size(); i < size; i++) { Parameter old = oldParams.get(i); if (old.isValueSet()) { Value v = old.getValue(session); Parameter p = newParams.get(i); p.setValue(v); } } prepared.prepare(); prepared.setModificationMetaId(mod); prepareJoinBatch(); } }
private void recompileIfRequired() { if (prepared.needRecompile()) { // TODO test with 'always recompile' prepared.setModificationMetaId(0); String sql = prepared.getSQL(); ArrayList<Parameter> oldParams = prepared.getParameters(); Parser parser = new Parser(session); prepared = parser.parse(sql); long mod = prepared.getModificationMetaId(); prepared.setModificationMetaId(0); ArrayList<Parameter> newParams = prepared.getParameters(); for (int i = 0, size = newParams.size(); i < size; i++) { Parameter old = oldParams.get(i); if (old.isValueSet()) { Value v = old.getValue(session); Parameter p = newParams.get(i); p.setValue(v); } } prepared.prepare(); prepared.setModificationMetaId(mod); prepareJoinBatch(); } }
private void recompileIfRequired() { if (prepared.needRecompile()) { // TODO test with 'always recompile' prepared.setModificationMetaId(0); String sql = prepared.getSQL(); ArrayList<Parameter> oldParams = prepared.getParameters(); Parser parser = new Parser(session); prepared = parser.parse(sql); long mod = prepared.getModificationMetaId(); prepared.setModificationMetaId(0); ArrayList<Parameter> newParams = prepared.getParameters(); for (int i = 0, size = newParams.size(); i < size; i++) { Parameter old = oldParams.get(i); if (old.isValueSet()) { Value v = old.getValue(session); Parameter p = newParams.get(i); p.setValue(v); } } prepared.prepare(); prepared.setModificationMetaId(mod); prepareJoinBatch(); } }
private void recompileIfRequired() throws SQLException { if (prepared.needRecompile()) { // TODO test with 'always recompile' prepared.setModificationMetaId(0); String sql = prepared.getSQL(); ObjectArray oldValues = prepared.getParameters(); Parser parser = new Parser(session); prepared = parser.parseOnly(sql); long mod = prepared.getModificationMetaId(); prepared.setModificationMetaId(0); ObjectArray newParams = prepared.getParameters(); for (int i = 0; i < newParams.size(); i++) { Value v = ((Expression) oldValues.get(i)).getValue(session); Parameter p = (Parameter) newParams.get(i); p.setValue(v); } prepared.prepare(); prepared.setModificationMetaId(mod); } }