daml/ledger-service/http-json
Stephen Compall 480216e50b
Oracle json-api: more queries (#9159)
* support scalaz.Foldable1 in Fragments.in

* incorporating signatories and observers in Oracle contract query

* join syntax; allowed aggregation

* aggregate the signatories and observers independently before join

- prior: ERROR at line 8 (the GROUP BY line):
         ORA-00932: inconsistent datatypes: expected - got CLOB

* make toSqlWhereClause portable, mostly

* name the constraints for debugging

* import cleanup

* skip inserting contract on conflict (for read committed)

* support lookup by contract ID

* remove ::jsonb from fetch-by-key for Oracle

* proper key comparison and retrieval

* on conflict ignore for signatories and observers

* contract ID, party, offset, package ID column types

* template module and entity name types

- nvarchar2 for name type because

        ,template_module_name CLOB NOT NULL
        ,template_entity_name CLOB NOT NULL
        ,UNIQUE (package_id, template_module_name, template_entity_name)
        )
    , Error Msg = ORA-02329: column of datatype LOB cannot be unique or a primary key

* type-aware == and @> output for Oracle

* pick arbitrary maximum module/entity name size

      Cause: Error : 1450, Position : 0, Sql =
      CREATE TABLE
        template_id
        (tpid NUMBER(19,0) GENERATED ALWAYS AS IDENTITY NOT NULL PRIMARY KEY
        ,package_id NVARCHAR2(64) NOT NULL
        ,template_module_name NVARCHAR2(1594) NOT NULL
        ,template_entity_name NVARCHAR2(1594) NOT NULL
        ,UNIQUE (package_id, template_module_name, template_entity_name)
        )
    , Error Msg = ORA-01450: maximum key length (6398) exceeded

* happy path for query-less queries

* done todo

CHANGELOG_BEGIN
CHANGELOG_END

* handle 2.13 deprecation

* factor NVARCHAR2(255)s

- suggested by @cocreature; thanks

* deal with where only a signatory OR observer matches

- suggested by @cocreature; thanks
2021-03-29 15:29:12 -04:00
..
src Oracle json-api: more queries (#9159) 2021-03-29 15:29:12 -04:00
BUILD.bazel Make non-repudiation integration exclusive to enterprise edition (#9219) 2021-03-24 20:25:47 +01:00
README.md Daml case and logo (#8433) 2021-01-08 12:50:15 +00:00

HTTP JSON Service

See "HTTP JSON API Service" on docs.daml.com for usage information.

Documentation can also be found in the RST format: