kadler / db2sock-test

1 stars 0 forks source link

Parsing an output json with hole parameter fails #26

Closed kadler closed 6 years ago

kadler commented 6 years ago

Original report by Teemu Halmela (Bitbucket: teemu_, GitHub: Unknown).


Hole parameters aren't given a value so parsing a json which includes them fails.

This can be fixed by adding an empty value for holes. FIX

kadler commented 6 years ago

Original comment by Teemu Halmela (Bitbucket: teemu_, GitHub: Unknown).


This is working, thanks.

kadler commented 6 years ago

Original comment by Tony Cairns (Bitbucket: rangercairns, GitHub: rangercairns).


Ok, "Admiral there be holes here" (Scotty, Star Trek IV - The Voyage Home).

#!bash

bash-4.3$ ./test1000_sql400json32 ../json/j0280_pgm_hamela03-ds-rpg-occurs_with_holes
input(5000000):
{"pgm":[
    {"name":"HAMELA03",  "lib":"DB2JSON"},
    {"s": [
        {"name":"Parm1", "type":"1a", "value":""},
        {"name":"Parm2", "type":"18a", "value":"äöÄÖåÅáÁàÀ"},
        {"name":"Parm3", "type":"2a", "value":""},
        {"name":"Parm4", "type":"10a", "value":""},
        {"name":"Arr1Count", "type":"3s0", "value":0}
    ]},
    {"ds": [{"name":"Arr1", "dim":10},
        {"s":[
            {"name":"holeArr1", "type":"170h", "value":""}
        ]}
    ]},
    {"s": [
        {"name":"Parm5", "type":"1a", "value":""},
        {"name":"Parm6", "type":"4a", "value":""},
        {"name":"Parm7", "type":"18a", "value":""},
        {"name":"Parm8", "type":"100a", "value":"!#¤%&/()=?+*^_-:;@£${[]}\\<>"},
        {"name":"Parm9", "type":"3s0", "value":0},
        {"name":"Parm10", "type":"3s0", "value":0}
    ]},
    {"s": {"name":"Arr2Count", "type":"5s0", "value":3}},
    {"ds": [{"name":"Arr2", "dim":10},
        {"s":[
            {"name":"holeP1", "type":"1h", "value":""},
            {"name":"Arr2P2", "type":"30a", "value":"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},
            {"name":"holeP3P4", "type":"22h", "value":""},
            {"name":"Arr2P3", "type":"4a", "value":"ap3"},
            {"name":"Arr2P4", "type":"18a", "value":""},
            {"name":"Arr2P5", "type":"100a", "value":""}
        ]}
    ]},
    {"s": {"name":"hole11", "type":"30h", "value":""}}
]}

output(1680):

{
    "script": [{
        "pgm": ["HAMELA03", "DB2JSON", {
            "Parm1": ""
        }, {
            "Parm2": "äöÄÖåÅáÁàÀ"
        }, {
            "Parm3": ""
        }, {
            "Parm4": ""
        }, {
            "Arr1Count": 1
        }, {
            "Arr1": [
                [{
                    "holeArr1": ""
                }],
                [{
                    "holeArr1": ""
                }],
                [{
                    "holeArr1": ""
                }],
                [{
                    "holeArr1": ""
                }],
                [{
                    "holeArr1": ""
                }],
                [{
                    "holeArr1": ""
                }],
                [{
                    "holeArr1": ""
                }],
                [{
                    "holeArr1": ""
                }],
                [{
                    "holeArr1": ""
                }],
                [{
                    "holeArr1": ""
                }]
            ]
        }, {
            "Parm5": ""
        }, {
            "Parm6": ""
        }, {
            "Parm7": ""
        }, {
            "Parm8": "!#¤%&/()=?+*^_-:;@£${[]}\\<>"
        }, {
            "Parm9": 0.0
        }, {
            "Parm10": 0.0
        }, {
            "Arr2Count": 3
        }, {
            "Arr2": [
                [{
                    "holeP1": ""
                }, {
                    "Arr2P2": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
                }, {
                    "holeP3P4": ""
                }, {
                    "Arr2P3": ""
                }, {
                    "Arr2P4": "AAAAAAAAAAAAAAAAAA"
                }, {
                    "Arr2P5": "AAAAAAAAA"
                }],
                [{
                    "holeP1": ""
                }, {
                    "Arr2P2": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
                }, {
                    "holeP3P4": ""
                }, {
                    "Arr2P3": ""
                }, {
                    "Arr2P4": ""
                }, {
                    "Arr2P5": ""
                }],
                [{
                    "holeP1": ""
                }, {
                    "Arr2P2": "AAAAAAAA"
                }, {
                    "holeP3P4": ""
                }, {
                    "Arr2P3": ""
                }, {
                    "Arr2P4": ""
                }, {
                    "Arr2P5": ""
                }],
                [{
                    "holeP1": ""
                }, {
                    "Arr2P2": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
                }, {
                    "holeP3P4": ""
                }, {
                    "Arr2P3": "ap3"
                }, {
                    "Arr2P4": ""
                }, {
                    "Arr2P5": ""
                }],
                [{
                    "holeP1": ""
                }, {
                    "Arr2P2": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
                }, {
                    "holeP3P4": ""
                }, {
                    "Arr2P3": "ap3"
                }, {
                    "Arr2P4": ""
                }, {
                    "Arr2P5": ""
                }],
                [{
                    "holeP1": ""
                }, {
                    "Arr2P2": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
                }, {
                    "holeP3P4": ""
                }, {
                    "Arr2P3": "ap3"
                }, {
                    "Arr2P4": ""
                }, {
                    "Arr2P5": ""
                }],
                [{
                    "holeP1": ""
                }, {
                    "Arr2P2": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
                }, {
                    "holeP3P4": ""
                }, {
                    "Arr2P3": "ap3"
                }, {
                    "Arr2P4": ""
                }, {
                    "Arr2P5": ""
                }],
                [{
                    "holeP1": ""
                }, {
                    "Arr2P2": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
                }, {
                    "holeP3P4": ""
                }, {
                    "Arr2P3": "ap3"
                }, {
                    "Arr2P4": ""
                }, {
                    "Arr2P5": ""
                }],
                [{
                    "holeP1": ""
                }, {
                    "Arr2P2": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
                }, {
                    "holeP3P4": ""
                }, {
                    "Arr2P3": "ap3"
                }, {
                    "Arr2P4": ""
                }, {
                    "Arr2P5": ""
                }],
                [{
                    "holeP1": ""
                }, {
                    "Arr2P2": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
                }, {
                    "holeP3P4": ""
                }, {
                    "Arr2P3": "ap3"
                }, {
                    "Arr2P4": ""
                }, {
                    "Arr2P5": ""
                }]
            ]
        }, {
            "hole11": ""
        }]
    }]
}
kadler commented 6 years ago

Original comment by Tony Cairns (Bitbucket: rangercairns, GitHub: rangercairns).


Did not get to this one today. The other issues should have fixes. Thanks for help.