You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
For all APIs but create_function, I suggest to make all parameters positional-only; for create_function, I suggest to make the three first parameters positional-only:
Feature or enhancement
Has this already been discussed elsewhere?
https://discuss.python.org/t/clean-up-some-sqlite3-apis/32093
Links to previous discussion of this feature:
#87260 (comment)
Proposal:
The sqlite3.Connection class has groups of similar APIs with inconsistent parameter specs.
Create user-defined function APIs:
create_function(name, narg, func, *, deterministic=False)create_aggregate(name, /, n_arg, aggregate_class)create_window_function(name, num_params, aggregate_class, /)create_collation(name, callable, /)Set callback APIs:
set_authorizer(authorizer_callback)set_progress_handler(progress_handler, n)set_trace_callback(trace_callback)For all APIs but
create_function, I suggest to make all parameters positional-only; forcreate_function, I suggest to make the three first parameters positional-only:Create user-defined function APIs:
create_function(name, nargs, callable, /, *, deterministic=False)create_aggregate(name, nargs, aggregate_class, /)create_window_function(name, nargs, aggregate_class, /)create_collation(name, callable, /)Set callback APIs:
set_authorizer(authorizer_callback, /)set_progress_handler(progress_handler, /, n)set_trace_callback(trace_callback, /)Obviously,
create_window_functionstays as it is.UPDATE: I noticed the docs are wrong about
create_collation; it's signature is actuallycreate_collation(name, callable, /).Linked PRs