(b []byte, m map[string]interface{})
| 193 | } |
| 194 | |
| 195 | func (q *InsertQuery) appendMapColumnsValues(b []byte, m map[string]interface{}) []byte { |
| 196 | keys := make([]string, 0, len(m)) |
| 197 | |
| 198 | for k := range m { |
| 199 | keys = append(keys, k) |
| 200 | } |
| 201 | sort.Strings(keys) |
| 202 | |
| 203 | b = append(b, " ("...) |
| 204 | |
| 205 | for i, k := range keys { |
| 206 | if i > 0 { |
| 207 | b = append(b, ", "...) |
| 208 | } |
| 209 | b = types.AppendIdent(b, k, 1) |
| 210 | } |
| 211 | |
| 212 | b = append(b, ") VALUES ("...) |
| 213 | |
| 214 | for i, k := range keys { |
| 215 | if i > 0 { |
| 216 | b = append(b, ", "...) |
| 217 | } |
| 218 | if q.placeholder { |
| 219 | b = append(b, '?') |
| 220 | } else { |
| 221 | b = types.Append(b, m[k], 1) |
| 222 | } |
| 223 | } |
| 224 | |
| 225 | b = append(b, ")"...) |
| 226 | |
| 227 | return b |
| 228 | } |
| 229 | |
| 230 | func (q *InsertQuery) appendValues( |
| 231 | fmter QueryFormatter, b []byte, fields []*Field, strct reflect.Value, |
no test coverage detected