MCPcopy Create free account
hub / github.com/go-pg/pg / AppendQuery

Method AppendQuery

orm/table_create.go:66–132  ·  view source on GitHub ↗
(fmter QueryFormatter, b []byte)

Source from the content-addressed store, hash-verified

64}
65
66func (q *CreateTableQuery) AppendQuery(fmter QueryFormatter, b []byte) (_ []byte, err error) {
67 b = appendComment(b, q.q.comment)
68 if q.q.stickyErr != nil {
69 return nil, q.q.stickyErr
70 }
71 if q.q.tableModel == nil {
72 return nil, errModelNil
73 }
74
75 table := q.q.tableModel.Table()
76
77 b = append(b, "CREATE "...)
78 if q.opt != nil && q.opt.Temp {
79 b = append(b, "TEMP "...)
80 }
81 b = append(b, "TABLE "...)
82 if q.opt != nil && q.opt.IfNotExists {
83 b = append(b, "IF NOT EXISTS "...)
84 }
85 b, err = q.q.appendFirstTable(fmter, b)
86 if err != nil {
87 return nil, err
88 }
89 b = append(b, " ("...)
90
91 for i, field := range table.Fields {
92 if i > 0 {
93 b = append(b, ", "...)
94 }
95
96 b = append(b, field.Column...)
97 b = append(b, " "...)
98 b = q.appendSQLType(b, field)
99 if field.hasFlag(NotNullFlag) {
100 b = append(b, " NOT NULL"...)
101 }
102 if field.hasFlag(UniqueFlag) {
103 b = append(b, " UNIQUE"...)
104 }
105 if field.Default != "" {
106 b = append(b, " DEFAULT "...)
107 b = append(b, field.Default...)
108 }
109 }
110
111 b = appendPKConstraint(b, table.PKs)
112 b = appendUniqueConstraints(b, table)
113
114 if q.opt != nil && q.opt.FKConstraints {
115 for _, rel := range table.Relations {
116 b = q.appendFKConstraint(fmter, b, rel)
117 }
118 }
119
120 b = append(b, ")"...)
121
122 if table.PartitionBy != "" {
123 b = append(b, " PARTITION BY "...)

Callers 2

StringMethod · 0.95
AppendTemplateMethod · 0.95

Calls 9

appendSQLTypeMethod · 0.95
appendFKConstraintMethod · 0.95
appendTablespaceMethod · 0.95
appendCommentFunction · 0.85
appendPKConstraintFunction · 0.85
appendUniqueConstraintsFunction · 0.85
appendFirstTableMethod · 0.80
TableMethod · 0.65
hasFlagMethod · 0.45

Tested by

no test coverage detected