Skip to content

Support Execute Chaining #279

Closed
Closed
@bendemott

Description

@bendemott

Describe the feature

Would it make more sense to return self from cursor.execute instead of TrinoResult

This would allow you to chain fetch operations

value = cursor.execute('SELECT 1').fetchone()[0]

In addition, __iter__ and rowcount can be implemented on the cursor itself - this seems to be how it is commonly done.

So with return self and __iter__ implemented the following would still be possible for convenience:

for row in cursor.execute('select * from system.runtime.nodes'):
    print(row) 

This is the behavior of psycopg3
The Python DBAPI2 spec doesn't specify the return value of execute so it's up to the driver to decide, but it is common in quite a few Python DBAPI2 drivers.

Describe alternatives you've considered

No response

Are you willing to submit PR?

  • Yes I am willing to submit a PR!

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions