Skip to content

[ISSUE-FIX] Named Params#180

Draft
UniForceMusic wants to merge 2 commits intoshadowhand:mainfrom
UniForceMusic:feature/issues-131-named-params
Draft

[ISSUE-FIX] Named Params#180
UniForceMusic wants to merge 2 commits intoshadowhand:mainfrom
UniForceMusic:feature/issues-131-named-params

Conversation

@UniForceMusic
Copy link
Contributor

@UniForceMusic UniForceMusic commented Dec 9, 2025

Pull request for #131

Databases like Clickhouse do not support question marks as placeholders. To support these databases, a Statement or Query can create a QueryWithNamedParams object, that replaces the question marks with named params.

INSERT INTO "users" ("firstname", "lastname", "email") VALUES (?, ?, ?)

-- Turns into:

INSERT INTO "users" ("firstname", "lastname", "email") VALUES (:param_1, :param_2, :param_3)

To support multiple syntax's, the template can be modified when calling ->toQueryWithNamedParams($template), to allow for things like:

INSERT INTO `users` (`firstname`, `lastname`, `email`) VALUES ({p1}, {p2}, {p3})

-- or

INSERT INTO [users] ([firstname], [lastname], [email]) VALUES (:{1}, :{2}, :{3})

Currently the implementation is crude, so open to adjustments or nicer ways to implement this.

@UniForceMusic UniForceMusic changed the title Issue #131 - Named Params [ISSUE-FIX] Named Params Dec 9, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant