good morning!!!!

Skip to content
Snippets Groups Projects
Commit c1d2c3ff authored by José Carlos Nieto's avatar José Carlos Nieto
Browse files

MySQL: Fixing visibility of result{}, table{} and source{}.

parent de473794
No related branches found
No related tags found
No related merge requests found
......@@ -36,9 +36,9 @@ import (
const defaultOperator = `=`
type Table struct {
type table struct {
sqlutil.T
source *Source
source *source
names []string
}
......@@ -176,10 +176,10 @@ func conditionValues(cond db.Cond) (columnValues sqlgen.ColumnValues, args []int
return columnValues, args
}
func (self *Table) Find(terms ...interface{}) db.Result {
func (self *table) Find(terms ...interface{}) db.Result {
where, arguments := whereValues(terms)
result := &Result{
result := &result{
table: self,
where: where,
arguments: arguments,
......@@ -188,7 +188,7 @@ func (self *Table) Find(terms ...interface{}) db.Result {
return result
}
func (self *Table) tableN(i int) string {
func (self *table) tableN(i int) string {
if len(self.names) > i {
chunks := strings.SplitN(self.names[i], " ", 2)
if len(chunks) > 0 {
......@@ -199,7 +199,7 @@ func (self *Table) tableN(i int) string {
}
// Deletes all the rows within the collection.
func (self *Table) Truncate() error {
func (self *table) Truncate() error {
_, err := self.source.doExec(sqlgen.Statement{
Type: sqlgen.SqlTruncate,
......@@ -214,7 +214,7 @@ func (self *Table) Truncate() error {
}
// Appends an item (map or struct) into the collection.
func (self *Table) Append(item interface{}) (interface{}, error) {
func (self *table) Append(item interface{}) (interface{}, error) {
var columns sqlgen.Columns
var values sqlgen.Values
var arguments []interface{}
......@@ -262,14 +262,14 @@ func (self *Table) Append(item interface{}) (interface{}, error) {
}
// Returns true if the collection exists.
func (self *Table) Exists() bool {
func (self *table) Exists() bool {
if err := self.source.tableExists(self.names...); err != nil {
return false
}
return true
}
func (self *Table) Name() string {
func (self *table) Name() string {
return strings.Join(self.names, `, `)
}
......
......@@ -52,7 +52,7 @@ var (
sqlPlaceholder = sqlgen.Value{sqlgen.Raw{`?`}}
)
type Source struct {
type source struct {
config db.Settings
session *sql.DB
collections map[string]db.Collection
......@@ -111,10 +111,10 @@ func init() {
cache.NewCache(),
}
db.Register(Adapter, &Source{})
db.Register(Adapter, &source{})
}
func (self *Source) doExec(stmt sqlgen.Statement, args ...interface{}) (sql.Result, error) {
func (self *source) doExec(stmt sqlgen.Statement, args ...interface{}) (sql.Result, error) {
var query string
var res sql.Result
var err error
......@@ -142,7 +142,7 @@ func (self *Source) doExec(stmt sqlgen.Statement, args ...interface{}) (sql.Resu
return res, err
}
func (self *Source) doQuery(stmt sqlgen.Statement, args ...interface{}) (*sql.Rows, error) {
func (self *source) doQuery(stmt sqlgen.Statement, args ...interface{}) (*sql.Rows, error) {
var rows *sql.Rows
var query string
var err error
......@@ -170,7 +170,7 @@ func (self *Source) doQuery(stmt sqlgen.Statement, args ...interface{}) (*sql.Ro
return rows, err
}
func (self *Source) doQueryRow(stmt sqlgen.Statement, args ...interface{}) (*sql.Row, error) {
func (self *source) doQueryRow(stmt sqlgen.Statement, args ...interface{}) (*sql.Row, error) {
var query string
var row *sql.Row
var err error
......@@ -199,18 +199,18 @@ func (self *Source) doQueryRow(stmt sqlgen.Statement, args ...interface{}) (*sql
}
// Returns the string name of the database.
func (self *Source) Name() string {
func (self *source) Name() string {
return self.config.Database
}
// Ping verifies a connection to the database is still alive,
// establishing a connection if necessary.
func (self *Source) Ping() error {
func (self *source) Ping() error {
return self.session.Ping()
}
func (self *Source) clone() (*Source, error) {
src := &Source{}
func (self *source) clone() (*source, error) {
src := &source{}
src.Setup(self.config)
if err := src.Open(); err != nil {
......@@ -220,13 +220,13 @@ func (self *Source) clone() (*Source, error) {
return src, nil
}
func (self *Source) Clone() (db.Database, error) {
func (self *source) Clone() (db.Database, error) {
return self.clone()
}
func (self *Source) Transaction() (db.Tx, error) {
func (self *source) Transaction() (db.Tx, error) {
var err error
var clone *Source
var clone *source
var sqlTx *sql.Tx
if sqlTx, err = self.session.Begin(); err != nil {
......@@ -237,7 +237,7 @@ func (self *Source) Transaction() (db.Tx, error) {
return nil, err
}
tx := &Tx{clone}
tx := &tx{clone}
clone.tx = sqlTx
......@@ -245,19 +245,19 @@ func (self *Source) Transaction() (db.Tx, error) {
}
// Stores database settings.
func (self *Source) Setup(config db.Settings) error {
func (self *source) Setup(config db.Settings) error {
self.config = config
self.collections = make(map[string]db.Collection)
return self.Open()
}
// Returns the underlying *sql.DB instance.
func (self *Source) Driver() interface{} {
func (self *source) Driver() interface{} {
return self.session
}
// Attempts to connect to a database using the stored settings.
func (self *Source) Open() error {
func (self *source) Open() error {
var err error
if self.config.Host == "" {
......@@ -300,7 +300,7 @@ func (self *Source) Open() error {
}
// Closes the current database session.
func (self *Source) Close() error {
func (self *source) Close() error {
if self.session != nil {
return self.session.Close()
}
......@@ -308,13 +308,13 @@ func (self *Source) Close() error {
}
// Changes the active database.
func (self *Source) Use(database string) error {
func (self *source) Use(database string) error {
self.config.Database = database
return self.Open()
}
// Drops the currently active database.
func (self *Source) Drop() error {
func (self *source) Drop() error {
_, err := self.doQuery(sqlgen.Statement{
Type: sqlgen.SqlDropDatabase,
......@@ -325,7 +325,7 @@ func (self *Source) Drop() error {
}
// Returns a list of all tables within the currently active database.
func (self *Source) Collections() ([]string, error) {
func (self *source) Collections() ([]string, error) {
var collections []string
var collection string
......@@ -354,7 +354,7 @@ func (self *Source) Collections() ([]string, error) {
return collections, nil
}
func (self *Source) tableExists(names ...string) error {
func (self *source) tableExists(names ...string) error {
for _, name := range names {
rows, err := self.doQuery(sqlgen.Statement{
......@@ -384,13 +384,13 @@ func (self *Source) tableExists(names ...string) error {
}
// Returns a collection instance by name.
func (self *Source) Collection(names ...string) (db.Collection, error) {
func (self *source) Collection(names ...string) (db.Collection, error) {
if len(names) == 0 {
return nil, db.ErrMissingCollectionName
}
col := &Table{
col := &table{
source: self,
names: names,
}
......
......@@ -35,8 +35,8 @@ type counter_t struct {
Total uint64 `db:"_t"`
}
type Result struct {
table *Table
type result struct {
table *table
cursor *sql.Rows // This is the main query cursor. It starts as a nil value.
limit sqlgen.Limit
offset sqlgen.Offset
......@@ -48,7 +48,7 @@ type Result struct {
}
// Executes a SELECT statement that can feed Next(), All() or One().
func (self *Result) setCursor() error {
func (self *result) setCursor() error {
var err error
// We need a cursor, if the cursor does not exists yet then we create one.
if self.cursor == nil {
......@@ -67,27 +67,27 @@ func (self *Result) setCursor() error {
}
// Sets conditions for reducing the working set.
func (self *Result) Where(terms ...interface{}) db.Result {
func (self *result) Where(terms ...interface{}) db.Result {
self.where, self.arguments = whereValues(terms)
return self
}
// Determines the maximum limit of results to be returned.
func (self *Result) Limit(n uint) db.Result {
func (self *result) Limit(n uint) db.Result {
self.limit = sqlgen.Limit(n)
return self
}
// Determines how many documents will be skipped before starting to grab
// results.
func (self *Result) Skip(n uint) db.Result {
func (self *result) Skip(n uint) db.Result {
self.offset = sqlgen.Offset(n)
return self
}
// Used to group results that have the same value in the same column or
// columns.
func (self *Result) Group(fields ...interface{}) db.Result {
func (self *result) Group(fields ...interface{}) db.Result {
groupByColumns := make(sqlgen.GroupBy, 0, len(fields))
......@@ -108,7 +108,7 @@ func (self *Result) Group(fields ...interface{}) db.Result {
// Determines sorting of results according to the provided names. Fields may be
// prefixed by - (minus) which means descending order, ascending order would be
// used otherwise.
func (self *Result) Sort(fields ...interface{}) db.Result {
func (self *result) Sort(fields ...interface{}) db.Result {
sortColumns := make(sqlgen.SortColumns, 0, len(fields))
......@@ -146,7 +146,7 @@ func (self *Result) Sort(fields ...interface{}) db.Result {
}
// Retrieves only the given fields.
func (self *Result) Select(fields ...interface{}) db.Result {
func (self *result) Select(fields ...interface{}) db.Result {
self.columns = make(sqlgen.Columns, 0, len(fields))
l := len(fields)
......@@ -163,7 +163,7 @@ func (self *Result) Select(fields ...interface{}) db.Result {
}
// Dumps all results into a pointer to an slice of structs or maps.
func (self *Result) All(dst interface{}) error {
func (self *result) All(dst interface{}) error {
var err error
if self.cursor != nil {
......@@ -186,7 +186,7 @@ func (self *Result) All(dst interface{}) error {
}
// Fetches only one result from the resultset.
func (self *Result) One(dst interface{}) error {
func (self *result) One(dst interface{}) error {
var err error
if self.cursor != nil {
......@@ -201,7 +201,7 @@ func (self *Result) One(dst interface{}) error {
}
// Fetches the next result from the resultset.
func (self *Result) Next(dst interface{}) error {
func (self *result) Next(dst interface{}) error {
var err error
......@@ -223,7 +223,7 @@ func (self *Result) Next(dst interface{}) error {
}
// Removes the matching items from the collection.
func (self *Result) Remove() error {
func (self *result) Remove() error {
var err error
_, err = self.table.source.doExec(sqlgen.Statement{
Type: sqlgen.SqlDelete,
......@@ -236,7 +236,7 @@ func (self *Result) Remove() error {
// Updates matching items from the collection with values of the given map or
// struct.
func (self *Result) Update(values interface{}) error {
func (self *result) Update(values interface{}) error {
ff, vv, err := self.table.FieldValues(values, toInternal)
......@@ -261,7 +261,7 @@ func (self *Result) Update(values interface{}) error {
}
// Closes the result set.
func (self *Result) Close() error {
func (self *result) Close() error {
var err error
if self.cursor != nil {
err = self.cursor.Close()
......@@ -271,7 +271,7 @@ func (self *Result) Close() error {
}
// Counts matching elements.
func (self *Result) Count() (uint64, error) {
func (self *result) Count() (uint64, error) {
var count counter_t
rows, err := self.table.source.doQuery(sqlgen.Statement{
......
......@@ -21,14 +21,14 @@
package mysql
type Tx struct {
*Source
type tx struct {
*source
}
func (self *Tx) Commit() error {
return self.Source.tx.Commit()
func (self *tx) Commit() error {
return self.source.tx.Commit()
}
func (self *Tx) Rollback() error {
return self.Source.tx.Rollback()
func (self *tx) Rollback() error {
return self.source.tx.Rollback()
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment