From 0b6a0b06a6a681bbb17bfd985a8d2f70f916dcb4 Mon Sep 17 00:00:00 2001 From: Edison-Hsu Date: Wed, 27 Jul 2016 19:26:01 +0800 Subject: [PATCH] expose Session.Query2 and add Engine.QueryMapString by using Session.Query2 - add Query a raw sql and return records as []map[string]string --- engine.go | 7 +++++++ session.go | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/engine.go b/engine.go index 6caa45a0..1f83ec94 100644 --- a/engine.go +++ b/engine.go @@ -1479,6 +1479,13 @@ func (engine *Engine) Query(sql string, paramStr ...interface{}) (resultsSlice [ return session.Query(sql, paramStr...) } +// Query a raw sql and return records as []map[string]string +func (engine *Engine) QueryMapString(sql string, paramStr ...interface{}) (resultsSlice []map[string]string, err error) { + session := engine.NewSession() + defer session.Close() + return session.Query2(sql, paramStr...) +} + // Insert one or more records func (engine *Engine) Insert(beans ...interface{}) (int64, error) { session := engine.NewSession() diff --git a/session.go b/session.go index 35e7a306..a7dc9fb8 100644 --- a/session.go +++ b/session.go @@ -2182,7 +2182,7 @@ func (session *Session) Query(sqlStr string, paramStr ...interface{}) (resultsSl // ============================= // for string // ============================= -func (session *Session) query2(sqlStr string, paramStr ...interface{}) (resultsSlice []map[string]string, err error) { +func (session *Session) Query2(sqlStr string, paramStr ...interface{}) (resultsSlice []map[string]string, err error) { session.queryPreprocess(&sqlStr, paramStr...) if session.IsAutoCommit {