paul-rouse / mysql-simple

A mid-level client library for the MySQL database, intended to be fast and easy to use.
Other
91 stars 35 forks source link

feature request: make query value substitution template more permissive #21

Open mgmeier opened 8 years ago

mgmeier commented 8 years ago

Currently, the template INSERT INTO table (a, b) VALUES (?, UNIX_TIMESTAMP(?)) fails in formatError with the message "foo". Obviously, the regex used in formatError can't match the the '?' characters in templates like the one given above.

My suggestion is to perform substition more closely oriented to '?'-characters, und thus make the template more permissive by allowing SQL expressions inside.

Maybe, #12 could be addressed simultaneously, if a method other than regex matching is chosen for checking the template's well- or ill-formedness / splitting the query into template and non-template parts.

NB. buildQuery, which performs the actual substitution of the '?' characters, seems permissive enough at first glance...

mgmeier commented 8 years ago

I'd be willing to implement and send you a PR; I'd just need to know if this feature is desired at all, the way I proposed it, or if it doesn't fit the concept somehow.

mgmeier commented 8 years ago

I just submitted PR #23, please review.

Thanks for considering.

mgmeier commented 8 years ago

Bump. Since I'm using mysql-simple in an active project... did you give changing the syntax of the query value substitution template any thoughts?