diff --git a/internal/codegen/python/gen.go b/internal/codegen/python/gen.go index b8933e3b2d..5792d58b6d 100644 --- a/internal/codegen/python/gen.go +++ b/internal/codegen/python/gen.go @@ -1003,8 +1003,15 @@ func buildQueryTree(ctx *pyTmplCtx, i *importer, source string) *pyast.Node { f.Body = append(f.Body, exec) f.Returns = poet.Constant(nil) case ":execrows": + f.Body = append(f.Body, + assignNode("result", exec), + poet.Return(poet.Attribute(poet.Name("result"), "rowcount")), + ) f.Returns = poet.Name("int") case ":execresult": + f.Body = append(f.Body, + poet.Return(exec), + ) f.Returns = typeRefNode("sqlalchemy", "engine", "Result") default: panic("unknown cmd " + q.Cmd) @@ -1089,8 +1096,15 @@ func buildQueryTree(ctx *pyTmplCtx, i *importer, source string) *pyast.Node { f.Body = append(f.Body, poet.Await(exec)) f.Returns = poet.Constant(nil) case ":execrows": + f.Body = append(f.Body, + assignNode("result", poet.Await(exec)), + poet.Return(poet.Attribute(poet.Name("result"), "rowcount")), + ) f.Returns = poet.Name("int") case ":execresult": + f.Body = append(f.Body, + poet.Return(poet.Await(exec)), + ) f.Returns = typeRefNode("sqlalchemy", "engine", "Result") default: panic("unknown cmd " + q.Cmd) diff --git a/internal/endtoend/testdata/exec_result/python_postgresql/python/models.py b/internal/endtoend/testdata/exec_result/python_postgresql/python/models.py index 8d9fd2fb5d..f4b9e92265 100644 --- a/internal/endtoend/testdata/exec_result/python_postgresql/python/models.py +++ b/internal/endtoend/testdata/exec_result/python_postgresql/python/models.py @@ -1,7 +1,13 @@ # Code generated by sqlc. DO NOT EDIT. + + import dataclasses + + @dataclasses.dataclass() class Bar: id: int + + diff --git a/internal/endtoend/testdata/exec_rows/python_postgresql/python/models.py b/internal/endtoend/testdata/exec_rows/python_postgresql/python/models.py index 8d9fd2fb5d..f4b9e92265 100644 --- a/internal/endtoend/testdata/exec_rows/python_postgresql/python/models.py +++ b/internal/endtoend/testdata/exec_rows/python_postgresql/python/models.py @@ -1,7 +1,13 @@ # Code generated by sqlc. DO NOT EDIT. + + import dataclasses + + @dataclasses.dataclass() class Bar: id: int + +