Skip to content

Commit e1294ca

Browse files
committed
make column methods pointers
1 parent 45cf72f commit e1294ca

File tree

11 files changed

+52
-47
lines changed

11 files changed

+52
-47
lines changed

column/Binary.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
package column
22

33
// Binary creates a binary column.
4-
func Binary(name string) Column {
5-
return Column{
6-
Name: name,
7-
Values: "binary",
4+
func Binary(name string) *Column {
5+
return &Column{
6+
Name: name,
7+
datatype: "binary",
88
}
99
}

column/Boolean.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
package column
22

33
// Boolean returns a bool column.
4-
func Boolean(name string) Column {
5-
return Column{
6-
Name: name,
7-
Values: "boolean",
4+
func Boolean(name string) *Column {
5+
return &Column{
6+
Name: name,
7+
datatype: "boolean",
88
}
99
}

column/Char.go

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,12 @@
11
package column
22

33
// Char returns a char column.
4-
func Char(name string, len int) Column {
5-
return Column{
6-
Name: name,
7-
Values: "char",
8-
}.Length(len)
4+
func Char(name string, len int) *Column {
5+
col := &Column{
6+
Name: name,
7+
datatype: "char",
8+
}
9+
10+
col.Length(len)
11+
return col
912
}

column/Column.go

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ type Columnable interface {
1313
// Column defines a single column on a database table.
1414
type Column struct {
1515
Name string
16-
Values string
16+
datatype string
1717
increments bool
1818
primaryKey bool
1919
nullable bool
@@ -27,9 +27,9 @@ func (c Column) ToSQL() string {
2727
// TODO: Make this better. Really, all the "meta" info
2828
// should be put into a slice and iterated through and
2929
// appended to the "core" column data - the name and type.
30-
sql := fmt.Sprintf("%s %s", c.Name, c.Values)
30+
sql := fmt.Sprintf("%s %s", c.Name, c.datatype)
3131
// TODO: Tidy this up.
32-
if (c.Values == "string" || c.Values == "char") && c.length != 0 {
32+
if (c.datatype == "string" || c.datatype == "char") && c.length != 0 {
3333
sql = sql + fmt.Sprintf("(%d)", c.length)
3434
}
3535
if c.nullable == false {
@@ -97,7 +97,6 @@ func (c Column) Nullable() Column {
9797
// Length adds a length constraint to applicable columns.
9898
// TODO: Should this throw an error on columns that can't
9999
// have a length modifier? Like TEXT?
100-
func (c Column) Length(len int) Column {
100+
func (c *Column) Length(len int) {
101101
c.length = len
102-
return c
103102
}

column/Date.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
package column
22

33
// Date returns a date column.
4-
func Date(name string) Column {
5-
return Column{
6-
Name: name,
7-
Values: "date",
4+
func Date(name string) *Column {
5+
return &Column{
6+
Name: name,
7+
datatype: "date",
88
}
99
}

column/DateTime.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
package column
22

33
// DateTime returns a DateTime column.
4-
func DateTime(name string) Column {
5-
return Column{
6-
Name: name,
7-
Values: "datetime",
4+
func DateTime(name string) *Column {
5+
return &Column{
6+
Name: name,
7+
datatype: "datetime",
88
}
99
}

column/Int.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@ package column
22

33
// Int returns a column of type Int.
44
// TODO: Add big int, tiny int, etc.
5-
func Int(name string) Column {
6-
return Column{
7-
Name: name,
8-
Values: "integer",
5+
func Int(name string) *Column {
6+
return &Column{
7+
Name: name,
8+
datatype: "integer",
99
}
1010
}

column/String.go

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,12 @@
11
package column
22

33
// String creates a column with a type of String.
4-
func String(name string, len int) Column {
5-
return Column{
6-
Name: name,
7-
Values: "varchar",
8-
}.Length(len)
4+
func String(name string, len int) *Column {
5+
col := &Column{
6+
Name: name,
7+
datatype: "varchar",
8+
}
9+
10+
col.Length(len)
11+
return col
912
}

column/Text.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
package column
22

33
// Text returns a column of type text.
4-
func Text(name string) Column {
5-
return Column{
6-
Name: name,
7-
Values: "text",
4+
func Text(name string) *Column {
5+
return &Column{
6+
Name: name,
7+
datatype: "text",
88
}
99
}

column/Time.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
package column
22

33
// Time returns a time column.
4-
func Time(name string) Column {
5-
return Column{
6-
Name: name,
7-
Values: "time",
4+
func Time(name string) *Column {
5+
return &Column{
6+
Name: name,
7+
datatype: "time",
88
}
99
}

0 commit comments

Comments
 (0)