/** * <p> This method updates the <code>Insert</code> object it receives as an * argument by replacing the virtual groups/elements with their physical * counterparts.</p> * @param obj The Insert object to be updated with physical groups/elements */ public void visit(Insert obj) { List physicalElements = new ArrayList(); // get the GroupSymbol on the insert GroupSymbol virtualGroup = obj.getGroup(); obj.setGroup(getMappedGroup(virtualGroup)); // get all virtual columns present on the Insert and replace them with // physical elements if(obj.getVariables() != null) { Iterator elementIter = obj.getVariables().iterator(); while(elementIter.hasNext()) { ElementSymbol virtualElement = (ElementSymbol) elementIter.next(); physicalElements.add(getMappedElement(virtualElement)); } obj.setVariables(physicalElements); } }
/** * <p> This method updates the <code>Insert</code> object it receives as an * argument by replacing the virtual groups/elements with their physical * counterparts.</p> * @param obj The Insert object to be updated with physical groups/elements */ public void visit(Insert obj) { List physicalElements = new ArrayList(); // get the GroupSymbol on the insert GroupSymbol virtualGroup = obj.getGroup(); obj.setGroup(getMappedGroup(virtualGroup)); // get all virtual columns present on the Insert and replace them with // physical elements if(obj.getVariables() != null) { Iterator elementIter = obj.getVariables().iterator(); while(elementIter.hasNext()) { ElementSymbol virtualElement = (ElementSymbol) elementIter.next(); physicalElements.add(getMappedElement(virtualElement)); } obj.setVariables(physicalElements); } }
/** * <p> This method updates the <code>Insert</code> object it receives as an * argument by replacing the virtual groups/elements with their physical * counterparts.</p> * @param obj The Insert object to be updated with physical groups/elements */ public void visit(Insert obj) { List physicalElements = new ArrayList(); // get the GroupSymbol on the insert GroupSymbol virtualGroup = obj.getGroup(); obj.setGroup(getMappedGroup(virtualGroup)); // get all virtual columns present on the Insert and replace them with // physical elements if(obj.getVariables() != null) { Iterator elementIter = obj.getVariables().iterator(); while(elementIter.hasNext()) { ElementSymbol virtualElement = (ElementSymbol) elementIter.next(); physicalElements.add(getMappedElement(virtualElement)); } obj.setVariables(physicalElements); } }
@Test public void testInsert1() { Insert insert = new Insert(); insert.setGroup(new GroupSymbol("m.g1")); //$NON-NLS-1$ List<ElementSymbol> vars = new ArrayList<ElementSymbol>(); vars.add(new ElementSymbol("e1")); //$NON-NLS-1$ vars.add(new ElementSymbol("e2")); //$NON-NLS-1$ insert.setVariables(vars); List<Constant> values = new ArrayList<Constant>(); values.add(new Constant(new Integer(5))); values.add(new Constant("abc")); //$NON-NLS-1$ insert.setValues(values); helpTest(insert, "INSERT INTO m.g1 (e1, e2) VALUES (5, 'abc')"); //$NON-NLS-1$ }
public void testVisitInsert1() { Insert insert = new Insert(); insert.setGroup(exampleGroup(true, 0)); List vars = new ArrayList(); vars.add(exampleElement(true, 0)); vars.add(exampleElement(true, 1)); insert.setVariables(vars); List values = new ArrayList(); values.add(new Constant("abc")); //$NON-NLS-1$ values.add(new Constant("abc")); //$NON-NLS-1$ insert.setValues(values); helpTest(insert, getSymbolMap()); }
@Test public void testMerge1() { Insert insert = new Insert(); insert.setUpsert(true); insert.setGroup(new GroupSymbol("m.g1")); //$NON-NLS-1$ List<ElementSymbol> vars = new ArrayList<ElementSymbol>(); vars.add(new ElementSymbol("e1")); //$NON-NLS-1$ vars.add(new ElementSymbol("e2")); //$NON-NLS-1$ insert.setVariables(vars); List<Constant> values = new ArrayList<Constant>(); values.add(new Constant(new Integer(5))); values.add(new Constant("abc")); //$NON-NLS-1$ insert.setValues(values); helpTest(insert, "UPSERT INTO m.g1 (e1, e2) VALUES (5, 'abc')"); //$NON-NLS-1$ }
/** INSERT INTO m.g (a) VALUES (?) */ @Test public void testInsertWithReference() { Insert insert = new Insert(); insert.setGroup(new GroupSymbol("m.g")); //$NON-NLS-1$ List<ElementSymbol> vars = new ArrayList<ElementSymbol>(); vars.add(new ElementSymbol("a")); //$NON-NLS-1$ insert.setVariables(vars); List<Reference> values = new ArrayList<Reference>(); values.add(new Reference(0)); insert.setValues(values); helpTest("INSERT INTO m.g (a) VALUES (?)", //$NON-NLS-1$ "INSERT INTO m.g (a) VALUES (?)", //$NON-NLS-1$ insert); }
mappedSymbols.add(symbolMap.get(symbol)); insert.setVariables(mappedSymbols); insert.setGroup(mapping.getGroup().clone()); insert.setUpdateInfo(ProcedureContainerResolver.getUpdateInfo(insert.getGroup(), metadata, Command.TYPE_INSERT, true));
mappedSymbols.add(symbolMap.get(symbol)); insert.setVariables(mappedSymbols); insert.setGroup(mapping.getGroup().clone()); insert.setUpdateInfo(ProcedureContainerResolver.getUpdateInfo(insert.getGroup(), metadata, Command.TYPE_INSERT, true));
mappedSymbols.add(symbolMap.get(symbol)); insert.setVariables(mappedSymbols); insert.setGroup(mapping.getGroup().clone()); insert.setUpdateInfo(ProcedureContainerResolver.getUpdateInfo(insert.getGroup(), metadata, Command.TYPE_INSERT, true));
@Test public void testInsertWithOption() { Insert insert = new Insert(); insert.setGroup(new GroupSymbol("m.g")); //$NON-NLS-1$ List<ElementSymbol> vars = new ArrayList<ElementSymbol>(); vars.add(new ElementSymbol("a")); //$NON-NLS-1$ insert.setVariables(vars); List<Reference> values = new ArrayList<Reference>(); values.add(new Reference(0)); insert.setValues(values); Option option = new Option(); option.setNoCache(true); insert.setOption(option); TestParser.helpTest("INSERT INTO m.g (a) VALUES (?) OPTION NOCACHE", //$NON-NLS-1$ "INSERT INTO m.g (a) VALUES (?) OPTION NOCACHE", //$NON-NLS-1$ insert); }
Insert newInsert = new Insert(); newInsert.setGroup(insert.getGroup().clone()); newInsert.setVariables(LanguageObject.Util.deepClone(insert.getVariables(), ElementSymbol.class)); ArrayList<Expression> values = new ArrayList<Expression>(); IfStatement ifStatement = new IfStatement();
if (jj_2_15(2147483647)) { columns = columnList(false, true); insert.setVariables(columns); } else {
Insert newInsert = new Insert(); newInsert.setGroup(insert.getGroup().clone()); newInsert.setVariables(LanguageObject.Util.deepClone(insert.getVariables(), ElementSymbol.class)); ArrayList<Expression> values = new ArrayList<Expression>(); IfStatement ifStatement = new IfStatement();
if (jj_2_15(2147483647)) { columns = columnList(false, true); insert.setVariables(columns); } else {
Insert newInsert = new Insert(); newInsert.setGroup(insert.getGroup().clone()); newInsert.setVariables(LanguageObject.Util.deepClone(insert.getVariables(), ElementSymbol.class)); ArrayList<Expression> values = new ArrayList<Expression>(); IfStatement ifStatement = new IfStatement();
if (jj_2_16(2147483647)) { columns = columnList(false, true); insert.setVariables(columns); } else {
newVars.add(newVariable); cloneInsert.setVariables(newVars); cloneInsert.setGroup(newGroup); cloneInsert.setUpdateInfo(null);
newVars.add(newVariable); cloneInsert.setVariables(newVars); cloneInsert.setGroup(newGroup); cloneInsert.setUpdateInfo(null);
newVars.add(newVariable); cloneInsert.setVariables(newVars); cloneInsert.setGroup(newGroup); cloneInsert.setUpdateInfo(null);