|
|
@@ -361,6 +361,12 @@ func (c *Conn) prepareStatement(stmt string, trace Tracer) (*queryInfo, error) {
|
|
|
return flight.info, flight.err
|
|
|
}
|
|
|
|
|
|
+func normalizeStatement(stmt string) string {
|
|
|
+ return strings.TrimLeftFunc(strings.TrimRightFunc(stmt, func(r rune) bool {
|
|
|
+ return unicode.IsSpace(r) || r == ';'
|
|
|
+ }), unicode.IsSpace)
|
|
|
+}
|
|
|
+
|
|
|
func shouldPrepare(stmt string) bool {
|
|
|
var stmtType string
|
|
|
if n := strings.IndexFunc(stmt, unicode.IsSpace); n >= 0 {
|
|
|
@@ -380,7 +386,7 @@ func shouldPrepare(stmt string) bool {
|
|
|
|
|
|
func (c *Conn) executeQuery(qry *Query) *Iter {
|
|
|
op := &queryFrame{
|
|
|
- Stmt: strings.TrimSpace(qry.stmt),
|
|
|
+ Stmt: normalizeStatement(qry.stmt),
|
|
|
Cons: qry.cons,
|
|
|
PageSize: qry.pageSize,
|
|
|
PageState: qry.pageState,
|