@@ -72,12 +72,23 @@ public boolean isSupported() {
7272 .normalizedUtPlsqlVersionNumber () >= RealtimeReporterDao .FIRST_VERSION_WITH_REALTIME_REPORTER ;
7373 }
7474
75- public void produceReport (final String reporterId , final List <String > pathList ) {
75+ // used for execution via PL/SQL Debugger
76+ public String getProduceReportPlsql (final String reporterId , final List <String > pathList ) {
77+ return getProduceReportPlsql (reporterId , pathList , false );
78+ }
79+
80+ private String getProduceReportPlsql (final String reporterId , final List <String > pathList , boolean useBindVariable ) {
7681 StringBuilder sb = new StringBuilder ();
7782 sb .append ("DECLARE\n " );
7883 sb .append (" l_reporter ut_realtime_reporter := ut_realtime_reporter();\n " );
7984 sb .append ("BEGIN\n " );
80- sb .append (" l_reporter.set_reporter_id(?);\n " );
85+ if (useBindVariable ) {
86+ sb .append (" l_reporter.set_reporter_id(?);\n " );
87+ } else {
88+ sb .append (" l_reporter.set_reporter_id('" );
89+ sb .append (reporterId );
90+ sb .append ("');\n " );
91+ }
8192 sb .append (" l_reporter.output_buffer.init();\n " );
8293 sb .append (" sys.dbms_output.enable(NULL);\n " );
8394 sb .append (" ut_runner.run(\n " );
@@ -88,7 +99,11 @@ public void produceReport(final String reporterId, final List<String> pathList)
8899 sb .append (" );\n " );
89100 sb .append (" sys.dbms_output.disable;\n " );
90101 sb .append ("END;" );
91- final String plsql = sb .toString ();
102+ return sb .toString ();
103+ }
104+
105+ public void produceReport (final String reporterId , final List <String > pathList ) {
106+ final String plsql = getProduceReportPlsql (reporterId , pathList , true );
92107 final Object [] binds = { reporterId };
93108 jdbcTemplate .update (plsql , binds );
94109 }
0 commit comments