@@ -220,11 +220,21 @@ export default class Schemas {
220
220
* @param object Not user input
221
221
*/
222
222
static async generateSQL ( schema : string , object : string , internalType : string ) : Promise < string > {
223
- const lines = await JobManager . runSQL < { SRCDTA : string } > ( [
224
- `CALL QSYS2.GENERATE_SQL(?, ?, ?, CREATE_OR_REPLACE_OPTION => '1', PRIVILEGES_OPTION => '0')`
223
+ await JobManager . runSQL < { SRCDTA : string } > ( [
224
+ `CALL QSYS2.GENERATE_SQL( DATABASE_OBJECT_NAME => ?, DATABASE_OBJECT_LIBRARY_NAME => ?, DATABASE_OBJECT_TYPE => ?
225
+ , CREATE_OR_REPLACE_OPTION => '1', PRIVILEGES_OPTION => '0'
226
+ , DATABASE_SOURCE_FILE_NAME => '*STMF'
227
+ , STATEMENT_FORMATTING_OPTION => '0'
228
+ , SOURCE_STREAM_FILE => '/tmp/Q_GENSQL_' concat current_user concat '.sql'
229
+ , SOURCE_STREAM_FILE_END_OF_LINE => 'LF'
230
+ , SOURCE_STREAM_FILE_CCSID => 1208 )`
225
231
] . join ( ` ` ) , { parameters : [ object , schema , internalType ] } ) ;
232
+ const lines = await JobManager . runSQL < { LINE : string } > (
233
+ `select LINE
234
+ from table( QSYS2.IFS_READ( PATH_NAME => '/tmp/Q_GENSQL_' concat current_user concat '.sql' ) )`
235
+ ) ;
226
236
227
- const generatedStatement = lines . map ( line => line . SRCDTA ) . join ( `\n` ) ;
237
+ const generatedStatement = lines . map ( elem => elem . LINE ) . join ( `\n` ) ;
228
238
229
239
return generatedStatement ;
230
240
}
0 commit comments