{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":771238845,"defaultBranch":"main","name":"ndc-mongodb","ownerLogin":"hasura","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2024-03-12T23:51:41.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/13966722?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1718050265.0","currentOid":""},"activityList":{"items":[{"before":null,"after":"f27b36e3b731af11097d20b949a89df5543eeb81","ref":"refs/heads/jesse/variables-in-column-refs","pushedAt":"2024-06-10T20:11:05.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"hallettj","name":"Jesse Hallett","path":"/hallettj","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9622?s=80&v=4"},"commit":{"message":"exists unrelated selector must use $expr","shortMessageHtmlLink":"exists unrelated selector must use $expr"}},{"before":"f43a3e0a11269c85ee381ce048c18679a2897f0b","after":"d09846a27de8edda7573631e626f439a68c61daf","ref":"refs/heads/jesse/root-column-references","pushedAt":"2024-06-10T19:43:59.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"hallettj","name":"Jesse Hallett","path":"/hallettj","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9622?s=80&v=4"},"commit":{"message":"safe column/field refs that work with variables","shortMessageHtmlLink":"safe column/field refs that work with variables"}},{"before":"44a82d4e9b80575d328f8a7e294a07145a0990d7","after":"82c67266bc7956a6f438156ecc45c520f82ceb0c","ref":"refs/heads/dmoverton/ndc-spec-0.1.3","pushedAt":"2024-06-07T01:44:24.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"dmoverton","name":"David Overton","path":"/dmoverton","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7734777?s=80&v=4"},"commit":{"message":"Fix test build","shortMessageHtmlLink":"Fix test build"}},{"before":"c9bd59185323d6084138bda2e423f6ba8ae5051c","after":"44a82d4e9b80575d328f8a7e294a07145a0990d7","ref":"refs/heads/dmoverton/ndc-spec-0.1.3","pushedAt":"2024-06-06T23:28:15.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"dmoverton","name":"David Overton","path":"/dmoverton","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7734777?s=80&v=4"},"commit":{"message":"Fix build","shortMessageHtmlLink":"Fix build"}},{"before":null,"after":"f43a3e0a11269c85ee381ce048c18679a2897f0b","ref":"refs/heads/jesse/root-column-references","pushedAt":"2024-06-06T22:58:24.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"hallettj","name":"Jesse Hallett","path":"/hallettj","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9622?s=80&v=4"},"commit":{"message":"wip: switch to expression context as necessary","shortMessageHtmlLink":"wip: switch to expression context as necessary"}},{"before":null,"after":"c9bd59185323d6084138bda2e423f6ba8ae5051c","ref":"refs/heads/dmoverton/ndc-spec-0.1.3","pushedAt":"2024-06-06T05:53:45.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"dmoverton","name":"David Overton","path":"/dmoverton","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7734777?s=80&v=4"},"commit":{"message":"Update ndc-models and ndc-sdk to v0.1.3","shortMessageHtmlLink":"Update ndc-models and ndc-sdk to v0.1.3"}},{"before":"3303f1167a499255dcdc5ab239b33cfedbdd18d7","after":null,"ref":"refs/heads/jesse/filter-by-field-of-relation","pushedAt":"2024-06-04T22:10:26.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"hallettj","name":"Jesse Hallett","path":"/hallettj","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9622?s=80&v=4"}},{"before":"7877f8ec6b6e1ca5206fd8e3e7cce86fe74ebfb1","after":"bab5c9325301693b580e117e1ca6727d2c2f6826","ref":"refs/heads/main","pushedAt":"2024-06-04T22:10:25.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"hallettj","name":"Jesse Hallett","path":"/hallettj","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9622?s=80&v=4"},"commit":{"message":"filter and sort by field of related collection (#72)\n\nFilter and sort by fields of a related collection.\r\n\r\nThis involves a change where relationship references can be \"unified\". We might have multiple references to the same relationship - for example one that selects fields, another that filters. When these are registered they are unified if they have the same key in the query request `collection_relationships` map, and they don't have incompatibilities such as differing predicates or offsets. Unifying involves merging field/column selections so that we can get necessary data with a single `$lookup`.\r\n\r\nPreviously we blindly copied documents from relationship `$lookup` pipelines to top-level row sets. But unification means that relationship pipelines may produce fields that were not requested by query request fields or aggregates. This change updates `$replaceWith` stages to prune data coming from `$lookup` pipelines to select only requested data.\r\n\r\nThe changes here are mostly to mongodb-specific code, with only small adjustments to the database-agnostic logic in `ndc-query-plan`.","shortMessageHtmlLink":"filter and sort by field of related collection (#72)"}},{"before":"f0cf8a15949d5776ed09dd7d4d072237a78d8c03","after":"3303f1167a499255dcdc5ab239b33cfedbdd18d7","ref":"refs/heads/jesse/filter-by-field-of-relation","pushedAt":"2024-06-04T21:35:22.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"hallettj","name":"Jesse Hallett","path":"/hallettj","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9622?s=80&v=4"},"commit":{"message":"add relationship unification tests","shortMessageHtmlLink":"add relationship unification tests"}},{"before":"e6c3cec5c31b6f0c16f6273df833db2d21afa339","after":"f0cf8a15949d5776ed09dd7d4d072237a78d8c03","ref":"refs/heads/jesse/filter-by-field-of-relation","pushedAt":"2024-06-03T21:56:59.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"hallettj","name":"Jesse Hallett","path":"/hallettj","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9622?s=80&v=4"},"commit":{"message":"forward relationship arrays from non-top-level queries","shortMessageHtmlLink":"forward relationship arrays from non-top-level queries"}},{"before":"f343efcdfac80c167bc4d48aac283b495284e1d9","after":"e6c3cec5c31b6f0c16f6273df833db2d21afa339","ref":"refs/heads/jesse/filter-by-field-of-relation","pushedAt":"2024-05-31T01:38:31.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"hallettj","name":"Jesse Hallett","path":"/hallettj","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9622?s=80&v=4"},"commit":{"message":"track integration test snapshot","shortMessageHtmlLink":"track integration test snapshot"}},{"before":"2463a603c75167f8786d495bf857ad4ea0508c6c","after":"f343efcdfac80c167bc4d48aac283b495284e1d9","ref":"refs/heads/jesse/filter-by-field-of-relation","pushedAt":"2024-05-31T00:48:34.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"hallettj","name":"Jesse Hallett","path":"/hallettj","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9622?s=80&v=4"},"commit":{"message":"add test for non-null comparison","shortMessageHtmlLink":"add test for non-null comparison"}},{"before":"91eb37bf47a85428ea1e84015ce5b28e0a2f5c04","after":"2463a603c75167f8786d495bf857ad4ea0508c6c","ref":"refs/heads/jesse/filter-by-field-of-relation","pushedAt":"2024-05-30T22:05:52.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"hallettj","name":"Jesse Hallett","path":"/hallettj","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9622?s=80&v=4"},"commit":{"message":"update changelog","shortMessageHtmlLink":"update changelog"}},{"before":"60977bcab6a45f620b64ff738afe830da9efff5c","after":"91eb37bf47a85428ea1e84015ce5b28e0a2f5c04","ref":"refs/heads/jesse/filter-by-field-of-relation","pushedAt":"2024-05-30T21:56:43.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"hallettj","name":"Jesse Hallett","path":"/hallettj","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9622?s=80&v=4"},"commit":{"message":"test sorting by field of relation","shortMessageHtmlLink":"test sorting by field of relation"}},{"before":null,"after":"60977bcab6a45f620b64ff738afe830da9efff5c","ref":"refs/heads/jesse/filter-by-field-of-relation","pushedAt":"2024-05-30T21:19:53.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"hallettj","name":"Jesse Hallett","path":"/hallettj","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9622?s=80&v=4"},"commit":{"message":"update tests","shortMessageHtmlLink":"update tests"}},{"before":"06bf068373864e18492fbf9af4d5c3b4e4c52c42","after":null,"ref":"refs/heads/jesse/query-plan","pushedAt":"2024-05-28T20:19:43.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"hallettj","name":"Jesse Hallett","path":"/hallettj","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9622?s=80&v=4"}},{"before":"6e842c308eeee38d3bc393e6b99157961ca3ed03","after":"7877f8ec6b6e1ca5206fd8e3e7cce86fe74ebfb1","ref":"refs/heads/main","pushedAt":"2024-05-28T20:19:43.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"hallettj","name":"Jesse Hallett","path":"/hallettj","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9622?s=80&v=4"},"commit":{"message":"refactor: remove v2 types (#71)\n\nRemoves v2 types, and replaces them with a new set of internal types that closely match ndc models. The root of the new types is called `QueryPlan` instead of `QueryRequest`. It is a denormalized version of a query request. In particular `QuerPlan`\r\n\r\n- puts type annotations on fields, variable references, etc.\r\n- uses a `Type` type that inlines object type references\r\n- collects relationship reference details from all fields, filters, and sorts and places relevant details in one map in each sub-query (instead of having one relations map at the `QueryRequest` level, the new types have a map on each `Query` value for relations with that query's collection as a source, and that are referenced in that query)\r\n- collects one map of join details at the `QueryPlan` level (the analog of `QueryRequest`) for existence checks on unrelated collections\r\n\r\nThe changes simplify emitting MongoDB aggregation code, and lower the impedence mismatch to using features of v3 that aren't reflected in v2.\r\n\r\nI preserved and updated all the existing tests except one that tests filtering by fields of a nested object of a related collection which is something that worked in v2, but will require an update to the latest ndc-spec to work in v3.","shortMessageHtmlLink":"refactor: remove v2 types (#71)"}},{"before":"c75abee848d9a5c502490f7b1ad8de663dd01b83","after":"06bf068373864e18492fbf9af4d5c3b4e4c52c42","ref":"refs/heads/jesse/query-plan","pushedAt":"2024-05-28T19:11:54.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"hallettj","name":"Jesse Hallett","path":"/hallettj","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9622?s=80&v=4"},"commit":{"message":"update tests with native procedure -> native mutation name change","shortMessageHtmlLink":"update tests with native procedure -> native mutation name change"}},{"before":"6642a7987cfd8406984e74119be2e2eace7bcf4e","after":"c75abee848d9a5c502490f7b1ad8de663dd01b83","ref":"refs/heads/jesse/query-plan","pushedAt":"2024-05-28T19:07:24.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"hallettj","name":"Jesse Hallett","path":"/hallettj","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9622?s=80&v=4"},"commit":{"message":"remove commented out code","shortMessageHtmlLink":"remove commented out code"}},{"before":"8d1dbff9a85da91fde1a3d9a933f018be54bce1e","after":"6642a7987cfd8406984e74119be2e2eace7bcf4e","ref":"refs/heads/jesse/query-plan","pushedAt":"2024-05-28T19:01:22.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"hallettj","name":"Jesse Hallett","path":"/hallettj","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9622?s=80&v=4"},"commit":{"message":"remove commented out code\n\nCo-authored-by: David Overton ","shortMessageHtmlLink":"remove commented out code"}},{"before":"198e67607bbf851c10aa446ce982e9531ecf989a","after":"8d1dbff9a85da91fde1a3d9a933f018be54bce1e","ref":"refs/heads/jesse/query-plan","pushedAt":"2024-05-28T00:03:53.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"hallettj","name":"Jesse Hallett","path":"/hallettj","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9622?s=80&v=4"},"commit":{"message":"Merge branch 'main' into jesse/query-plan","shortMessageHtmlLink":"Merge branch 'main' into jesse/query-plan"}},{"before":"0a47815aee931c25fdb448490350599103d40c6c","after":"198e67607bbf851c10aa446ce982e9531ecf989a","ref":"refs/heads/jesse/query-plan","pushedAt":"2024-05-25T00:51:00.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"hallettj","name":"Jesse Hallett","path":"/hallettj","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9622?s=80&v=4"},"commit":{"message":"clippy fix","shortMessageHtmlLink":"clippy fix"}},{"before":"70833d44de2b7449197723268b356b2fd8b3cfba","after":"0a47815aee931c25fdb448490350599103d40c6c","ref":"refs/heads/jesse/query-plan","pushedAt":"2024-05-25T00:47:41.000Z","pushType":"push","commitsCount":4,"pusher":{"login":"hallettj","name":"Jesse Hallett","path":"/hallettj","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9622?s=80&v=4"},"commit":{"message":"remove unused helper","shortMessageHtmlLink":"remove unused helper"}},{"before":"7796a778d3b38db3cc42c5631b21af8b5c66785e","after":"70833d44de2b7449197723268b356b2fd8b3cfba","ref":"refs/heads/jesse/query-plan","pushedAt":"2024-05-25T00:19:58.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"hallettj","name":"Jesse Hallett","path":"/hallettj","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9622?s=80&v=4"},"commit":{"message":"all unit tests in mongodb-agent-common are passing","shortMessageHtmlLink":"all unit tests in mongodb-agent-common are passing"}},{"before":"93069e9ce0daac1ac48dd0738f979f4fea6f51bd","after":"7796a778d3b38db3cc42c5631b21af8b5c66785e","ref":"refs/heads/jesse/query-plan","pushedAt":"2024-05-24T23:35:39.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"hallettj","name":"Jesse Hallett","path":"/hallettj","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9622?s=80&v=4"},"commit":{"message":"test fixes","shortMessageHtmlLink":"test fixes"}},{"before":"4f92030b6287ac5c11080e0d6ec20cd5e29204c9","after":"93069e9ce0daac1ac48dd0738f979f4fea6f51bd","ref":"refs/heads/jesse/query-plan","pushedAt":"2024-05-24T21:58:15.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"hallettj","name":"Jesse Hallett","path":"/hallettj","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9622?s=80&v=4"},"commit":{"message":"update unit tests for query/response","shortMessageHtmlLink":"update unit tests for query/response"}},{"before":"3b71da3bdb1851adf6eae363ca7ba470d7bf3513","after":"4f92030b6287ac5c11080e0d6ec20cd5e29204c9","ref":"refs/heads/jesse/query-plan","pushedAt":"2024-05-24T20:12:41.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"hallettj","name":"Jesse Hallett","path":"/hallettj","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9622?s=80&v=4"},"commit":{"message":"update tests in mongodb/selection","shortMessageHtmlLink":"update tests in mongodb/selection"}},{"before":"e689d84d9a96c429bcfe639d95e359f2bcf751f3","after":"3b71da3bdb1851adf6eae363ca7ba470d7bf3513","ref":"refs/heads/jesse/query-plan","pushedAt":"2024-05-24T19:43:05.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"hallettj","name":"Jesse Hallett","path":"/hallettj","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9622?s=80&v=4"},"commit":{"message":"updates unit tests in query/relations","shortMessageHtmlLink":"updates unit tests in query/relations"}},{"before":"e2aed8c76464a4a49eca3b89c5212e0eee73b925","after":"e689d84d9a96c429bcfe639d95e359f2bcf751f3","ref":"refs/heads/jesse/query-plan","pushedAt":"2024-05-24T07:27:01.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"hallettj","name":"Jesse Hallett","path":"/hallettj","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9622?s=80&v=4"},"commit":{"message":"updates foreach unit tests","shortMessageHtmlLink":"updates foreach unit tests"}},{"before":"416324eae854c19729ceb6c6c648c73171924fd9","after":"e2aed8c76464a4a49eca3b89c5212e0eee73b925","ref":"refs/heads/jesse/query-plan","pushedAt":"2024-05-24T05:39:33.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"hallettj","name":"Jesse Hallett","path":"/hallettj","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9622?s=80&v=4"},"commit":{"message":"fix warnings","shortMessageHtmlLink":"fix warnings"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEYYKl1AA","startCursor":null,"endCursor":null}},"title":"Activity ยท hasura/ndc-mongodb"}