From 9e678e1fac95865c9afdf69a1e770adef1c3b9c5 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jos=C3=A9=20Carlos=20Nieto?= <jose.carlos@menteslibres.net>
Date: Tue, 16 Sep 2014 11:31:24 -0500
Subject: [PATCH] schema: Adding docs.

---
 util/schema/main.go | 30 ++++++++++++++++++++++++++++++
 1 file changed, 30 insertions(+)

diff --git a/util/schema/main.go b/util/schema/main.go
index d0f3fbff..05b5b8fb 100644
--- a/util/schema/main.go
+++ b/util/schema/main.go
@@ -1,5 +1,29 @@
+// Copyright (c) 2012-2014 José Carlos Nieto, https://menteslibres.net/xiam
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+// The schema package provides basic information about common relation database
+// schemas.
 package schema
 
+// DatabaseSchema represents a collection of tables.
 type DatabaseSchema struct {
 	Name      string
 	Alias     string
@@ -7,12 +31,14 @@ type DatabaseSchema struct {
 	TableInfo map[string]*TableSchema
 }
 
+// TableSchema represents a single table.
 type TableSchema struct {
 	PrimaryKey string
 	Alias      string
 	Columns    []string
 }
 
+// NewDatabaseSchema() creates and returns a database schema.
 func NewDatabaseSchema() *DatabaseSchema {
 	schema := new(DatabaseSchema)
 	schema.Tables = []string{}
@@ -20,6 +46,8 @@ func NewDatabaseSchema() *DatabaseSchema {
 	return schema
 }
 
+// AddTable() add a table into the database schema. If the table does not
+// exists it is created before being added.
 func (d *DatabaseSchema) AddTable(name string) {
 	if _, ok := d.TableInfo[name]; !ok {
 		table := new(TableSchema)
@@ -29,11 +57,13 @@ func (d *DatabaseSchema) AddTable(name string) {
 	}
 }
 
+// Table() retrives a table from the schema.
 func (d *DatabaseSchema) Table(name string) *TableSchema {
 	d.AddTable(name)
 	return d.TableInfo[name]
 }
 
+// HasTable() returns true if the given table is already within the schema.
 func (d *DatabaseSchema) HasTable(name string) bool {
 	if _, ok := d.TableInfo[name]; ok {
 		return true
-- 
GitLab