98 lines
		
	
	
	
		
			1.7 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			98 lines
		
	
	
	
		
			1.7 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
package nodb
 | 
						|
 | 
						|
import (
 | 
						|
	"errors"
 | 
						|
)
 | 
						|
 | 
						|
const (
 | 
						|
	NoneType    byte = 0
 | 
						|
	KVType      byte = 1
 | 
						|
	HashType    byte = 2
 | 
						|
	HSizeType   byte = 3
 | 
						|
	ListType    byte = 4
 | 
						|
	LMetaType   byte = 5
 | 
						|
	ZSetType    byte = 6
 | 
						|
	ZSizeType   byte = 7
 | 
						|
	ZScoreType  byte = 8
 | 
						|
	BitType     byte = 9
 | 
						|
	BitMetaType byte = 10
 | 
						|
	SetType     byte = 11
 | 
						|
	SSizeType   byte = 12
 | 
						|
 | 
						|
	maxDataType byte = 100
 | 
						|
 | 
						|
	ExpTimeType byte = 101
 | 
						|
	ExpMetaType byte = 102
 | 
						|
)
 | 
						|
 | 
						|
var (
 | 
						|
	TypeName = map[byte]string{
 | 
						|
		KVType:      "kv",
 | 
						|
		HashType:    "hash",
 | 
						|
		HSizeType:   "hsize",
 | 
						|
		ListType:    "list",
 | 
						|
		LMetaType:   "lmeta",
 | 
						|
		ZSetType:    "zset",
 | 
						|
		ZSizeType:   "zsize",
 | 
						|
		ZScoreType:  "zscore",
 | 
						|
		BitType:     "bit",
 | 
						|
		BitMetaType: "bitmeta",
 | 
						|
		SetType:     "set",
 | 
						|
		SSizeType:   "ssize",
 | 
						|
		ExpTimeType: "exptime",
 | 
						|
		ExpMetaType: "expmeta",
 | 
						|
	}
 | 
						|
)
 | 
						|
 | 
						|
const (
 | 
						|
	defaultScanCount int = 10
 | 
						|
)
 | 
						|
 | 
						|
var (
 | 
						|
	errKeySize        = errors.New("invalid key size")
 | 
						|
	errValueSize      = errors.New("invalid value size")
 | 
						|
	errHashFieldSize  = errors.New("invalid hash field size")
 | 
						|
	errSetMemberSize  = errors.New("invalid set member size")
 | 
						|
	errZSetMemberSize = errors.New("invalid zset member size")
 | 
						|
	errExpireValue    = errors.New("invalid expire value")
 | 
						|
)
 | 
						|
 | 
						|
const (
 | 
						|
	//we don't support too many databases
 | 
						|
	MaxDBNumber uint8 = 16
 | 
						|
 | 
						|
	//max key size
 | 
						|
	MaxKeySize int = 1024
 | 
						|
 | 
						|
	//max hash field size
 | 
						|
	MaxHashFieldSize int = 1024
 | 
						|
 | 
						|
	//max zset member size
 | 
						|
	MaxZSetMemberSize int = 1024
 | 
						|
 | 
						|
	//max set member size
 | 
						|
	MaxSetMemberSize int = 1024
 | 
						|
 | 
						|
	//max value size
 | 
						|
	MaxValueSize int = 10 * 1024 * 1024
 | 
						|
)
 | 
						|
 | 
						|
var (
 | 
						|
	ErrScoreMiss = errors.New("zset score miss")
 | 
						|
)
 | 
						|
 | 
						|
const (
 | 
						|
	BinLogTypeDeletion uint8 = 0x0
 | 
						|
	BinLogTypePut      uint8 = 0x1
 | 
						|
	BinLogTypeCommand  uint8 = 0x2
 | 
						|
)
 | 
						|
 | 
						|
const (
 | 
						|
	DBAutoCommit    uint8 = 0x0
 | 
						|
	DBInTransaction uint8 = 0x1
 | 
						|
	DBInMulti       uint8 = 0x2
 | 
						|
)
 | 
						|
 | 
						|
var (
 | 
						|
	Version = "0.1"
 | 
						|
)
 |