From 811443400f4d428c95dc1836c76559a576558f09 Mon Sep 17 00:00:00 2001 From: Lunny Xiao Date: Sat, 9 Jul 2016 11:36:23 +0800 Subject: [PATCH] resolved #389 --- rows.go | 3 +++ session.go | 20 ++++++++++++++++++++ 2 files changed, 23 insertions(+) diff --git a/rows.go b/rows.go index cc4fe09d..e04a8c77 100644 --- a/rows.go +++ b/rows.go @@ -35,6 +35,9 @@ func newRows(session *Session, bean interface{}) (*Rows, error) { var args []interface{} rows.session.Statement.setRefValue(rValue(bean)) + if len(session.Statement.TableName()) <= 0 { + return nil, ErrTableNotFound + } if rows.session.Statement.RawSQL == "" { sqlStr, args = rows.session.Statement.genGetSql(bean) diff --git a/session.go b/session.go index 4f927bfc..076e2f01 100644 --- a/session.go +++ b/session.go @@ -1014,6 +1014,10 @@ func (session *Session) Get(bean interface{}) (bool, error) { } session.Statement.setRefValue(rValue(bean)) + if len(session.Statement.TableName()) <= 0 { + return false, ErrTableNotFound + } + session.Statement.Limit(1) var sqlStr string @@ -1220,6 +1224,10 @@ func (session *Session) Find(rowsSlicePtr interface{}, condiBean ...interface{}) } } + if len(session.Statement.TableName()) <= 0 { + return ErrTableNotFound + } + var table = session.Statement.RefTable var addedTableName = (len(session.Statement.JoinStr) > 0) @@ -2219,6 +2227,10 @@ func (session *Session) innerInsertMulti(rowsSlicePtr interface{}) (int64, error bean := sliceValue.Index(0).Interface() elementValue := rValue(bean) session.Statement.setRefValue(elementValue) + if len(session.Statement.TableName()) <= 0 { + return 0, ErrTableNotFound + } + table := session.Statement.RefTable size := sliceValue.Len() @@ -3056,6 +3068,10 @@ func (session *Session) value2Interface(col *core.Column, fieldValue reflect.Val func (session *Session) innerInsert(bean interface{}) (int64, error) { session.Statement.setRefValue(rValue(bean)) + if len(session.Statement.TableName()) <= 0 { + return 0, ErrTableNotFound + } + table := session.Statement.RefTable // handle BeforeInsertProcessor @@ -3453,6 +3469,10 @@ func (session *Session) Update(bean interface{}, condiBean ...interface{}) (int6 if isStruct { session.Statement.setRefValue(v) + if len(session.Statement.TableName()) <= 0 { + return 0, ErrTableNotFound + } + if session.Statement.ColumnStr == "" { colNames, args = buildUpdates(session.Engine, session.Statement.RefTable, bean, false, false, false, false, session.Statement.allUseBool, session.Statement.useAllCols,