@Override public void fillRow(List<Object> row, Procedure proc, VDBMetaData v, TransformationMetadata metadata, CommandContext cc, SimpleIterator<Procedure> iter) { row.add(v.getName()); row.add(proc.getParent().getName()); row.add(proc.getName()); row.add(proc.getNameInSource()); row.add(proc.getResultSet() != null); row.add(proc.getUUID()); row.add(proc.getAnnotation()); row.add(proc.getParent().getUUID()); } });
@Override public void fillRow(List<Object> row, Procedure proc, VDBMetaData v, TransformationMetadata metadata, CommandContext cc, SimpleIterator<Procedure> iter) { row.add(v.getName()); row.add(proc.getParent().getName()); row.add(proc.getName()); row.add(proc.getNameInSource()); row.add(proc.getResultSet() != null); row.add(proc.getUUID()); row.add(proc.getAnnotation()); row.add(proc.getParent().getUUID()); } });
@Override public void fillRow(List<Object> row, Procedure proc, VDBMetaData v, TransformationMetadata metadata, CommandContext cc, SimpleIterator<Procedure> iter) { row.add(v.getName()); row.add(proc.getParent().getName()); row.add(proc.getName()); row.add(proc.getNameInSource()); row.add(proc.getResultSet() != null); row.add(proc.getUUID()); row.add(proc.getAnnotation()); row.add(proc.getParent().getUUID()); } });
private static void addOperationAnnotations(Procedure proc, CsdlOperation operation, CsdlSchema csdlSchema) { if (proc.getAnnotation() != null) { addStringAnnotation(operation, "Core.Description", proc.getAnnotation()); } if (proc.getNameInSource() != null) { addStringAnnotation(operation, "teiid.NAMEINSOURCE", proc.getNameInSource()); } if (proc.getUpdateCount() != Procedure.AUTO_UPDATECOUNT) { addIntAnnotation(operation, "teiid.UPDATECOUNT", proc.getUpdateCount()); } // add all custom properties for (String str:proc.getProperties().keySet()) { addTerm(normalizeTermName(str), new String[] {"Action", "Function"}, csdlSchema); addStringAnnotation(operation, csdlSchema.getAlias()+"."+normalizeTermName(str), proc.getProperties().get(str)); } }
@Test public void testAlterProcedureOptions() throws Exception { String ddl = "CREATE FOREIGN PROCEDURE myProc(OUT p1 boolean, p2 varchar, INOUT p3 decimal) " + "RETURNS (r1 varchar, r2 decimal)" + "OPTIONS(RANDOM 'any', UUID 'uuid', NAMEINSOURCE 'nis', ANNOTATION 'desc', UPDATECOUNT '2');" + "ALTER FOREIGN PROCEDURE myProc OPTIONS(SET NAMEINSOURCE 'x');" + "ALTER FOREIGN PROCEDURE myProc ALTER PARAMETER p2 OPTIONS (ADD x 'y');" + "ALTER FOREIGN PROCEDURE myProc OPTIONS(DROP UPDATECOUNT);"; Schema s = helpParse(ddl, "model").getSchema(); Procedure proc = s.getProcedure("myProc"); assertNotNull(proc); assertEquals("x", proc.getNameInSource()); assertEquals("p2", proc.getParameters().get(1).getName()); assertEquals("y", proc.getParameters().get(1).getProperty("x", false)); assertEquals(1, proc.getUpdateCount()); }
method.setNameInSource(proc.getNameInSource()); method.setUUID(proc.getUUID());
method.setNameInSource(proc.getNameInSource()); method.setUUID(proc.getUUID());
method.setNameInSource(proc.getNameInSource()); method.setUUID(proc.getUUID());
assertEquals("nis", proc.getNameInSource()); assertEquals("desc", proc.getAnnotation()); assertEquals(2, proc.getUpdateCount());
assertEquals("nis", proc.getNameInSource()); assertEquals("desc", proc.getAnnotation()); assertEquals(2, proc.getUpdateCount());