package bun

import (
	
	
	

	
	
)

type AddColumnQuery struct {
	baseQuery
}

func ( *DB) *AddColumnQuery {
	 := &AddColumnQuery{
		baseQuery: baseQuery{
			db:   ,
			conn: .DB,
		},
	}
	return 
}

func ( *AddColumnQuery) ( IConn) *AddColumnQuery {
	.setConn()
	return 
}

func ( *AddColumnQuery) ( interface{}) *AddColumnQuery {
	.setTableModel()
	return 
}

//------------------------------------------------------------------------------

func ( *AddColumnQuery) ( ...string) *AddColumnQuery {
	for ,  := range  {
		.addTable(schema.UnsafeIdent())
	}
	return 
}

func ( *AddColumnQuery) ( string,  ...interface{}) *AddColumnQuery {
	.addTable(schema.SafeQuery(, ))
	return 
}

func ( *AddColumnQuery) ( string,  ...interface{}) *AddColumnQuery {
	.modelTable = schema.SafeQuery(, )
	return 
}

//------------------------------------------------------------------------------

func ( *AddColumnQuery) ( string,  ...interface{}) *AddColumnQuery {
	.addColumn(schema.SafeQuery(, ))
	return 
}

//------------------------------------------------------------------------------

func ( *AddColumnQuery) () string {
	return "ADD COLUMN"
}

func ( *AddColumnQuery) ( schema.Formatter,  []byte) ( []byte,  error) {
	if .err != nil {
		return nil, .err
	}
	if len(.columns) != 1 {
		return nil, fmt.Errorf("bun: AddColumnQuery requires exactly one column")
	}

	 = append(, "ALTER TABLE "...)

	,  = .appendFirstTable(, )
	if  != nil {
		return nil, 
	}

	 = append(, " ADD "...)

	,  = .columns[0].AppendQuery(, )
	if  != nil {
		return nil, 
	}

	return , nil
}

//------------------------------------------------------------------------------

func ( *AddColumnQuery) ( context.Context,  ...interface{}) (sql.Result, error) {
	,  := .AppendQuery(.db.fmter, .db.makeQueryBytes())
	if  != nil {
		return nil, 
	}

	 := internal.String()

	,  := .exec(, , )
	if  != nil {
		return nil, 
	}

	return , nil
}