typhon-project / typhonql

Typhon Query Language
Eclipse Public License 2.0
4 stars 1 forks source link

[BUG] Problem with parametrized query when specifying a value for the UUID to insert #100

Closed meuriceloup closed 3 years ago

meuriceloup commented 3 years ago

Hi guys,

When I execute the following parametrized query: {"query":"insert Orders{@id: ??id, ShipName:??ShipName}","parameterNames":["id", "ShipName"],"parameterTypes":["uuid", "string"],"boundRows":[["beefc0b2-0393-4b73-951c-7243ee849275", "ok"]]}

it returns the following error:

|lib://typhonql/src/lang/typhonql/Insert2Script.rsc|(2665,3,<87,48>,<87,51>): CallFailed(
  |lib://typhonql/src/lang/typhonql/Insert2Script.rsc|(2665,3,<87,48>,<87,51>),
  [appl(
      regular(\iter-star-seps(
          sort("KeyVal"),
          [
            layouts("Standard"),
            lit(","),
            layouts("Standard")
          ])),
      [appl(
          prod(
            label(
              "storedKey",
              sort("KeyVal")),
            [
              lit("@id"),
              layouts("Standard"),
              lit(":"),
              layouts("Standard"),
              label(
                "value",
                sort("Expr"))
            ],
            {}),
          [appl(
              prod(
                lit("@id"),
                [
                  \char-class([range(64,64)]),
                  \char-class([range(105,105)]),
                  \char-class([range(100,100)])
                ],
                {}),
              [char(64),char(105),char(100)]),appl(
              prod(
                layouts("Standard"),
                [conditional(
                    \iter-star(lex("WhitespaceOrComment")),
                    {
                      \not-follow(\char-class([
                            range(9,13),
                            range(32,32),
                            range(133,133),
                            range(160,160),
        at insert2script(|lib://typhonql/src/lang/typhonql/Insert2Script.rsc|(2635,70,<87,18>,<87,88>))
        at request2script(|lib://typhonql/src/lang/typhonql/Request2Script.rsc|(3329,20,<104,14>,<104,34>))
        at runUpdate(|lib://typhonql/src/lang/typhonql/RunUsingCompiler.rsc|(2131,32,<65,11>,<65,43>))
        at runUpdate(|lib://typhonql/src/lang/typhonql/RunUsingCompiler.rsc|(5816,38,<166,9>,<166,47>))
17:02:17.514 [qtp335708295-14] ERROR engineering.swat.typhonql.server.QLRestServer - Failed to handle response
org.rascalmpl.interpreter.control_exceptions.Throw: |lib://typhonql/src/lang/typhonql/Insert2Script.rsc|:87,48: CallFailed(
  |lib://typhonql/src/lang/typhonql/Insert2Script.rsc|(2665,3,<87,48>,<87,51>),
  [appl(
      regular(\iter-star-seps(
          sort("KeyVal"),
          [
            layouts("Standard"),
            lit(","),
            layouts("Standard")
          ])),
      [appl(
          prod(
            label(
              "storedKey",
              sort("KeyVal")),
            [
              lit("@id"),
              layouts("Standard"),
              lit(":"),
              layouts("Standard"),
              label(
                "value",
                sort("Expr"))
            ],
            {}),
          [appl(
              prod(
                lit("@id"),
                [
                  \char-class([range(64,64)]),
                  \char-class([range(105,105)]),
                  \char-class([range(100,100)])
                ],
                {}),
              [char(64),char(105),char(100)]),appl(
              prod(
                layouts("Standard"),
                [conditional(
                    \iter-star(lex("WhitespaceOrComment")),
                    {
                      \not-follow(\char-class([
                            range(9,13),
                            range(32,32),
                            range(133,133),
                            range(160,160),
                            range(5760,5760),
                            range(6158,6158),
                            range(8192,8202),
                            range(8232,8233),
                            range(8239,8239),
                            range(8287,8287),
                            range(12288,12288)
                          ])),
                      \not-follow(lit("//"))
                    })],
                {}),
              [appl(
                  regular(\iter-star(lex("WhitespaceOrComment"))),
                  [])[
                  @loc=|lib://typhonql/src/lang/typhonql/RunUsingCompiler.rsc|(17,0,<1,17>,<1,17>)
                ]])[
              @loc=|lib://typhonql/src/lang/typhonql/RunUsingCompiler.rsc|(17,0,<1,17>,<1,17>)
            ],appl(
              prod(
                lit(":"),
                [\char-class([range(58,58)])],
                {}),
              [char(58)]),appl(
              prod(
                layouts("Standard"),
                [conditional(
                    \iter-star(lex("WhitespaceOrComment")),
                    {
                      \not-follow(\char-class([
                            range(9,13),
                            range(32,32),
                            range(133,133),
                            range(160,160),
                            range(5760,5760),
                            range(6158,6158),
                            range(8192,8202),
                            range(8232,8233),
                            range(8239,8239),
                            range(8287,8287),
                            range(12288,12288)
                          ])),
                      \not-follow(lit("//"))
                    })],
                {}),
              [appl(
                  regular(\iter-star(lex("WhitespaceOrComment"))),
                  [appl(
                      prod(
                        label(
                          "whitespace",
                          lex("WhitespaceOrComment")),
                        [lex("Whitespace")],
                        {}),
                      [appl(
                          prod(
                            lex("Whitespace"),
                            [\char-class([
                                  range(9,13),
                                  range(32,32),
                                  range(133,133),
                                  range(160,160),
                                  range(5760,5760),
                                  range(6158,6158),
                                  range(8192,8202),
                                  range(8232,8233),
                                  range(8239,8239),
                                  range(8287,8287),
                                  range(12288,12288)
                                ])],
                            {}),
                          [char(32)])[
                          @loc=|lib://typhonql/src/lang/typhonql/RunUsingCompiler.rsc|(18,1,<1,18>,<1,19>)
                        ]])[
                      @loc=|lib://typhonql/src/lang/typhonql/RunUsingCompiler.rsc|(18,1,<1,18>,<1,19>)
                    ]])[
                  @loc=|lib://typhonql/src/lang/typhonql/RunUsingCompiler.rsc|(18,1,<1,18>,<1,19>)
                ]])[
              @loc=|lib://typhonql/src/lang/typhonql/RunUsingCompiler.rsc|(18,1,<1,18>,<1,19>)
            ],appl(
              prod(
                label(
                  "placeHolder",
                  sort("Expr")),
                [label(
                    "ph",
                    lex("PlaceHolder"))],
                {}),
              [appl(
                  prod(
                    lex("PlaceHolder"),
                    [
                      lit("??"),
                      label(
                        "name",
                        lex("Id"))
                    ],
                    {}),
                  [appl(
                      prod(
                        lit("??"),
                        [
                          \char-class([range(63,63)]),
                          \char-class([range(63,63)])
                        ],
     ...

Any ideas what's wrong here? Thx in advance, Loup