Nullable TimeDimension creates incorrect GraphQL errors
#6.972 geöffnet am 2. Aug. 2023
Repository-Metriken
- Stars
- (19.563 Stars)
- PR-Merge-Metriken
- (Durchschn. Merge 5T 16h) (138 gemergte PRs in 30 T)
Beschreibung
Describe the bug Where a date or datetime is in GQL whenever that is an optional field an error is returned EG: Message: Cannot return null for non-nullable field TimeDimension.day It seems to be because although the TimeDimension is correctly created as optional in the GQL Schema, the properties are not - so querying for the property creates the error.
To Reproduce Steps to reproduce the behavior: Create a cube with a time dimension:
managementStartDate: {
sql: `management_start_date`,
type: `time`,
},
Query that field via GQL interface: managementStartDate { day }
Receive errors per null field.
Expected behavior Where the underlying data is null there should be no error included in the errors array.
Screenshots
Minimally reproducible Cube Schema In case your bug report is data modelling related please put your minimally reproducible Cube Schema here. You can use selects without tables in order to achieve that as follows.
cube(`Orders`, {
sql: `
select 1 as id, null as shippedDate
UNION ALL
select 2 as id, '2023-07-01 12:00:00.000' as shippedDate
`,
measures: {
count: {
type: `count`,
},
},
dimensions: {
shippedDate: {
sql: `shippedDate`,
type: `time`,
},
},
});
Version: 0.33.39
Additional context