mirror of
https://github.com/hasura/graphql-engine.git
synced 2024-12-14 17:02:49 +03:00
580ae13fc1
The ODBC library inserts `CAST(? AS NVARCHAR(MAX))` instead of just `?` when working with text, to ensure that a text parameter is always interpreted as the same type. This was introduced in https://github.com/fpco/odbc/pull/44 to fix a different bug in HGE.
However, this is not reflected in the returned query in case of an error, which can be very confusing for the reader.
This change fixes the renderer so that the query is generated in the same way when parameterized and when rendered for error messages.
The associated changes are at 43b07813d6
.
[NDAT-738]: https://hasurahq.atlassian.net/browse/NDAT-738?atlOrigin=eyJpIjoiNWRkNTljNzYxNjVmNDY3MDlhMDU5Y2ZhYzA5YTRkZjUiLCJwIjoiZ2l0aHViLWNvbS1KU1cifQ
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/9949
GitOrigin-RevId: 465bab3fccab00d41390b96d4e8ea39f5b140a61
130 lines
4.4 KiB
Plaintext
130 lines
4.4 KiB
Plaintext
-- Global project configuration.
|
|
|
|
--
|
|
-- This file can be overridden with cabal.project.local (see e.g. cabal/dev.project)
|
|
--
|
|
-- If you need to switch between several local configurations you can also create a
|
|
-- symbolic link to this file in the project root directory; e.g.:
|
|
-- $ ln -s cabal.project myconfig.project
|
|
-- $ ln -s cabal.project.freeze myconfig.project.freeze
|
|
--
|
|
-- ...and then create a new set of overrides in:
|
|
-- myconfig.project.local
|
|
--
|
|
-- ...and then invoke cabal with
|
|
-- $ cabal new-build --project-file=myconfig.project
|
|
--
|
|
-- See: https://www.haskell.org/cabal/users-guide/nix-local-build.html#configuring-builds-with-cabal-project
|
|
|
|
with-compiler: ghc-9.4.5
|
|
-- Work around bugs not yet fixed in 9.4.5. These are only enabled with O2
|
|
-- which we don't currently use, but disable these defensively
|
|
-- https://gitlab.haskell.org/ghc/ghc/-/merge_requests/10282
|
|
package *
|
|
ghc-options:
|
|
-fno-dicts-strict
|
|
-fno-spec-constr
|
|
|
|
|
|
-- package-level parallelism:
|
|
jobs: $ncpus
|
|
|
|
packages: server
|
|
packages: server/lib/*/*.cabal
|
|
packages: server/forks/*/*.cabal
|
|
|
|
-- TODO remove these when we are able:
|
|
allow-newer: ekg-core:base
|
|
allow-newer: ekg-core:ghc-prim
|
|
allow-newer: ekg-core:inspection-testing
|
|
allow-newer: ekg-core:text
|
|
allow-newer: ekg-json:base
|
|
allow-newer: ekg-json:text
|
|
allow-newer: ekg-prometheus:base
|
|
allow-newer: ekg-prometheus:text
|
|
allow-newer: ekg-prometheus:bytestring
|
|
-- Migrating to 0.25+ looks like it will be a real pain... :(
|
|
-- https://github.com/morpheusgraphql/morpheus-graphql/pull/766
|
|
allow-newer: morpheus-graphql:text
|
|
allow-newer: morpheus-graphql-app:text
|
|
allow-newer: morpheus-graphql-code-gen:text
|
|
allow-newer: morpheus-graphql-code-gen-utils:text
|
|
allow-newer: morpheus-graphql-core:text
|
|
allow-newer: morpheus-graphql-server:text
|
|
allow-newer: morpheus-graphql-client:text
|
|
allow-newer: morpheus-graphql-subscriptions:text
|
|
|
|
-- https://gitlab.haskell.org/ghc/ghc-debug/-/merge_requests/27
|
|
allow-newer: ghc-debug-stub:ghc-prim
|
|
-- https://github.com/mokus0/th-extras/pull/20
|
|
allow-newer: th-extras:template-haskell
|
|
|
|
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
|
|
|
|
-- we statically link malloc from mimalloc. Out of an abundance of caution,
|
|
-- disable special treatment of these in all the foreign code we build. The
|
|
-- only risk is potential for some missed optimizations.
|
|
-- See: https://github.com/microsoft/mimalloc/issues/785
|
|
-- NOTE: cc-options is not recognized here for some reason, so we use ghc-options+optc:
|
|
ghc-options: -optc-fno-builtin-malloc -optc-fno-builtin-calloc -optc-fno-builtin-realloc -optc-fno-builtin-free
|
|
|
|
haddock-html: true
|
|
haddock-hoogle: true
|
|
haddock-hyperlink-source: true
|
|
haddock-quickjump: true
|
|
haddock-internal: true
|
|
-- -----------------------------------------------------------
|
|
-- Allow for dead-code elimination at link-time, to reduce binary size
|
|
ghc-options: -split-sections
|
|
if(os(linux))
|
|
package *
|
|
-- ld on M1 OSX does not recognise this:
|
|
ld-options: -Wl,--gc-sections
|
|
-- -----------------------------------------------------------
|
|
|
|
package graphql-engine
|
|
ghc-options: -j
|
|
haddock-options: "--show-all"
|
|
|
|
allow-newer: hedgehog-generic:base
|
|
allow-newer: hedgehog-generic:hedgehog
|
|
|
|
source-repository-package
|
|
type: git
|
|
location: https://github.com/hasura/kriti-lang.git
|
|
tag: c8fd863d359876af3a0fce47db8a5393dc556667
|
|
|
|
-- This is an unrelesaed version of "odbc"
|
|
-- For text v2 support
|
|
-- WIP/FIXME: review change, maybe upstream PR
|
|
source-repository-package
|
|
type: git
|
|
location: https://github.com/hasura/odbc.git
|
|
tag: 43b07813d635215b3466824d07890de452920fc2
|
|
|
|
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: df610859603b504494ad770bdbb7053a7f0b9a6c
|
|
|
|
source-repository-package
|
|
type: git
|
|
location: https://github.com/snoyberg/yaml.git
|
|
tag: c1aa7b3991e669e4c6a977712b495d40a54cf819
|
|
subdir: yaml
|
|
|