func (m *Model) VirtualColumn(name string) Identifier {
	if m.virtualColumns == nil {
		m.ClearVirtualColumns()
	}
	return m.virtualColumns[name]
}
VirtualColumn returns the value of the virtual column with the given column name.
This method is only intended for internal use. It is only exposed for
technical reasons.
package kallax
import (
	"bytes"
	"crypto/rand"
	"database/sql"
	"database/sql/driver"
	"encoding/hex"
	"fmt"
	"time"
	"github.com/gofrs/uuid"
	"github.com/oklog/ulid"
)
type Model struct {
	virtualColumns map[string]Identifier
	persisted      bool
	writable       bool
	saving         bool
}
func NewModel() Model {
	return Model{
		persisted:      false,
		writable:       true,
		virtualColumns: make(map[string]Identifier),
		saving:         false,
	}
}
func (m *Model) IsPersisted() bool {
	return m.persisted
}
func (m *Model) setPersisted() {
	m.persisted = true
}
func (m *Model) IsWritable() bool {
	return m.writable
}
func (m *Model) setWritable(w bool) {
	m.writable = w
}
func (m *Model) IsSaving() bool {
	return m.saving
}
func (m *Model) SetSaving(saving bool) {
	m.saving = saving
}
func (m *Model) ClearVirtualColumns() {
	m.virtualColumns = make(map[string]Identifier)
}
func (m *Model) getVirtualColumns() map[string]Identifier {
	return m.virtualColumns
}
func (m *Model) AddVirtualColumn(name string, v Identifier) {
	if m.virtualColumns == nil {
		m.ClearVirtualColumns()
	}
	m.virtualColumns[name] = v
}