-
Notifications
You must be signed in to change notification settings - Fork 45
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Generated Enum types are not valid as parameters #419
Comments
fantix
added a commit
that referenced
this issue
Apr 21, 2023
User-defined enums can be used interchangably with edgedb.EnumValue, like the `__eq__` (`==`) test, `__hash__` (as dict key) or comparing will pass between user enum and edgedb.EnumValue, but the `is` check won't pass. This fixes a typing issue in the codegen. Fixes #419
fantix
added a commit
that referenced
this issue
Apr 21, 2023
User-defined enums can be used interchangably with edgedb.EnumValue, like the `__eq__` (`==`) test, `__hash__` (as dict key) or comparing will pass between user enum and edgedb.EnumValue, but the `is` check won't pass. This fixes a typing issue in the codegen. Fixes #419
Merged
fantix
added a commit
that referenced
this issue
Apr 21, 2023
User-defined enums can be used interchangably with edgedb.EnumValue, like the `__eq__` (`==`) test, `__hash__` (as dict key) or comparing will pass between user enum and edgedb.EnumValue, but the `is` check won't pass. This fixes a typing issue in the codegen. Fixes #419
fantix
added a commit
that referenced
this issue
May 26, 2023
User-defined enums can be used interchangably with edgedb.EnumValue, like the `__eq__` (`==`) test, `__hash__` (as dict key) or comparing will pass between user enum and edgedb.EnumValue, but the `is` check won't pass. This fixes a typing issue in the codegen. Fixes #419
fantix
added a commit
that referenced
this issue
Jun 19, 2024
New Features ============ * Support EdgeDB 5.0 "branch" connection option (by @vpetrovykh in #484 #485 #487) * Support EdgeDB 5.0 AI extension (by @fantix in #489 #490) Breaking Changes ================ * Enum values can now compare to user-defined enums successfully (#425) (by @fantix in bb7522c for #419) * Add optional default to codegen params (#426) (by @fantix in 21b024a for #422) Changes ======= * blocking client: fix connect and timeout, support IPv6 (#499) (by @fantix @zachary822 in 28a83fd for #486) Fixes ===== * Add test to check setting a computed global using with_globals. (#494) (by @dnwpark in 636bc0e for #494) * Fix test and add Python 3.12 in CI (by @fantix in #498 #503) * Use result of pydantic_dataclass, will silence linters (#501) (by @AdrienPensart in d88187a) * Extract ExecuteContext as in/out argument (#500) (by @fantix in 2fb7965 for #493)
Merged
fantix
added a commit
that referenced
this issue
Jun 19, 2024
New Features ============ * Support EdgeDB 5.0 "branch" connection option (by @vpetrovykh in #484 #485 #487) * Support EdgeDB 5.0 AI extension (by @fantix in #489 #490) Breaking Changes ================ * Enum values can now compare to user-defined enums successfully (#425) (by @fantix in bb7522c for #419) * Add optional default to codegen params (#426) (by @fantix in 21b024a for #422) Changes ======= * blocking client: fix connect and timeout, support IPv6 (#499) (by @fantix @zachary822 in 28a83fd for #486) Fixes ===== * Add test to check setting a computed global using with_globals. (#494) (by @dnwpark in 636bc0e for #494) * Fix test and add Python 3.12 in CI (by @fantix in #498 #503) * Use result of pydantic_dataclass, will silence linters (#501) (by @AdrienPensart in d88187a) * Extract ExecuteContext as in/out argument (#500) (by @fantix in 2fb7965 for #493)
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Describe the bug
When my schema contains a reference to an Enum type, then the code generator creates an
enum.Enum
subclass. However, I can pass an instance of this Enum type into a parameter function, and mypy is happy. However, when executing the code, I see the error:Changing the passed argument to the Enum value (e.g
Color.RED.value
) results in mypy complaining thatstr
is not a valid type.Full trace back - click to expand!
Reproduction
Given the schema:
When we have a query:
Run
edgedb-py
, and execute:Expected behavior
I expect to be able to pass the Enum value directly as a parameter, as it's the type declared by the code generator.
Versions (please complete the following information):
edgedb-python
version: 1.3.0Additional context
Note: I raised another issue/question in discord regarding optional parameters: https://discord.com/channels/841451783728529451/849374935209607199/1081881229676265592
The text was updated successfully, but these errors were encountered: