Skip to content

Commit

Permalink
TEIID-3995 making sure results aren't returned inappropriately
Browse files Browse the repository at this point in the history
  • Loading branch information
shawkins committed Feb 27, 2016
1 parent d1f69ce commit 37a6b44
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 1 deletion.
Expand Up @@ -243,7 +243,7 @@ private Object planStatement(CreateProcedureCommand parentProcCommand, Statement
ProcessorPlan commandPlan = cmdStmt.getCommand().getProcessorPlan();

if (command.getType() == Command.TYPE_DYNAMIC){
instruction = new ExecDynamicSqlInstruction(parentProcCommand,((DynamicCommand)command), metadata, idGenerator, capFinder, cmdStmt.isReturnable() );
instruction = new ExecDynamicSqlInstruction(parentProcCommand,((DynamicCommand)command), metadata, idGenerator, capFinder, cmdStmt.isReturnable() && parentProcCommand.returnsResultSet());
}else{
CreateCursorResultSetInstruction cursor = new CreateCursorResultSetInstruction(null, commandPlan, getMode(parentProcCommand, cmdStmt, command));
if (cursor.getMode() == Mode.HOLD) {
Expand Down
Expand Up @@ -2257,6 +2257,18 @@ private QueryMetadataInterface createProcedureMetadata(String procedure) {
helpTestProcess(plan, expected, dataManager, tm);
}

@Test public void testReturnStatementWithDynamicCommad() throws Exception {
String ddl = "create virtual procedure proc (z STRING) returns integer as begin execute immediate 'select '' || z || '''; return 1; end;";
TransformationMetadata tm = TestProcedureResolving.createMetadata(ddl);
String sql = "{? = call proc('a')}"; //$NON-NLS-1$

ProcessorPlan plan = getProcedurePlan(sql, tm);

HardcodedDataManager dataManager = new HardcodedDataManager(tm);
List[] expected = new List[] { Arrays.asList(1) }; //$NON-NLS-1$
helpTestProcess(plan, expected, dataManager, tm);
}

@Test public void testAnonBlock() throws Exception {
String sql = "begin insert into #temp (e1) select e1 from pm1.g1; select * from #temp; end;"; //$NON-NLS-1$
TransformationMetadata tm = RealMetadataFactory.example1Cached();
Expand Down

0 comments on commit 37a6b44

Please sign in to comment.