Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • POD POD
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 57
    • Issues 57
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 10
    • Merge requests 10
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Package Registry
    • Container Registry
    • Infrastructure Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • MemriMemri
  • PODPOD
  • Merge requests
  • !344

quick fix: add eq/ne filter format for null

  • Review changes

  • Download
  • Email patches
  • Plain diff
Merged Eelco van der Wel requested to merge eelco/gql-eq-null-filter into dev Sep 21, 2022
  • Overview 0
  • Commits 3
  • Pipelines 3
  • Changes 1

Somewhat incomplete fix, proper fix would require a lot of rewrite.

issue: gql cannot search for property != bool, because null bool values exist in the pod

example:

Filter i want to write is

filter {isMock: {ne: 1}}

Results in SQL:

WHERE isMock != 1

This fails, because we're comparing to NULL.

Quick fix, rewrite the query to search for isMock = 0 OR isMock is NULL. However:

query {
  Message (filter: isMock: {eq: null}}) {
    isMock
  }
}

gets converted to sql:

...
WHERE isMock = null

Also fails, we want to search for is NULL

This fix changes = to is in sql query if null filter value. Now to actually search for isMock != 1:

query {
  Message (filter: {or: [{isMock: {eq: null}}, {isMock: {eq: 0}}]}) {
    isMock
  }
}
Edited Sep 21, 2022 by Eelco van der Wel
Assignee
Assign to
Reviewers
Request review from
Time tracking
Source branch: eelco/gql-eq-null-filter