12345678910111213141516171819202122232425262728293031323334 |
- package memdb
- // Changes describes a set of mutations to memDB tables performed during a
- // transaction.
- type Changes []Change
- // Change describes a mutation to an object in a table.
- type Change struct {
- Table string
- Before interface{}
- After interface{}
- // primaryKey stores the raw key value from the primary index so that we can
- // de-duplicate multiple updates of the same object in the same transaction
- // but we don't expose this implementation detail to the consumer.
- primaryKey []byte
- }
- // Created returns true if the mutation describes a new object being inserted.
- func (m *Change) Created() bool {
- return m.Before == nil && m.After != nil
- }
- // Updated returns true if the mutation describes an existing object being
- // updated.
- func (m *Change) Updated() bool {
- return m.Before != nil && m.After != nil
- }
- // Deleted returns true if the mutation describes an existing object being
- // deleted.
- func (m *Change) Deleted() bool {
- return m.Before != nil && m.After == nil
- }
|