graphql-engine/cabal.project
Rakesh Emmadi 42a2787290 server/mssql: update odbc git reference to the commit which has error message fix
## Description

I come across a flaky test due to inconsistent error messages from the odbc lib we use for MSSQL database interactions.
```
cabal new-run -- test:graphql-engine-tests mssql
Up to date

Database.MSSQL.TransactionSpec
  runTx
    runs command in a transaction
    commits a successful transaction, returning a single field
    commits a successful transaction, returning multiple fields
    an unsuccesful transaction, expecting Int
    a successfull query expecting multiple rows
    an unsuccesful transaction; expecting single row
    displays the SQL Server error on an unsuccessful transaction FAILED [1]
    rolls back an unsuccessful transaction

Failures:

  src-test/Database/MSSQL/TransactionSpec.hs:60:15:
  1) Database.MSSQL.TransactionSpec.runTx displays the SQL Server error on an unsuccessful transaction
       expected: UnsuccessfulReturnCode "odbc_SQLExecDirectW" (-1) "[Microsoft][ODBC Driver 17 for SQL Server][SQL Server]The definition for column 'INVALID_SYNTAX' must include a data type.[Microsoft][ODBC Driver 17 for SQL Server][SQL Server]The definition for column 'INVALID_SYNTAX' must include a data type."
        but got: UnsuccessfulReturnCode "odbc_SQLExecDirectW" (-1) "[Microsoft][ODBC Driver 17 for SQL Server][SQL Server]The definition for column 'INVALID_SYNTAX' must include a data type.[Microsoft][ODBC Driver 17 for SQL Server][SQL Server]The definition for column 'INVALID_SYNTAX' must include a data type.\DEL"

  To rerun use: --match "/Database.MSSQL.TransactionSpec/runTx/displays the SQL Server error on an unsuccessful transaction/"

Randomized with seed 1101559172

Finished in 0.2140 seconds
8 examples, 1 failure
```
From above, we got a error message with `\DEL` appended. It is also driving the tests to fail in the CI on random PRs.

We brought this into notice of "fpco", the authors of the library and they got us a [quick fix](https://github.com/fpco/odbc/pull/43), which also improves the errors by removing the redundancy of the error message.

In this PR
- We update the `odbc` library git reference to fc5b592a60
- Update the error messages in tests to conform with improved error messages from `odbc`

## Related issues
Closes https://github.com/hasura/graphql-engine-mono/issues/3340

## Changelog

-  `CHANGELOG.md` is updated with user-facing content relevant to this PR.

## Affected components
-  server
-  tests

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/3345
GitOrigin-RevId: a5694e8afb58b5ad71b9c9635a80dea1ec449f51
2022-01-13 11:15:01 +00:00

100 lines
3.1 KiB
Plaintext

-- Global project configuration.
--
-- This file can be overridden with cabal.project.local (see e.g. cabal.project.dev)
--
-- If you need to switch between several local configurations you can also
-- create a symlink to this file with a different name, e.g.:
-- $ ln -s cabal.project cabal.project.myconfig
-- $ ln -s cabal.project.freeze cabal.project.myconfig.freeze
-- ...and then create a new set of overrides in:
-- cabal.project.myconfig.local
-- ...and then invoke cabal with
-- $ cabal new-build --project-file=cabal.project.myconfig
--
-- See: https://www.haskell.org/cabal/users-guide/nix-local-build.html#configuring-builds-with-cabal-project
with-compiler: ghc-8.10.7
-- package-level parallelism:
jobs: $ncpus
packages: server
constraints:
-- Ensure we don't end up with a freeze file that forces an incompatible
-- version in CI for `Setup.hs` scripts.
setup.Cabal <3.4
package *
-- NOTE: this gets applied to both local (hasura) packages and dependencies,
-- but optimizations for local hasura packages are overridden/controlled
-- via the 'optimize-hasura' flag.
optimization: 2
-- For tooling, e.g. 'weeder', and IDE-like stuff:
ghc-options: -fwrite-ide-info
haddock-html: true
haddock-hoogle: true
haddock-hyperlink-source: true
haddock-quickjump: true
package graphql-engine
ghc-options: -j
haddock-options: "--show-all"
source-repository-package
type: git
location: https://github.com/hasura/kriti-lang.git
tag: v0.2.2
source-repository-package
type: git
location: https://github.com/hasura/pg-client-hs.git
tag: f28738e18b7038627fb59b93dbc67929fe427c57
source-repository-package
type: git
location: https://github.com/hasura/graphql-parser-hs.git
tag: 36212bcc3815434a1bc25dc96f091a783b880ca4
source-repository-package
type: git
location: https://github.com/hasura/ci-info-hs.git
tag: be578a01979fc95137cc2c84827f9fafb99df60f
source-repository-package
type: git
location: https://github.com/hasura/pool.git
tag: bc4c3f739a8fb8ec4444336a34662895831c9acf
source-repository-package
type: git
location: https://github.com/fpco/odbc.git
tag: fc5b592a607d932e5fc96c0f74c0df7c3e910883
package odbc
ghc-options: -Wwarn
-- Our CI compiles with -Werror, which is also applied to those packages
-- while it's fine for packages we maintain, we can't actually enforce
-- that third-party packages are warning-free, hence this -Wno-error.
-- When the changes in odbc are released, we can instead depend on
-- the hackage version, and remove it from this list of packages.
source-repository-package
type: git
location: https://github.com/hasura/ekg-core.git
tag: ac51c3834e242833e9735394295cbcaa583233f8
source-repository-package
type: git
location: https://github.com/hasura/ekg-json.git
tag: 84990712c165d7e3e76b2b289640ef8b5033f12f
-- This is v1.2.3.2 with https://github.com/haskell/text/pull/348
-- cherry-picked. When 1.3 is released we can move from this fork.
source-repository-package
type: git
location: https://github.com/hasura/text.git
tag: 874c3164fadf39a83382359d2b6ce941a3e134da