IBM / nodejs-idb-connector

A JavaScript (Node.js) library for communicating with Db2 for IBM i, with support for queries, procedures, and much more. Uses traditional callback-style syntax
MIT License
37 stars 23 forks source link

Output contains \n characters #38

Closed abmusse closed 6 years ago

abmusse commented 6 years ago

Original report by Brian Jerome (Bitbucket: bjerome, GitHub: brianmjerome).


I'm not sure if this is the connector or xmlservice, but I'm getting \n characters after every and tag. It's adding unnecessary output byte/iPLUG size. Does anyone know more about this? Is there a way to remove it?

['<pgm name=\'...\' lib=\'...\' error=\'fast\'>\n<parm io=\'out\'>\n<data type=\'100a\' io=\'out\' name=\'...\'>...</data>\n...']
abmusse commented 6 years ago

Original comment by Brian Jerome (Bitbucket: bjerome, GitHub: brianmjerome).


Agreed. Thanks for posting!

abmusse commented 6 years ago

Original comment by Danny Roessner (Bitbucket: droessner, GitHub: droessner).


@brianmjerome I posted the issue under https://bitbucket.org/inext/xmlservice-rpg/issues/14/output-contains-n-characters so I think the issue in this repo can be closed.

abmusse commented 6 years ago

Original comment by Jesse G (Bitbucket: ThePrez, GitHub: ThePrez).


Yes, that's the correct spot. Thanks!

abmusse commented 6 years ago

Original comment by Danny Roessner (Bitbucket: droessner, GitHub: droessner).


The newline characters are definitely coming from XMLService. I ran call QXMLSERV.iPLUG512K(?, ?, ?, ?) using Run SQL Scripts (I used https://bitbucket.org/litmis/nodejs-itoolkit/src/master/test/rpg/zzcall.rpgle to test with) and the output has the newline characters in it. Is https://bitbucket.org/inext/xmlservice-rpg/issues the right place to post the issue?

abmusse commented 6 years ago

Original comment by Jesse G (Bitbucket: ThePrez, GitHub: ThePrez).


Interesting. I have not seen that before. This must be coming from XMLService, though. This could be verified by running your same query from a tool like Run SQL Scripts. Perhaps we should open an issue over at the XMLService repo once verified.

abmusse commented 6 years ago

Original comment by Brian Jerome (Bitbucket: bjerome, GitHub: brianmjerome).


I am making a direct call using idb-connector with call QXMLSERV.iPLUG512K(?, ?, ?, ?) and the result includes the \n in the output string. The XML is still valid, it's just unnecessary bytes.

I guess I can answer my own question. I'm just having trouble understanding it all.

abmusse commented 6 years ago

Original comment by Jesse G (Bitbucket: ThePrez, GitHub: ThePrez).


Brian, are you using the itoolkit with the iDb2Call transport? Or are you calling xmlservice directly, with this connector?

Also, just to verify, the \n you're seeing is the actual newline character, not an actual "\n", right? In other words, the XML is still perfectly valid, but has unnecessary bytes due to the newlines?