Documentation
¶
Overview ¶
package resob implements complicated functions about a BsTr tree. resob is remote service of BsTr tree.
package resob implements a struct of Bstr and a datastructure called BstarTree or BlinkTree. resob is remote service of BsTr tree, using a pulsating workflow pattern for processing concurrency, only realized with go standard library, no extra dependency. package resob implements complicated functions about a BsTr tree.
Struct Bstr provides base Put* and Get* methods that can take in most type of data, e.g. int64, int, float64, complex128 etc. base type and composite type. the put api in ip.go, e.g. PutAnyByKey. the get api in ig.go, e.g. GetAnyByKey. the delete api in BsTrstruct_delete.go, e.g. Delete. BsTr tree based on Bstr struct can wander between memory chunks and disk pages, and provide tree Put/Get methods for operating the tree.
BsTrtree*.go is a series of base operation for a BsTr tree. e.g. Start start a BsTr tree; CT create a tn in a spire of a BsTr tree. Put put/del/update data into/from/for a a spire of a BsTr tree. Get get data from a spire of a BsTr tree; CGet* methods realize similar function. FindParams realize complicated functions with a json format request: condition search and paged results. all function based on BsTrtree_swput.go BsTrtree_swget.go(STRKEY),BsTrtree_iwput.go BsTrtree_iwget.go(I64KEY), BsTrtree_fwput.go BsTrtree_fwget.go(F64KEY), BsTrtree_cwput.go BsTrtree_cwget.go(COMPLEX128KEY), BsTrtree_bwput.go BsTrtree_bwget.go(BSKEY--[]byte).
resob_jsonpsrser.go: realized a quick json parser. analyze json gramma quickly. parser a josn to a BsTr struct.
resob_jsondt*.go: implemented putting json data to and search json data from a BsTr tree. process json data conveniently, and provide Put/Del/Upd/Get method for using. put withkey as follow: i64key format json: {"put":{"key":1234565,"tn":{"field0":num0,"field1":"str0","field2":true,"field3":1234}}} or strkey format json: {"put":{"key":"1234565","tn":{"field0":num0,"field1":"str0","field2":true,"field3":4356}}} non-key as follow: system will generate a autoinc-int64 key(or tostring) with tn flag {"put":{"tn":{"field0":num0,"field1":"str0","field2":true,"field3":345}}} bat Put: {"put":[{"key":1234565,"tn":{"field0":num0,"field1":"str0","field2":true,"field3":1234}},{"key":343453,"tn":{"field0":num0,"field1":"str0","field2":true,"field3":1234}}]} {"put":[{"tn":{"field0":num0,"field1":"str0","field2":true,"field3":1234}},{"tn":{"field0":num0,"field1":"str0","field2":true,"field3":1234}}]}
delete withkey as follow: a del-json has a fixed format, as follows: a del-json with a key: "{\"del\":{\"key\":\"123456\",\"deljsontest\":{}}}" a del-json for bat deleting: "{\"del\":[{\"key\":\"123456\",\"deljsontest\":{},{\"key\":\"1234560\",\"deljsontest\":{}]}"
update withkey as follow: a upd-json has a fixed format, as follows: a upd-json with a key: "{\"upd\":{\"key\":\"123456\",\"updjsontest\":{\"aaa\":\"sdf\tsdfs\\dfe29asdf\",\"aaab\":true,\"arrarrstrct\":{\"nnn\":-1234567890,\"ccc\":[[\"sdf\tsdfs\\dfe29asdf\",\"nmbndfvdfgfdg\"],[\"sdf\tsdfs\\dfe29asdf\",\"poiuiyyttt\"]]},\"ddd\":\"sdf\tsdfs\\dfe29asdf\",\"fff\":false,\"comboolarr\":[{\"boolarr0\":[true,false]},{\"boolarr1\":[true,false]}]}}}" a upd-json for bat updating: "{\"upd\":[{\"key\":\"123456\",\"updjsontest\":{\"aaa\":\"sdf\tsdfs\\dfe29asdf\",\"aaab\":true,\"arrarrstrct\":{\"nnn\":-1234567890,\"ccc\":[[\"sdf\tsdfs\\dfe29asdf\",\"nmbndfvdfgfdg\"],[\"sdf\tsdfs\\dfe29asdf\",\"poiuiyyttt\"]]},\"ddd\":\"sdf\tsdfs\\dfe29asdf\",\"fff\":false,\"comboolarr\":[{\"boolarr0\":[true,false]},{\"boolarr1\":[true,false]}]}},{\"key\":\"1234560\",\"updjsontest\":{\"aaa\":\"sdf\tsdfs\\dfe29asdf\",\"aaab\":true,\"arrarrstrct\":{\"nnn\":-1234567890,\"ccc\":[[\"sdf\tsdfs\\dfe29asdf\",\"nmbndfvdfgfdg\"],[\"sdf\tsdfs\\dfe29asdf\",\"poiuiyyttt\"]]},\"ddd\":\"sdf\tsdfs\\dfe29asdf\",\"fff\":false,\"comboolarr\":[{\"boolarr0\":[true,false]},{\"boolarr1\":[true,false]}]}}]}"
get as follow: {"get":{"family_name:personal_info":"{~`李`}","fields":"[`personal_info.family_name`,`personal_info.name`]"}} results json (i64key for example): [{"key":23434}, "tn":{"filed0":"dfd","field1":435,"field2":true,"field3":[{...}]},{"key":345}, "tn":{"filed0":"dfdrtret","field1":45435,"field2":true,"field3":[{...}]}]
resob_jsondb*.go: implemented putting json data to and search json data from some jsondts, and *Dbsp* series of function for managing jsondbs.
Index ¶
- Constants
- Variables
- func AnyEKeySearch(ts []any, t any) int
- func AnyEKeySearchTms(ts []any, t any, tmss []int64, tms int64) int
- func AnyGCKeySearch(ts []any, t any) int
- func AnyGEKeySearch(ts []any, t any) int
- func AnyGEKeySearchTms(ts []any, t any, tmss []int64, tms int64) int
- func AnyGKeySearch(ts []any, t any) int
- func AnyGKeySearchTms(ts []any, t any, tmss []int64, tms int64) int
- func AnyGPKeySearch(ts []any, t any) int
- func AnyGSKeySearch(ts []any, t any) int
- func AnyLEKeySearch(ts []any, t any) int
- func AnyLEKeySearchTms(ts []any, t any, tmss []int64, tms int64) int
- func AnyLKeySearch(ts []any, t any) int
- func AnyLKeySearchTms(ts []any, t any, tmss []int64, tms int64) int
- func AnyLike(r any, t any) int
- func BsTrFileServ(n, ap string) error
- func ChanIsClosed[T any](c chan T) bool
- func ChaosBytes(bs []byte) []byte
- func CloseDb(cdparams *DbspCloseDbParams) error
- func CloseDb0(cdparams *DbspCloseDbParams0) error
- func CloseDbsp(dbsp *BsTr, f *os.File)
- func EKeySearch[T KeyType](ts []T, t T) int
- func EKeySearchTms[T KeyType](ts []T, t T, tmss []int64, tms int64) int
- func FcdNoR(c0 *BsTr, f *os.File)
- func FcdNoRRe(c0 *BsTr, f *os.File, c net.Conn)
- func FcmNoR(c0 *BsTr, pagesz, offset int64, f *os.File)
- func FcmNoRRe(c0 *BsTr, pagesz, offset int64, f *os.File, c net.Conn)
- func FcwNoR(c0 *BsTr, pagesz int64, f *os.File)
- func FcwNoRRe(c0 *BsTr, pagesz int64, f *os.File, c net.Conn)
- func FileIsReadOnly(fn string) (bool, error)
- func FreeBsTrtree(csp **BsTr, flag uint32, b_destroy_self bool)
- func FreeSpire(spirep **BsTr)
- func FreeTn(et **BsTr)
- func GCKeySearch[T KeyType](ts []T, t T) int
- func GEKeySearch[T KeyType](ts []T, t T) int
- func GEKeySearchTms[T KeyType](ts []T, t T, tmss []int64, tms int64) int
- func GKeySearch[T KeyType](ts []T, t T) int
- func GKeySearchTms[T KeyType](ts []T, t T, tmss []int64, tms int64) int
- func GPKeySearch[T KeyType](ts []T, t T) int
- func GSKeySearch[T KeyType](ts []T, t T) int
- func HttpCenterJsonEngine(dep_inject *DepInject, dbsp *BsTr, dbspf *os.File, jdb *JsonDb, re_addr string, ...) (*JsonDb, *JsonResults, string, error)
- func IDxyl(inittm int64) (int64, int64, int64, int64)
- func Intersection(minArg []any, args ...[]any) []any
- func IsNumber(s string) bool
- func JiSuanJieGouTiRealLen(cs any) int64
- func KeyCmp(r, t any) int
- func KeyCmpTms(r, t any, rtms, ttms int64) int
- func KeyContain(r, t any) int
- func KeyLen(key any) int
- func KeyPrefix(cs *BsTr, r, t any) int
- func KeyPrefixBi(r, t any) int
- func KeyPrefixLi(r, t any) int
- func KeySuffix(cs *BsTr, r, t any) int
- func KeySuffixBi(r, t any) int
- func KeySuffixLi(r, t any) int
- func LEKeySearch[T KeyType](ts []T, t T) int
- func LEKeySearchTms[T KeyType](ts []T, t T, tmss []int64, tms int64) int
- func LKeySearch[T KeyType](ts []T, t T) int
- func LKeySearchTms[T KeyType](ts []T, t T, tmss []int64, tms int64) int
- func LevenShtein[T StringOrBytesKey](r, t T, inscost, delcost, repcost int) int
- func Like[T KeyType](r T, t T) int
- func LocalCenterJsonEngine(dbsp *BsTr, dbspf *os.File, jdb *JsonDb, s string, jr *JsonResults) (*JsonDb, *JsonResults, string, error)
- func ModifyDbspUsrPwd(dbsp *BsTr, dbspf *os.File, usr, pwd string)
- func RandomIDxy(inittm int64) (int64, int64, int64, int64)
- func RandomInt(maxi int64) int64
- func Reverse2Dss(ss []string) []string
- func TintersectionT[T KeyType](minArg []T, args ...[][]T) []T
- func ToBytes(cs *BsTr, t any) []byte
- func ToBytesBi(t any) []byte
- func ToBytesLi(t any) []byte
- type BsTr
- func Fcd(c0 *BsTr, f *os.File) *BsTr
- func FcdRe(c0 *BsTr, f *os.File, c net.Conn) *BsTr
- func Fcm(c0 *BsTr, agosize, pagesz, offset int64, f *os.File) *BsTr
- func FcmRe(c0 *BsTr, pagesz, offset int64, f *os.File, c net.Conn) *BsTr
- func Fco(c0 *BsTr, pagesz int64, f *os.File) *BsTr
- func FcoRe(c0 *BsTr, pagesz int64, f *os.File, c net.Conn) *BsTr
- func Fcr(offset int64, f *os.File) *BsTr
- func Fcr0(f *os.File) *BsTr
- func FcrRe(offset int64, f *os.File, c net.Conn) *BsTr
- func Fcrht(offset int64, f *os.File) *BsTr
- func FcrhtRe(offset int64, f *os.File, c net.Conn) *BsTr
- func Fcw(c0 *BsTr, pagesz int64, f *os.File) *BsTr
- func FcwRe(c0 *BsTr, pagesz int64, f *os.File, c net.Conn) *BsTr
- func GetFromBufio(r *bufio.Reader) (*BsTr, int64, error)
- func GetFromBytes(bs []byte) (*BsTr, int64, error)
- func GetFromBytesByBufio(bs []byte) (*BsTr, int64, error)
- func GetFromFile(f *os.File) (*BsTr, int64, error)
- func GetFromFileOff(offset int64, f *os.File) (*BsTr, int64, error)
- func GetHeadAndTailFromFileOff(offset int64, f *os.File) (*BsTr, error)
- func GetHeadFromBufio(r *bufio.Reader) (*BsTr, error)
- func GetHeadFromBytes(bs []byte) (*BsTr, error)
- func GetHeadFromFile(f *os.File) (*BsTr, error)
- func GetHeadFromFileOff(offset int64, f *os.File) (*BsTr, error)
- func InitDbsp(auth JsonDbAuthIf) (*BsTr, *os.File)
- func Replay(oldf, f, oldbinlogf, binlogf *os.File, cif CompressIf) *BsTr
- func Rescue(cpsts int64, datafn string, binlogf *os.File, cif CompressIf) (*BsTr, *os.File)
- func (cs *BsTr) Assemble(key any) *JsonToken
- func (cs *BsTr) AssembleBoolJsonTokenTree() []*JsonToken
- func (cs *BsTr) AssembleF64JsonTokenTree() []*JsonToken
- func (cs *BsTr) AssembleI64JsonTokenTree() []*JsonToken
- func (cs *BsTr) AssembleStrJsonTokenTree() []*JsonToken
- func (cs *BsTr) CGet1(tn string, key any, f *os.File) (*BsTr, int, []any, []bool, []int64, [][]byte, uint32)
- func (cs *BsTr) CGetAll(tn string, key any, f *os.File) ([]any, []bool, []int64, [][]byte, uint32)
- func (cs *BsTr) CT(flag uint32, pagesz int32, maxlevel int8, tn string, f *os.File) (*SpireReturn, error)
- func (cs *BsTr) CTConlonComma(b_jsonnestedtnb bool, flag uint32, pagesz int32, maxlevel int8, tn string, ...) (*SpireReturn, error)
- func (cs *BsTr) CheckBT(bn, tn string) bool
- func (cs *BsTr) CheckBTExisted() bool
- func (cs *BsTr) CheckDELETEFlag() bool
- func (cs *BsTr) CheckFlagAndLen() bool
- func (cs *BsTr) CheckID(ID string) (bool, IntLens, any)
- func (cs *BsTr) CheckLen() (int64, bool)
- func (cs *BsTr) CheckLens() bool
- func (cs *BsTr) CheckType(key string) bool
- func (cs *BsTr) CheckTypeOne(l IntLens, key string, n_str *[]string) bool
- func (cs *BsTr) Close()
- func (cs *BsTr) Copy(dstcs *BsTr)
- func (cs *BsTr) Del(tn string, key any, f, binlogf *os.File, logc net.Conn) (any, error)
- func (cs *BsTr) Del4NotUnique(tn string, key any, tms4del int64, f, binlogf *os.File, logc net.Conn) (any, error)
- func (embedspire *BsTr) DelByJsonParser(arr_or_obj JsonTokenType, jdt *JsonDt, tn, embedtn string, jp *JsonParser, ...) error
- func (embedspire *BsTr) DelJson(jdt *JsonDt, tn, embedtn, s string, f, binlogf *os.File, logc net.Conn) error
- func (cs *BsTr) Delete(data_type_sn int8, q int, i int) error
- func (cs *BsTr) DeleteWithDes(key string, c bool) error
- func (cs *BsTr) DeleteWithField(key string, c bool) error
- func (cs *BsTr) DeleteWithID(key string, c bool) error
- func (cs *BsTr) DeleteWithKeyOneType(l IntLens, key string, n_str *[]string, bsbase string, step IntLens, c bool) bool
- func (cs *BsTr) Drop(otherspire, currentspire *BsTr, flag uint32, f *os.File)
- func (cs *BsTr) ElementsToBytes(buf *bytes.Buffer) error
- func (cs *BsTr) End(bForcePersis bool, f *os.File)
- func (cs *BsTr) End4Reentry(f *os.File)
- func (cs *BsTr) End4ReentryAndPersis(bForcePersis bool, f *os.File)
- func (cs *BsTr) EndOnlyPersis(bForcePersis bool, f *os.File)
- func (cs *BsTr) Expand(data_type_sn int8, q int, i int) error
- func (cs *BsTr) FindContainsOrCompareDes(des string, re_cs *BsTr, c bool)
- func (cs *BsTr) FindContainsOrCompareField(field string, re_cs *BsTr, c bool)
- func (cs *BsTr) FindContainsOrCompareID(key string, re_cs *BsTr, c bool)
- func (cs *BsTr) FindContainsOrCompareKeyOneType(l IntLens, key string, n_str *[]string, bsbase string, re_cs *BsTr, ...)
- func (cs *BsTr) Flag() uint16
- func (cs *BsTr) Get(bPrecise bool, tn string, key any, f *os.File) ([]any, []bool, []int64, [][]byte, uint32)
- func (cs *BsTr) Get1OrAll(flag int8, tn string, key any, f *os.File) ([]any, []bool, []int64, [][]byte, uint32)
- func (cs *BsTr) GetAnyByKey(key string, s any) error
- func (cs *BsTr) GetBase(ID string) any
- func (cs *BsTr) GetBaseReturnIndexAndSN(ID string) (int, int)
- func (cs *BsTr) GetBool(ID string) (*bool, IntLens)
- func (cs *BsTr) GetBoolFieldDes(ID string) (string, string)
- func (chunki *BsTr) GetBs(flag uint32, index int, bss [][]byte, f *os.File) [][]byte
- func (cs *BsTr) GetBytes(ID string) (*[]byte, IntLens)
- func (cs *BsTr) GetBytesFieldDes(ID string) (string, string)
- func (cs *BsTr) GetChunks() []*BsTr
- func (cs *BsTr) GetChunksFromIgnoreIndex() []*BsTr
- func (cs *BsTr) GetComplex128(ID string) (*complex128, IntLens)
- func (cs *BsTr) GetComplex128FieldDes(ID string) (string, string)
- func (cs *BsTr) GetComplex64(ID string) (*complex64, IntLens)
- func (cs *BsTr) GetComplex64FieldDes(ID string) (string, string)
- func (cs *BsTr) GetEmbedSpire(tn string, embedtn string, f *os.File) (string, *BsTr, *SpireReturn)
- func (cs *BsTr) GetFieldDes(ID string) (string, string)
- func (cs *BsTr) GetFloat32(ID string) (*float32, IntLens)
- func (cs *BsTr) GetFloat32FieldDes(ID string) (string, string)
- func (cs *BsTr) GetFloat64(ID string) (*float64, IntLens)
- func (cs *BsTr) GetFloat64FieldDes(ID string) (string, string)
- func (cs *BsTr) GetInt16(ID string) (*int16, IntLens)
- func (cs *BsTr) GetInt16FieldDes(ID string) (string, string)
- func (cs *BsTr) GetInt32(ID string) (*int32, IntLens)
- func (cs *BsTr) GetInt32FieldDes(ID string) (string, string)
- func (cs *BsTr) GetInt64(ID string) (*int64, IntLens)
- func (cs *BsTr) GetInt64FieldDes(ID string) (string, string)
- func (cs *BsTr) GetInt8(ID string) (*int8, IntLens)
- func (cs *BsTr) GetInt8FieldDes(ID string) (string, string)
- func (cs *BsTr) GetString(ID string) (*string, IntLens)
- func (cs *BsTr) GetStringFieldDes(ID string) (string, string)
- func (cs *BsTr) GetTotal() int
- func (cs *BsTr) GetUint16(ID string) (*uint16, IntLens)
- func (cs *BsTr) GetUint16FieldDes(ID string) (string, string)
- func (cs *BsTr) GetUint32(ID string) (*uint32, IntLens)
- func (cs *BsTr) GetUint32FieldDes(ID string) (string, string)
- func (cs *BsTr) GetUint64(ID string) (*uint64, IntLens)
- func (cs *BsTr) GetUint64FieldDes(ID string) (string, string)
- func (cs *BsTr) GetUint8(ID string) (*uint8, IntLens)
- func (cs *BsTr) GetUint8FieldDes(ID string) (string, string)
- func (cs *BsTr) HaveBool() bool
- func (cs *BsTr) HaveBytes() bool
- func (cs *BsTr) HaveComplex128() bool
- func (cs *BsTr) HaveComplex64() bool
- func (cs *BsTr) HaveFloat32() bool
- func (cs *BsTr) HaveFloat64() bool
- func (cs *BsTr) HaveInt16() bool
- func (cs *BsTr) HaveInt32() bool
- func (cs *BsTr) HaveInt64() bool
- func (cs *BsTr) HaveInt8() bool
- func (cs *BsTr) HaveSring() bool
- func (cs *BsTr) HaveUint16() bool
- func (cs *BsTr) HaveUint32() bool
- func (cs *BsTr) HaveUint64() bool
- func (cs *BsTr) HaveUint8() bool
- func (cs *BsTr) Init(bn, tn string) bool
- func (cs *BsTr) InitPool(f *os.File)
- func (cs *BsTr) InitPoolWithPageSz(pagesz int64, f *os.File)
- func (cs *BsTr) InitWithLog(bn, tn string) bool
- func (cs *BsTr) InitWithLogNonids(bn, tn string, nonids bool) bool
- func (cs *BsTr) InitWithNonids(bn, tn string, nonids bool) bool
- func (cs *BsTr) InitWithoutBT() bool
- func (cs *BsTr) IsEmpty() bool
- func (cs *BsTr) IsEmptyFast() bool
- func (cs *BsTr) LeafIterNext(spr *SpireReturn, f *os.File) (any, []int64, *BsTr)
- func (cs *BsTr) LeafIterStart(tn string, f *os.File) (any, []int64, uint64, *BsTr, *SpireReturn)
- func (cs *BsTr) Len() int
- func (cs *BsTr) LengthToSize()
- func (cs *BsTr) Less(i, j int) bool
- func (cs *BsTr) Merge(c *BsTr)
- func (cs *BsTr) Modify(past_size int64, page_size int64, f *os.File) error
- func (cs *BsTr) ModifyDeleteFlag(delete_or_not bool, f *os.File) error
- func (cs *BsTr) MultiEmbededStart(size int64, offset int64, f *os.File, binlogf *os.File) (*BsTr, error)
- func (cs *BsTr) MultiEmbededStartAlreadyLoadedFromMem(f *os.File, binlogf *os.File) (*BsTr, error)
- func (cs *BsTr) NiSetDeleteFlag()
- func (cs *BsTr) NidsIdSuffix(s string) bool
- func (cs *BsTr) NocheckPutBool(t bool, ID, field, description string) error
- func (cs *BsTr) NocheckPutBoolI(i int, t bool, ID, field, description string) error
- func (cs *BsTr) NocheckPutBytes(t []byte, ID, field, description string) error
- func (cs *BsTr) NocheckPutBytesI(i int, t []byte, ID, field, description string) error
- func (cs *BsTr) NocheckPutComplex128(t complex128, ID, field, description string) error
- func (cs *BsTr) NocheckPutComplex128I(i int, t complex128, ID, field, description string) error
- func (cs *BsTr) NocheckPutComplex64(t complex64, ID, field, description string) error
- func (cs *BsTr) NocheckPutComplex64I(i int, t complex64, ID, field, description string) error
- func (cs *BsTr) NocheckPutFloat32(t float32, ID, field, description string) error
- func (cs *BsTr) NocheckPutFloat32I(i int, t float32, ID, field, description string) error
- func (cs *BsTr) NocheckPutFloat64(t float64, ID, field, description string) error
- func (cs *BsTr) NocheckPutFloat64I(i int, t float64, ID, field, description string) error
- func (cs *BsTr) NocheckPutInt16(t int16, ID, field, description string) error
- func (cs *BsTr) NocheckPutInt16I(i int, t int16, ID, field, description string) error
- func (cs *BsTr) NocheckPutInt32(t int32, ID, field, description string) error
- func (cs *BsTr) NocheckPutInt32I(i int, t int32, ID, field, description string) error
- func (cs *BsTr) NocheckPutInt64(t int64, ID, field, description string) error
- func (cs *BsTr) NocheckPutInt64I(i int, t int64, ID, field, description string) error
- func (cs *BsTr) NocheckPutInt8(t int8, ID, field, description string) error
- func (cs *BsTr) NocheckPutInt8I(i int, t int8, ID, field, description string) error
- func (cs *BsTr) NocheckPutString(t string, ID, field, description string) error
- func (cs *BsTr) NocheckPutStringI(i int, t string, ID, field, description string) error
- func (cs *BsTr) NocheckPutUint16(t uint16, ID, field, description string) error
- func (cs *BsTr) NocheckPutUint16I(i int, t uint16, ID, field, description string) error
- func (cs *BsTr) NocheckPutUint32(t uint32, ID, field, description string) error
- func (cs *BsTr) NocheckPutUint32I(i int, t uint32, ID, field, description string) error
- func (cs *BsTr) NocheckPutUint64(t uint64, ID, field, description string) error
- func (cs *BsTr) NocheckPutUint64I(i int, t uint64, ID, field, description string) error
- func (cs *BsTr) NocheckPutUint8(t uint8, ID, field, description string) error
- func (cs *BsTr) NocheckPutUint8I(i int, t uint8, ID, field, description string) error
- func (cs *BsTr) NocheckUpdBoolI(i int, t bool, ID, field, description string) error
- func (cs *BsTr) NocheckUpdBytesI(i int, t []byte, ID, field, description string) error
- func (cs *BsTr) NocheckUpdComplex128I(i int, t complex128, ID, field, description string) error
- func (cs *BsTr) NocheckUpdComplex64I(i int, t complex64, ID, field, description string) error
- func (cs *BsTr) NocheckUpdFloat32I(i int, t float32, ID, field, description string) error
- func (cs *BsTr) NocheckUpdFloat64I(i int, t float64, ID, field, description string) error
- func (cs *BsTr) NocheckUpdInt16I(i int, t int16, ID, field, description string) error
- func (cs *BsTr) NocheckUpdInt32I(i int, t int32, ID, field, description string) error
- func (cs *BsTr) NocheckUpdInt64I(i int, t int64, ID, field, description string) error
- func (cs *BsTr) NocheckUpdInt8I(i int, t int8, ID, field, description string) error
- func (cs *BsTr) NocheckUpdStringI(i int, t string, ID, field, description string) error
- func (cs *BsTr) NocheckUpdUint16I(i int, t uint16, ID, field, description string) error
- func (cs *BsTr) NocheckUpdUint32I(i int, t uint32, ID, field, description string) error
- func (cs *BsTr) NocheckUpdUint64I(i int, t uint64, ID, field, description string) error
- func (cs *BsTr) NocheckUpdUint8I(i int, t uint8, ID, field, description string) error
- func (cs *BsTr) Nonids() bool
- func (cs *BsTr) Offset() int64
- func (cs *BsTr) OpenupSpace(page_size int64, f *os.File) error
- func (cs *BsTr) Plb(flag uint32, f *os.File, printBigData bool)
- func (cs *BsTr) Print()
- func (cs *BsTr) Put(ops int8, tn string, key any, Dts any, tag string, f, binlogf *os.File, ...) (any, error)
- func (cs *BsTr) PutAnyByKey(s any, fu_type_str string, tag string, key *string, inittm int64) (string, error)
- func (cs *BsTr) PutBase(t any, ID string, field string, description string) error
- func (cs *BsTr) PutBaseI(i int, t any, ID string, field string, description string) error
- func (cs *BsTr) PutBool(t bool, ID, field, description string) error
- func (cs *BsTr) PutBoolI(i int, t bool, ID, field, description string) error
- func (cs *BsTr) PutBsk(t []byte, s1, s2, s3 string) error
- func (cs *BsTr) PutBskI(i int, t []byte, s1, s2, s3 string) error
- func (embedspire *BsTr) PutByJsonParser(arr_or_obj JsonTokenType, jdt *JsonDt, tn, embedtn string, jp *JsonParser, ...) error
- func (cs *BsTr) PutBytes(t []byte, ID, field, description string) error
- func (cs *BsTr) PutBytesI(i int, t []byte, ID, field, description string) error
- func (cs *BsTr) PutChunk(chunk *BsTr) bool
- func (cs *BsTr) PutChunkI(i int, chunk *BsTr) bool
- func (cs *BsTr) PutComplex128(t complex128, ID, field, description string) error
- func (cs *BsTr) PutComplex128I(i int, t complex128, ID, field, description string) error
- func (cs *BsTr) PutComplex64(t complex64, ID, field, description string) error
- func (cs *BsTr) PutComplex64I(i int, t complex64, ID, field, description string) error
- func (cs *BsTr) PutFloat32(t float32, ID, field, description string) error
- func (cs *BsTr) PutFloat32I(i int, t float32, ID, field, description string) error
- func (cs *BsTr) PutFloat64(t float64, ID, field, description string) error
- func (cs *BsTr) PutFloat64I(i int, t float64, ID, field, description string) error
- func (cs *BsTr) PutInt(t int, ID, field, description string) error
- func (cs *BsTr) PutInt16(t int16, ID, field, description string) error
- func (cs *BsTr) PutInt16I(i int, t int16, ID, field, description string) error
- func (cs *BsTr) PutInt32(t int32, ID, field, description string) error
- func (cs *BsTr) PutInt32I(i int, t int32, ID, field, description string) error
- func (cs *BsTr) PutInt64(t int64, ID, field, description string) error
- func (cs *BsTr) PutInt64I(i int, t int64, ID, field, description string) error
- func (cs *BsTr) PutInt8(t int8, ID, field, description string) error
- func (cs *BsTr) PutInt8I(i int, t int8, ID, field, description string) error
- func (cs *BsTr) PutIntI(i int, t int, ID, field, description string) error
- func (embedspire *BsTr) PutJson(jdt *JsonDt, tn, embedtn, s string, f, binlogf *os.File, logc net.Conn, ...) error
- func (cs *BsTr) PutOff(t int64) error
- func (cs *BsTr) PutOffI(i int, t int64) error
- func (cs *BsTr) PutString(t string, ID, field, description string) error
- func (cs *BsTr) PutStringI(i int, t string, ID, field, description string) error
- func (cs *BsTr) PutTm(t int64) error
- func (cs *BsTr) PutTmI(i int, t int64) error
- func (cs *BsTr) PutUint(t uint, ID, field, description string) error
- func (cs *BsTr) PutUint16(t uint16, ID, field, description string) error
- func (cs *BsTr) PutUint16I(i int, t uint16, ID, field, description string) error
- func (cs *BsTr) PutUint32(t uint32, ID, field, description string) error
- func (cs *BsTr) PutUint32I(i int, t uint32, ID, field, description string) error
- func (cs *BsTr) PutUint64(t uint64, ID, field, description string) error
- func (cs *BsTr) PutUint64I(i int, t uint64, ID, field, description string) error
- func (cs *BsTr) PutUint8(t uint8, ID, field, description string) error
- func (cs *BsTr) PutUint8I(i int, t uint8, ID, field, description string) error
- func (cs *BsTr) PutUintI(i int, t uint, ID, field, description string) error
- func (cs *BsTr) RT(tn string, f *os.File) (*SpireReturn, error)
- func (cs *BsTr) RecomputeLen() int64
- func (cs *BsTr) Reset()
- func (cs *BsTr) ResetRetainNonids()
- func (cs *BsTr) RestatLens()
- func (cs *BsTr) ReturnGlobalPageSz() int64
- func (cs *BsTr) ReturnGlobalRdPool() *sync.Pool
- func (cs *BsTr) ReturnGlobalWrPool() *sync.Pool
- func (cs *BsTr) ReturnSNLen(SN int) int
- func (cs *BsTr) Rollback(r [MAXSNADD1 + 1]int, i int) error
- func (cs *BsTr) Save(page_size int64, f *os.File) error
- func (cs *BsTr) SaveBufio(w *bufio.Writer) error
- func (cs *BsTr) SetBT(bn, tn string) bool
- func (cs *BsTr) SetC4wr(c4wr *sync.Cond)
- func (cs *BsTr) SetDeleteFlag()
- func (cs *BsTr) SetLog(f *os.File)
- func (cs *BsTr) SetNonids(nonids bool)
- func (cs *BsTr) SetOrder(order bool)
- func (cs *BsTr) SetPageSz(pagesz int64) bool
- func (cs *BsTr) SingleEmbededStart(size int64, offset int64, f *os.File) (*BsTr, error)
- func (cs *BsTr) SingleEmbededStartAlreadyLoadedFromMem(f *os.File) (*BsTr, error)
- func (cs *BsTr) SingleEnd(bForcePersis bool, f *os.File)
- func (cs *BsTr) SinglePut(ops int8, tn string, key any, Dts any, tag string, f, binlogf *os.File, ...) (any, error)
- func (cs *BsTr) SingleStart(b_checkpoint bool, f *os.File) (*BsTr, error)
- func (cs *BsTr) Start(f *os.File, binlogf *os.File) (*BsTr, *BsTr, error)
- func (cs *BsTr) Swap(i, j int)
- func (cs *BsTr) ToJsonToken() []*JsonToken
- func (embedspire *BsTr) UpdByJsonParser(arr_or_obj JsonTokenType, jdt *JsonDt, tn, embedtn string, jp *JsonParser, ...) error
- func (embedspire *BsTr) UpdJson(jdt *JsonDt, tn, embedtn, s string, f, binlogf *os.File, logc net.Conn, ...) error
- func (cs *BsTr) UpdateBaseI(i int, t any, ID string, field string, description string) error
- func (cs *BsTr) UpdateBoolI(i int, t bool, ID, field, description string) error
- func (cs *BsTr) UpdateBskI(i int, t []byte, s1, s2, s3 string) error
- func (cs *BsTr) UpdateBytesI(i int, t []byte, ID, field, description string) error
- func (cs *BsTr) UpdateChunkI(i int, chunk *BsTr) bool
- func (cs *BsTr) UpdateComplex128I(i int, t complex128, ID, field, description string) error
- func (cs *BsTr) UpdateComplex64I(i int, t complex64, ID, field, description string) error
- func (cs *BsTr) UpdateFloat32I(i int, t float32, ID, field, description string) error
- func (cs *BsTr) UpdateFloat64I(i int, t float64, ID, field, description string) error
- func (cs *BsTr) UpdateInt16I(i int, t int16, ID, field, description string) error
- func (cs *BsTr) UpdateInt32I(i int, t int32, ID, field, description string) error
- func (cs *BsTr) UpdateInt64I(i int, t int64, ID, field, description string) error
- func (cs *BsTr) UpdateInt8I(i int, t int8, ID, field, description string) error
- func (cs *BsTr) UpdateIntI(i int, t int, ID, field, description string) error
- func (cs *BsTr) UpdateOffI(i int, t int64) error
- func (cs *BsTr) UpdateOffset(offset int64)
- func (cs *BsTr) UpdateSize(sz int64) bool
- func (cs *BsTr) UpdateStringI(i int, t string, ID, field, description string) error
- func (cs *BsTr) UpdateTmI(i int, t int64) error
- func (cs *BsTr) UpdateUint16I(i int, t uint16, ID, field, description string) error
- func (cs *BsTr) UpdateUint32I(i int, t uint32, ID, field, description string) error
- func (cs *BsTr) UpdateUint64I(i int, t uint64, ID, field, description string) error
- func (cs *BsTr) UpdateUint8I(i int, t uint8, ID, field, description string) error
- func (cs *BsTr) UpdateUintI(i int, t uint, ID, field, description string) error
- func (cs *BsTr) WeiInitSaveQian(bn, tn string) bool
- type ChildIndexInParentWithAdapter
- type CompressIf
- type ComputeFreeNumsAdapter
- type DbspCloseDbParams
- type DbspCloseDbParams0
- type DbspUseDbParams
- type DbspUseDbParams0
- type DbspUseDbRe
- type DefaultCIf
- type DefaultJsonDbAuth
- type DefaultJsonDbSession
- type DepInject
- type FindConditionParser
- func (fcr *FindConditionParser) DissembleObj(parent *FindConditonToken, starti, end int) error
- func (fcr *FindConditionParser) FcTokening() error
- func (fcr *FindConditionParser) FindGetJsonSpecialGrammaError() (int, int, string, error)
- func (fcr *FindConditionParser) FindGetJsonSpecialGrammaError2() (int, int, string, error)
- func (fcr *FindConditionParser) GetAFcToken() (*FindConditonToken, error)
- func (fcr *FindConditionParser) GetString() (*FindConditonToken, error)
- func (fcr *FindConditionParser) SetReader(s string)
- func (fcr *FindConditionParser) StartGetAFcToken() (*FindConditonToken, error)
- type FindConditiondTokenType
- type FindConditonToken
- type FindParams
- func (fps *FindParams) Init(tn string, spire *BsTr, f *os.File) *FindParams
- func (fps *FindParams) SetFindTypeAndKey(findtype int, key0, key1 any) *FindParams
- func (fps *FindParams) SetOrientation(orientation bool) *FindParams
- func (fps *FindParams) SetPageShouldHas(pageshouldhas int) *FindParams
- func (fps *FindParams) SetSomeFunc(some FindParamsSome) *FindParams
- func (fps *FindParams) SetSomeKeysFunc(somekeys FindParamsSomeKeys) *FindParams
- func (fps *FindParams) SetSomeStartFunc(somestart FindParamsSomeStart) *FindParams
- func (fps *FindParams) SetWantedPage(wantedpageNO int) *FindParams
- type FindParamsSome
- type FindParamsSomeKeys
- type FindParamsSomeStart
- type FreetreeReturn
- type GetWrLeaf4SplitAdapter
- type HttpAuthIf
- type HttpSessionIf
- type IntBTlen
- type IntBlens
- type IntLens
- type IntNidslen
- type IntSlens
- type JsonDb
- type JsonDbAuthIf
- type JsonDbSessionIf
- type JsonDt
- func (jdt *JsonDt) Del(s string) error
- func (jdt *JsonDt) DelByJsonParser(arr_or_obj JsonTokenType, jstr *JsonParser) error
- func (jdt *JsonDt) GetEmbedSpire(tn string) *JsonDt
- func (jdt *JsonDt) Init(f, binlogf *os.File, logc net.Conn, cif CompressIf) *JsonDt
- func (jdt *JsonDt) Put(s string) error
- func (jdt *JsonDt) PutAnyJson(s string) error
- func (jdt *JsonDt) PutByJsonParser(arr_or_obj JsonTokenType, jstr *JsonParser) error
- func (jdt *JsonDt) SetFindJson(findjson string) *JsonResults
- func (jdt *JsonDt) SetFindJsonParser(jp *JsonParser) *JsonResults
- func (jdt *JsonDt) SetJsonTemplate(jtml string, b_putany bool) *JsonDt
- func (jdt *JsonDt) SetSpire(spire *BsTr) *JsonDt
- func (jdt *JsonDt) SetTemplateByJsonParser(jp *JsonParser, b_putany bool) *JsonDt
- func (jdt *JsonDt) SetTn(flag4embededtn uint32, tn string) *JsonDt
- func (jdt *JsonDt) Upd(s string) error
- func (jdt *JsonDt) UpdByJsonParser(arr_or_obj JsonTokenType, jstr *JsonParser) error
- type JsonParser
- func (jr *JsonParser) CheckArrTypeRoute() (*JsonToken, *JsonToken, error)
- func (jr *JsonParser) DissembleArr(parent *JsonToken, starti, end int) error
- func (jr *JsonParser) DissembleObj(parent *JsonToken, starti, end int) error
- func (jr *JsonParser) FindClosedbJsonNormalGrammaError() (int, int, string, error)
- func (jr *JsonParser) FindDelJsonNormalGrammaError(tn string) (int, int, string, error)
- func (jr *JsonParser) FindGetJsonNormalGrammaError() (int, int, string, error)
- func (jr *JsonParser) FindNormalGrammaError() (int, int, string, error)
- func (jr *JsonParser) FindPutJsonNormalGrammaError(tn string) (int, int, string, error)
- func (jr *JsonParser) FindSetJsonNormalGrammaError(tn string) (int, int, string, error)
- func (jr *JsonParser) FindUpdJsonNormalGrammaError(tn string) (int, int, string, error)
- func (jr *JsonParser) FindUsedbJsonNormalGrammaError() (int, int, string, error)
- func (jr *JsonParser) GetAGetJsonToken() (*JsonToken, error)
- func (jr *JsonParser) GetAJsonToken() (*JsonToken, error)
- func (jr *JsonParser) GetFalse() (*JsonToken, error)
- func (jr *JsonParser) GetGetJsonTn() string
- func (jr *JsonParser) GetJsonReader() *strings.Reader
- func (jr *JsonParser) GetJsonTokening() error
- func (jr *JsonParser) GetNull() (*JsonToken, error)
- func (jr *JsonParser) GetNumber(bread byte) (*JsonToken, error)
- func (jr *JsonParser) GetPutOrUpdOrDelJsonTn() string
- func (jr *JsonParser) GetString() (*JsonToken, error)
- func (jr *JsonParser) GetTokens() []*JsonToken
- func (jr *JsonParser) GetTrue() (*JsonToken, error)
- func (jr *JsonParser) Print()
- func (jr *JsonParser) SetJsonReader(r *strings.Reader)
- func (jr *JsonParser) SetReader(s string)
- func (jr *JsonParser) StartGetAGetJsonToken() (*JsonToken, error)
- func (jr *JsonParser) StartGetAJsonToken() (*JsonToken, error)
- func (jr *JsonParser) ToBsTr(flag int) *BsTr
- func (jr *JsonParser) ToNocheckBsTr(flag int) *BsTr
- func (jr *JsonParser) ToNonidsBsTr() *BsTr
- func (jr *JsonParser) Tokening() error
- type JsonResults
- func (jr *JsonResults) GetCurWanPageNO() (int, int)
- func (jr *JsonResults) Init(jdt *JsonDt, keys []any, rp *ResultParser) *JsonResults
- func (jr *JsonResults) IsEnd(orientation bool) bool
- func (jr *JsonResults) SetOrientation(orientation bool) *JsonResults
- func (jr *JsonResults) SetPageShouldHas(pageshouldhas int) *JsonResults
- func (jr *JsonResults) SetWantedPage(wantedpageNO int) *JsonResults
- func (jr *JsonResults) SomeJsons() (*JsonResults, string)
- func (jr *JsonResults) SomeStart() *JsonResults
- type JsonToken
- func (jt *JsonToken) CheckArrTypeRoute() (*JsonToken, *JsonToken, error)
- func (jt *JsonToken) GetJsonStr() string
- func (jt *JsonToken) GetTokenType() JsonTokenType
- func (jt *JsonToken) Print()
- func (jt *JsonToken) SetJsonStr(jttstr string)
- func (jt *JsonToken) SetTokenType(jtt JsonTokenType)
- func (jt *JsonToken) ToBsTr(colonStr, dotStr string, jsonBstr *BsTr, flag int) (string, string, *BsTr)
- func (jt *JsonToken) ToNocheckBsTrs(colonStr, dotStr string, jsonBstr *BsTr, flag int) (string, string, *BsTr)
- func (jt *JsonToken) ToNonidsBsTr(jsonBstr *BsTr) *BsTr
- type JsonTokenTree
- type JsonTokenType
- type KeyType
- type LastLeafAdapter
- type PageStartBsTrKi
- type ResultParser
- func (rp *ResultParser) FindGetJsonResultGrammaError() (int, int, string, error)
- func (rp *ResultParser) GetARpToken() (*ResultToken, error)
- func (rp *ResultParser) GetString() (*ResultToken, error)
- func (rp *ResultParser) RpTokening() error
- func (rp *ResultParser) SetReader(s string)
- func (rp *ResultParser) StartGetARpToken() (*ResultToken, error)
- type ResultToken
- type ResultTokenType
- type SpireReturn
- type StringOrBytesKey
- type TmpDep
- type TreeNodeOrLeafIsEmptyAdapter
- type UpdateRouteIndexsAdapter
Constants ¶
const ( BOOLSN = iota INT8SN INT16SN INT32SN INT64SN UINT8SN UINT16SN UINT32SN UINT64SN FLOAT32SN FLOAT64SN COMPLEX64SN COMPLEX128SN STRINGSN BYTESN BYTEKEYSN OFFSSN TMSSN MAXSNADD1 )
const ( BIT0 = 0x0001 BIT1 = 0x0002 BIT2 = 0x0004 BIT3 = 0x0008 BIT4 = 0x0010 BIT5 = 0x0020 BIT6 = 0x0040 BIT7 = 0x0080 BIT8 = 0x0100 BIT9 = 0x0200 BIT10 = 0x0400 BIT11 = 0x0800 BIT12 = 0x1000 BIT13 = 0x2000 BIT14 = 0x4000 BIT15 = 0x8000 //delete flag )
const ( MAXSIZE = 655350000 RDBUFSZ = 655350 DefaultChanSz = 655350 )
const ( KONGIDSN = -2 NUDECSLEN = 1 + 1 + 8 + 8 + 2 + int64(unsafe.Sizeof(IntBTlen(0))*2+unsafe.Sizeof(IntLens(0))*MAXSNADD1) + 8 )
const ( IDREGS = `^[\S]{0,513}$` FIELDREGS = `^[\S ]{0,1000}$` DESREGS = `^[\S ]{0,1000}$` BTREGS = `^[a-zA-Z0-9\p{Han}][\w\p{Han}-_.:|]{0,128}$` )
const ( WR = 0x0000000000000001 RR = 0x0000000000000002 MR = 0x0000000000000004 RhtR = 0x0000000000000008 WRR = 0x0000000000000010 RRR = 0x0000000000000020 MRR = 0x0000000000000040 RhtRR = 0x0000000000000080 WRRe = 0x0000000000000100 RRRe = 0x0000000000000200 MRRe = 0x0000000000000400 RhtRRe = 0x0000000000000800 WRReR = 0x0000000000010000 RRReR = 0x0000000000020000 MRReR = 0x0000000000040000 RhtRReR = 0x0000000000080000 WNoR = 0x0000000000100000 MNoR = 0x0000000000200000 WNoRRe = 0x0000000000400000 MNoRRe = 0x0000000000800000 DR = 0x0000000001000000 DRR = 0x0000000002000000 DRRe = 0x0000000004000000 DRReR = 0x0000000008000000 DNoR = 0x0000000010000000 DNoRRe = 0x0000000020000000 OR = 0x0000000040000000 ORR = 0x0000000080000000 ORRe = 0x0000000100000000 ORReR = 0x0000000200000000 )
const ( VERSION = 0.1 //data version MAGICNUMBER = 0x3679 // the magic number demonstrates that it is a Bstr tree saved in a file )
const ( NUMBERED = 0x0001 // maybe not precise when Bstr tree is wandering between memory and disk. Use carefully UNIQUE = 0x0002 EMBEDED = 0x0004 // no data:bs STRKEY = 0x0008 I64KEY = 0x0010 F64KEY = 0x0020 C128KEY = 0x0040 NOSERIAL = 0x0080 BIG = 0x0100 // no data:bs BSKEY = 0x0200 COMPRESS = 0x0400 FILEBIG = 0x0800 //chunk only has left/right/parent, bs nil, if BIG, no bs Null = 0x1000 // if key is []byte or string,Null demonstrates "key can be null" MEM = 0x2000 // only mem,collide with binlog\filebig and ticksave ops; MEM ops not recorded in binlog file REMOTE = 0x4000 // binlog and data save in remote machine //datatype, not must needed STRDATA = 0x8000 I64DATA = 0x10000 F64DATA = 0x20000 C128DATA = 0x40000 BSDATA = 0x80000 BOOLDATA = 0x100000 I8DATA = 0x200000 I16DATA = 0x400000 I32DATA = 0x800000 U8DATA = 0x1000000 U16DATA = 0x2000000 U32DATA = 0x4000000 U64DATA = 0x8000000 F32DATA = 0x10000000 C64DATA = 0x20000000 BSTRDATA = 0x40000000 )
const ( INS = iota UPD // only can update in Unique mode UPDNOTUNIQUE DEL // only can delete in Unique mode DELNOTUNIQUE TKS // ticksave, not available currently. Rd )
const ( SYSPRESETBLANKSPCETN = " " EMBEDTNAT = "@" EMBEDTNCOLON = ":" EMBEDTNDOT = "." )
const ( P = 0x0001 R = 0x0002 L = 0x0004 I = 0x0008 TN = 0x0010 SPTOTAL = 0x0020 BIGDATA = 0x0040 EITOTAL = 0x0080 LRU = 0x0100 )
const ( DEFAULTFLAG = MEM | UNIQUE | STRKEY | NOSERIAL DEFAULTPOMAPCAP = 65535000 DEFAULTPOMAPLEN = 1024000 KEYMAXPAGEPERCENT = 0.055 MAXPAGESZ = 655350 MINIDXDATANUMS = 2 DATAMAXPAGEPERCENT = 0.11 MAXIDXDATANUMS = 1000 MAXUINT64 = ^uint64(0) MINDATASZ = NUDECSLEN + 25 SPIRESIZE = 5120000 MINTNLEN = 1 ISSPIRE = -3 ISLEAF = -1 ISOVERLEAF = -2 UNKONWLEVEL = -4 BIGDATARETURN = -5 NOTLEAFRETURN = -6 RETURNNOOVERs = -7 MAXALLOCSZ = 0x7FFFFFFF LRUTIME = 1 * time.Second TKSTIME = 600 * time.Second DEFAULTPAGESIE = 8192 )
const ( // preset chunk index PARENT = iota LEFT RIGHT CHUNKINDEXIGNORE // Ignored index: chunk parent left right SPIREI8SINDEXIGNORE = 1 // Ignored index: ISSPIRE max level I8SINDEXIGNORE = 1 // Ignored index: level //must or should avoid uint64 key, should use []byte replace UI64SINDEXIGNORE = 2 // createts,lastts(exclude spire) UI64SINDEXIGNORE4NUMBERED = 4 // Ignored index: autoid pageid, when key is uint64, indexes must be ignored UI64SINDEXIGNORE4NONNUMBERED = 3 // Ignored index: total, when key is uint64, total/entry indexes must be ignored,exclude spire )
const ( GETEQUAL = 0x0001 GETCONTAIN = 0x0002 GETPREFIX = 0x0004 GETSUFFIX = 0x0008 )
const ( CFREEINS = 1 CFREEDEL = 2 CFREEGET1 = 3 CFREEGETALL = 4 CFREE4DROP = 5 )
const ( JSONDBUSEOPS = "use" JSONDBCLOSEOPS = "close" JSONDBFIELD = "db" JSONDBREMOTELOGFIELD = "remotelog" JSONDBREADONLYFIELD = "readonly" JSONDBOWNERUSRFIELD = "usr" JSONDBOWNERPWDFIELD = "pwd" )
use Db: {"use":{"db":"test","remotelog":"127.0.0.1:9527","readonly":false,"usr":"resob","pwd":"jsonany"}} close Db: {"close":{"db":"test"}}
const ( DEFAULTDTATPATH = "./data/" DEFAULTBINLOGPATH = "./binlog/" )
const ( DEFAULTDBOWNER = "resob" DEFAULTDBOWNERPWD = "jsonany" )
const ( JSONDTDATA = "data" JSONDTPUTOPS = "put" JSONDTSETOPS = "set" JSONDTGETOPS = "get" JSONDTUPDOPS = "upd" JSONDTDELOPS = "del" JSONDTKEY = "key" JSONDTTN = "tn" JSONRESULTSPAGEOPS = "page" JSONRESULTSPAGENEXT = "next" JSONRESULTSPAGEPREV = "prev" JSONRESULTSSETPAGESHOULDHAS = "shouldhas" JSONDBSPGETOPS = "showdbs" JSONDBSPIREGETOPS = "showdts" JSONDBUPDATEPWD = "updpwd" )
const ( DEFAULTEMBEDSPIRESIZE = 512000 DEFAULTJSONPAGESIZE = 16384 )
const ( I64KEYUNIQUESET = 1 F64KEYUNIQUESET = 1.1 I64KEYDEFAULT = I64KEY | NOSERIAL F64KEYDEFAULT = F64KEY | NOSERIAL I64KEYUNIQUE = I64KEY | NOSERIAL | UNIQUE F64KEYUNIQUE = F64KEY | NOSERIAL | UNIQUE BSKEYDEFAULT = BSKEY | Null | NOSERIAL STRKEYNOTNULLSET = "!" STRKEYUNIQUESET = "u" STRKEYUNIQUENOTNULLSET = "v" STRKEYDEFAULT = STRKEY | Null | NOSERIAL STRKEYNOTNULL = STRKEY | NOSERIAL STRKEYUNIQUE = STRKEY | UNIQUE | Null | NOSERIAL STRKEYUNIQUENOTNULL = STRKEY | UNIQUE | NOSERIAL )
template:{"put":{"key":123456, tn":{"field0":num0,"field1":"str0","field2":true,"field3":{...}}}}} number field:1(1.1) unique, ,default: I64KEY|NOSERIAL, F64KEY|NOSERIAL string field:"", demonstrate string field can be null,!"" not null,"u" ,default: STRKEY|Null|NOSERIAL other type field: BSKEY|Null|NOSERIAL
const ( FindBegin = 0x0001 //{ FindEnd = 0x0002 //} FindG = 0x0004 //> FindGE = 0x0008 //>= FindE = 0x0010 //= FindL = 0x0020 //< FindLE = 0x0040 //<= FindNE = 0x0080 //!= FindLike = 0x0100 //~ FindComma = 0x0200 //, comma in a finding-wanted string FindNull = 0x0400 //null field for a finding-key FindEOF = 0x0800 //EOF FindAny = 0x1000 //all:* FindValueStr = 0x2000 //str value for a finding-key FindValueNum = 0x4000 //num value for a finding-key FindValueTrue = 0x8000 //true value for a finding-key FindValueFalse = 0x10000 //false value for a finding-key )
tokens of a get-json parser
const ( ResultBegin = 0x0001 //{ ResultEnd = 0x0002 //} ResultEOF = 0x0004 //EOF ResultFieldStr = 0x0008 //result field in a result-wanted string ResultComma = 0x0010 //comma in a result-wanted string ResultStar = 0x0020 // * )
const ( JsonObjStart = 0x0001 JsonObjEnd = 0x0002 JsonArrStart = 0x0004 JsonArrEnd = 0x0008 JsonNULL = 0x0010 JsonNum = 0x0020 JsonStr = 0x0040 JsonField = 0x0080 JsonColon = 0x0100 JsonComma = 0x0200 JsonTrue = 0x0400 JsonFalse = 0x0800 JsonBraceBegin = 0x1000 JsonBraceEnd = 0x2000 JsonSameType = 0x4000 JsonEOF = 0x8000 JsonStrField = 0x10000 JsonObjField = 0x20000 JsonArrField = 0x40000 JsonAnyField = 0x80000 JsonNumField = 0x100000 JsonBoolField = 0x200000 JsonArrStr = 0x400000 JsonArrNum = 0x800000 JsonArrTrue = 0x1000000 JsonArrFalse = 0x2000000 JsonArrNULL = 0x4000000 JsonBracketBegin = 0x8000000 JsonBracketEnd = 0x10000000 )
this is a quick json parser parser json to a BsTr struct the flow by using the parse: var jstr JsonParser--jstr.SetReader(s)--jstr.Tokening()--jstr.FindNormalGrammaError()-- ts := jstr.GetTokens()--jstr.DissambleObj(ts[0], 1, len(ts))--jstr.CheckArrTypeRoute()--jstr.GetJsonKvs()
const ( PUTJSON = 0x0001 GETJSON = 0x0002 SETTMPL = 0x0004 )
flag of PUTJSON and GETJSON used in GetJsonKvs
const ( MILISHIFT = 17 RSHIFT = 12 SEQSHIFT = 0 MILIMASK = 0x7FFFFFFFFFFE0000 SEQMASK = 0x0000000000000FFF RMASK = 0x000000000001F000 RMAX = 0x001F )
const ( RandomSEQONE = 0x0010000000000000 RandomMILISHIFT = 23 RandomRSHIFT = 41 RandomSEQSHIFT = 52 RandomMILIMASK = 0x000001FFFFFFFFFF RandomMAXMASK = 0x7FFFFE0000000000 RandomSEQMASK = 0x7FF0000000000000 RandomRMASK = 0x000FFE0000000000 RandomRMAX = 0x0FFE RandomSEQMAX = 0x7FF )
const (
DEFAULTPAGESHOULDHAS = 10 // the default items of a page had
)
Variables ¶
var ( ErrReadOnly = errors.New("!w") ErrTypeAssert = errors.New("!typeAssertion") ErrKeyEmbebedTn = errors.New("embebed:STRKEY||I64KEY") ErrPage4EmbededFull = errors.New("embebed:full") ErrNotInited = errors.New("embeded:!inited") ErrWanderHalfWay = errors.New("wander:halfway") ErrSomeStartFirst = errors.New("SomeStart-Some") ErrNotNeedWander = errors.New("wander:no") ErrGramma = errors.New("!gramma") ErrInMultiThreadEnv = errors.New("!multithrea") ErrInSingleThreadEnv = errors.New("!singlethread") ErrFreetreetnOrCharnotpermit = errors.New("!create") ErrTnNotExist = errors.New("tn:!Exist") ErrBusy = errors.New("busy") ErrRegexpdismatch = errors.New("!regexp") ErrZouguolen = errors.New("!pastlen") ErrNonids = errors.New("!nonids") ErrNidsdismatch = errors.New("regexp:!nids") ErrCoexlezero = errors.New("!qorindex") ErrIndexout = errors.New("!index") ErrKeynullornonids = errors.New("!key|nonids") ErrDeleted = errors.New("!del") ErrBigbigdata = errors.New("!data") ErrCheckflagandlenfalse = errors.New("!flagAndlen") ErrChecklenfalse = errors.New("!CheckLen") ErrCorrupt0 = errors.New("0:!data") ErrCorrupt1 = errors.New("1:!data") ErrRbsdoublenil = errors.New("!!") ErrLensz = errors.New("!len|MAXSIZE") ErrPtrneeded = errors.New("!ptr") ErrKeynotexist = errors.New("!existed") ErrNotsupportedtype = errors.New("!type") ErrNotfound = errors.New("!found") ErrNotsupportedkey = errors.New("!keytype") ErrNotcontain = errors.New("!result") ErrSpirefull = errors.New("spire:full") ErrFlagmismatch = errors.New("!flag") ErrCsnotempty = errors.New("!empty") ErrFatal = errors.New("fatal") ErrInited = errors.New("inited") ErrChunknilorempty = errors.New("nil|empty") ErrPutchunkfailed = errors.New("failed") ErrUnknown = errors.New("unknown") ErrUniquenull = errors.New("UNIQUE<>Null") ErrNotSerialData = errors.New("!serial") ErrNoserialdata = errors.New("![]byte") ErrFlagkeydismatch = errors.New("!match:flag@key") ErrFlagdismatch = errors.New("!flag") ErrPropablyspirefull = errors.New("full|unknown") ErrBigmodedata = errors.New("!Big") ErrOps = errors.New("!ops") ErrOpsdismatchflag = errors.New("!ops@flag") ErrBigdata = errors.New("!big data") ErrKeyexisted = errors.New("existed") ErrBigkey = errors.New("!key") ErrCorruptpage = errors.New("!page") ErrIdxy = errors.New("IDxy:0") ErrNilin = errors.New("nil-in") ErrCaninterface = errors.New("!interface") ErrNotsupportedvalue = errors.New("!value") ErrNotspire = errors.New("!spire") ErrFlagmemcachecollide = errors.New("collide") ErrReadn = errors.New("!n") ErrOffset_1 = errors.New("-1:off") ErrDeleteFailed = errors.New("del:failed") ErrLength_0 = errors.New("len:0") ErrOffset_0 = errors.New("off:0") ErrReturnNil = errors.New("re:nil") ErrReturnFalse = errors.New("re:false") ErrSpire = errors.New("spire:error") ErrChanNotOK = errors.New("chan:!ok") ErrRouteHasFullOrWillFull = errors.New("route:full(will)") ErrFullOrWillFull = errors.New("full(will)") ErrDelUpdNotunique = errors.New("Del||Upd:UNIQUE") ErrTnnotexistedAndFlagnotSupportCreateTn = errors.New("!Tn!flag") )
Functions ¶
func AnyEKeySearch ¶
func AnyGCKeySearch ¶
func AnyGEKeySearch ¶
func AnyGKeySearch ¶
func AnyGPKeySearch ¶
func AnyGSKeySearch ¶
func AnyLEKeySearch ¶
func AnyLKeySearch ¶
func BsTrFileServ ¶
BsTrFileServ starts a remote server for filing a Bstr by channel request in i_BsTrstruct_ffunc.go
func ChanIsClosed ¶
func CloseDb ¶
func CloseDb(cdparams *DbspCloseDbParams) error
func CloseDb0 ¶
func CloseDb0(cdparams *DbspCloseDbParams0) error
func FcdNoR ¶
FcdNoR deletes a Bstr by a channel requset with no return Donot consider success or not
func FcdNoRRe ¶
FcdNoRRe deletes a Bstr from a net.Conn by a channel request Donot consider success or not
func FcmNoR ¶
Fcm puts a modified Bstr to io by a channel request with no return Donot consider success or not
func FcmNoRRe ¶
FcmNoRRe puts a modified Bstr to a net.Conn by a channel requset Donot consider success or not
func FcwNoR ¶
FcwNoR puts a Bstr to io by a channel request with no return Donot consider success or not
func FileIsReadOnly ¶
func FreeBsTrtree ¶
should not permit read
func FreeSpire ¶
func FreeSpire(spirep **BsTr)
FreeSpire will set spire to nil will destroy the BsTr tree must be used after End
func FreeTn ¶
func FreeTn(et **BsTr)
FreeTn will destroy the sub BsTr tree of tn without destroying the entry itself must use carefully in multithread env because of writing-to-writing collision carefully*********************************************** TODO: should refuse put and delete __global_tn_conc_map__/__global_pointer_offset_map__ related with the tn
func GCKeySearch ¶
Add: 20231026 GCKeySearch ruled by containing with sorted data
func GEKeySearch ¶
func GKeySearch ¶
func GPKeySearch ¶
GPKeySearch ruled by prefix with sorted data
func GSKeySearch ¶
GSKeySearch ruled by suffix with sorted data
func HttpCenterJsonEngine ¶
func HttpCenterJsonEngine(dep_inject *DepInject, dbsp *BsTr, dbspf *os.File, jdb *JsonDb, re_addr string, s string, notnet_jr *JsonResults) (*JsonDb, *JsonResults, string, error)
HttpCenterJsonEngine process json request from http for operating the JsonDb {"showdbs":""}
func IDxyl ¶
IDxyl is a snowflake algoithm for generating ID return seq==-1 demonstrate 69 years passed
func Intersection ¶
func JiSuanJieGouTiRealLen ¶
JiSuanJieGouTiRealLen computes the real size of Bstr struct The real size is different from the length or the size that will be writen to io
func KeyContain ¶
Revise: 20231026 KeyContain returns 0 or 1, be true,or else <0, be false
func KeyPrefixBi ¶
KeyPrefixBi returns 1, be true,or else <0, be false
func KeyPrefixLi ¶
KeyPrefixLi returns 1, be true,or else <0, be false
func KeySuffixBi ¶
KeySuffixBi returns 1, be true,or else <0, be false
func KeySuffixLi ¶
KeySuffixLi returns 1, be true,or else <0, be false
func LEKeySearch ¶
func LKeySearch ¶
func LevenShtein ¶
func LevenShtein[T StringOrBytesKey](r, t T, inscost, delcost, repcost int) int
func LocalCenterJsonEngine ¶
func LocalCenterJsonEngine(dbsp *BsTr, dbspf *os.File, jdb *JsonDb, s string, jr *JsonResults) (*JsonDb, *JsonResults, string, error)
LocalCenterJsonEngine process json command for operating the JsonDb when use the package in local
func ModifyDbspUsrPwd ¶
should only used in single thread, and in db closed condition
func RandomIDxy ¶
RandomIDxy is a algoithm for generating random ID
func Reverse2Dss ¶
func TintersectionT ¶
func TintersectionT[T KeyType](minArg []T, args ...[][]T) []T
Types ¶
type BsTr ¶
type BsTr struct {
// contains filtered or unexported fields
}
BstrTree input. BsTr implements container for an data-takein object and tree for caching or saving data. BsTr has two mode: normal and nonids. Nonids mode: the id,field,description parameter of base Put* method should be empty, e.g. PutInt64(345345435, "","","").
func Fcr ¶
use channel, not use mutex ikf.go channel file Fcr gets a Bstr from offset by a channel request
func GetFromBufio ¶
GetFromBufio gets a Bstr struct from bufio
func GetFromBytes ¶
GetFromBytes gets a Bstr struct from []byte
func GetFromBytesByBufio ¶
GetFromBytesByBufio gets a Bstr struct from []byte using bufio
func GetFromFile ¶
GetFromFile gets a Bstr struct from io loop get often, should seek firstly
func GetFromFileOff ¶
GetFromFileOff gets a Bstr struct from offset
func GetHeadAndTailFromFileOff ¶
GetHeadAndTailFromFileOff gets Bstr head and tail from io
func GetHeadFromBufio ¶
GetHeadFromBufio gets the head of Bstr from bufio
func GetHeadFromBytes ¶
GetHeadFromBytes gets the head of Bstr from []byte
func GetHeadFromFile ¶
GetHeadFromFile gets Bstr head from file must seek first
func GetHeadFromFileOff ¶
GetHeadFromFileOff gets Bstr head from offset
func Replay ¶
func Replay(oldf, f, oldbinlogf, binlogf *os.File, cif CompressIf) *BsTr
Replay restructs Bstr tree form binlog
func (*BsTr) Assemble ¶
Assemble implements parser a BsTr datastruct to a JsonToken tree when using with the method, the BsTr must be a json processed with DissembleObj firstly, and after call ToBsTr successfully
func (*BsTr) AssembleBoolJsonTokenTree ¶
AssembleStrJsonTokenTree assemble a Jsontoken tree for a BsTr embeded-type bools only support beginning of letters IDs or the BsTr datastruct of jsons that begin with object, not array or else, an unforeseen result will be occured
func (*BsTr) AssembleF64JsonTokenTree ¶
AssembleStrJsonTokenTree assemble a Jsontoken tree for a BsTr embeded-type float64s only support beginning of letters IDs or the BsTr datastruct of jsons that begin with object, not array or else, an unforeseen result will be occured
func (*BsTr) AssembleI64JsonTokenTree ¶
AssembleStrJsonTokenTree assemble a Jsontoken tree for a BsTr embeded-type int64s only support beginning of letters IDs or the BsTr datastruct of jsons that begin with object, not array or else, an unforeseen result will be occured
func (*BsTr) AssembleStrJsonTokenTree ¶
AssembleStrJsonTokenTree assemble a Jsontoken tree for a BsTr embeded-type strings only support beginning of letters IDs or the BsTr datastruct of jsons that begin with object, not array or else, an unforeseen result will be occured
func (*BsTr) CGet1 ¶
func (cs *BsTr) CGet1(tn string, key any, f *os.File) (*BsTr, int, []any, []bool, []int64, [][]byte, uint32)
Add:20231026
func (*BsTr) CTConlonComma ¶
func (*BsTr) CheckBTExisted ¶
CheckBTExisted checks bn and tn existed or not
func (*BsTr) CheckFlagAndLen ¶
CheckFlagAndLen checks flag and lens mapped flag
func (*BsTr) CheckLens ¶
CheckLens checks cs.lens Lens of a Bstr different from flag. Lens stats 15 types of golang, and also stats fields bsk/offs/tms of a Bstr
func (*BsTr) CheckType ¶
CheckType checks the data of all type existed in a Bstr or not with ID contained the parameter key
func (*BsTr) CheckTypeOne ¶
CheckTypeOne checks the data of a type existed in a Bstr or not with ID contained the parameter key
func (*BsTr) Close ¶
func (cs *BsTr) Close()
Close only close log_file and call sStopfFunc sStopfFunc will stop file operations with prefix Fc in iffunc.go _fFunc() in iffunc.go guarantee one file operation per request
func (*BsTr) Copy ¶
Copy copy Bstr deeply copy cs to dstcs only copy parts in length that write to a file or a net.Conn
func (*BsTr) Del4NotUnique ¶
func (cs *BsTr) Del4NotUnique(tn string, key any, tms4del int64, f, binlogf *os.File, logc net.Conn) (any, error)
Del4NotUnique delete data related with the key and timestamp in not-unique mode Add:20231026
func (*BsTr) DelByJsonParser ¶
func (embedspire *BsTr) DelByJsonParser(arr_or_obj JsonTokenType, jdt *JsonDt, tn, embedtn string, jp *JsonParser, f, binlogf *os.File, logc net.Conn) error
DelByJsonParser delete a json data in JsonDt by a jsonparser related with a json
func (*BsTr) DelJson ¶
func (embedspire *BsTr) DelJson(jdt *JsonDt, tn, embedtn, s string, f, binlogf *os.File, logc net.Conn) error
DelJson delete the json data that was put into a JsonDt with a unique key
func (*BsTr) DeleteWithDes ¶
DeleteWithDes deletes a elements in a Bstr with description(parameter key)
func (*BsTr) DeleteWithField ¶
DeleteWithField deletes a elements in a Bstr with field(parameter key)
func (*BsTr) DeleteWithID ¶
only can delete base type[BOOLSN-BYTESN] and in !noids mode DeleteWithID deletes a elements in a Bstr with ID(parameter key)
func (*BsTr) DeleteWithKeyOneType ¶
func (cs *BsTr) DeleteWithKeyOneType(l IntLens, key string, n_str *[]string, bsbase string, step IntLens, c bool) bool
DeleteWithKeyOneType deletes a elements with parameter key. Key can be ID, field or description
func (*BsTr) End ¶
End ends a round operaitons of a Bstr tree Can not be reentrant Must reboot the process for beginning Start bForcePersis only for MEM mode must restart process
func (*BsTr) End4Reentry ¶
End4Reentry clear global maps that must be cleared for reenter Can be reentrant spire will be readonly in memory, but can reenter for writing
func (*BsTr) End4ReentryAndPersis ¶
End4ReentryAndPersis implements End function without stop global goroutines but stop tn goroutines spire will be readonly in memory, but can reenter for writing
func (*BsTr) EndOnlyPersis ¶
EndOnlyPersis ends a round operaitons of a Bstr tree, but only persis Can be reentrant
func (*BsTr) FindContainsOrCompareDes ¶
FindContainsOrCompareField find the data of all type existed in a Bstr or not with description contained or equal the parameter key key can "" c true,not precise c false,precise
func (*BsTr) FindContainsOrCompareField ¶
FindContainsOrCompareField find the data of all type existed in a Bstr or not with field contained or equal the parameter key key can "" c true,not precise c false,precise
func (*BsTr) FindContainsOrCompareID ¶
FindContainsOrCompareID find the data of all type existed in a Bstr or not with ID contained or equal the parameter key key can "" c true,not precise c false,precise
func (*BsTr) FindContainsOrCompareKeyOneType ¶
func (cs *BsTr) FindContainsOrCompareKeyOneType(l IntLens, key string, n_str *[]string, bsbase string, re_cs *BsTr, step IntLens, c bool)
FindContainsOrCompareKeyOneType find the data of a type existed in a Bstr or not with ID/field/description contained or equal the parameter key The results stored in parameter re_cs
func (*BsTr) Flag ¶
Flag returns the flag of Bstr The flag is a uint16. Bit 1-15(bool int8 int16 int32 int64 .... string []byte, exclude base type rune) demonstrates base types of a Bstr included. Bit 16:delete flag.
func (*BsTr) Get ¶
func (cs *BsTr) Get(bPrecise bool, tn string, key any, f *os.File) ([]any, []bool, []int64, [][]byte, uint32)
Get gets data from a Bstr tree by a key precisely or not
func (*BsTr) Get1OrAll ¶
func (cs *BsTr) Get1OrAll(flag int8, tn string, key any, f *os.File) ([]any, []bool, []int64, [][]byte, uint32)
GetB gets data from a Bstr tree by a key with bit flag:GETEQUAL,GETCONTAIN,GETPREFIX,GETSUFFIX
func (*BsTr) GetAnyByKey ¶
************************************************** base Get* operations of Bstr struct different from Get operation of Bstr tree ************************************************** GetAnyByKey gets any data from a Bstr with a key. The key is a unique id generated by snowflake algorithm or els. key can "". When key is empty, only gets nonkey-related data.
func (*BsTr) GetBase ¶
GetBase gets data of 15 golang base type by ID when type is []byte, should copy return value
func (*BsTr) GetBaseReturnIndexAndSN ¶
GetBaseReturnIndexAndSN gets data index and bit-sn at flag of a Bstr by ID
func (*BsTr) GetBoolFieldDes ¶
GetBoolFieldDes get the filed and des by ID
func (*BsTr) GetChunksFromIgnoreIndex ¶
func (*BsTr) GetComplex128 ¶
func (cs *BsTr) GetComplex128(ID string) (*complex128, IntLens)
func (*BsTr) GetComplex128FieldDes ¶
func (*BsTr) GetComplex64FieldDes ¶
func (*BsTr) GetEmbedSpire ¶
GetEmbedSpire get the nested spire
func (*BsTr) GetFieldDes ¶
GetFieldDes gets field and description by ID
func (*BsTr) HaveComplex128 ¶
func (*BsTr) HaveComplex64 ¶
func (*BsTr) HaveFloat32 ¶
func (*BsTr) HaveFloat64 ¶
func (*BsTr) HaveUint16 ¶
func (*BsTr) HaveUint32 ¶
func (*BsTr) HaveUint64 ¶
func (*BsTr) InitPool ¶
InitPool init pools ,file write/read/stop chans and page size etc. for using Bstr Use Bstr, must call InitPool or InitPoolWithPageSz firstly
func (*BsTr) InitPoolWithPageSz ¶
InitPoolWithPageSz init pools ,file write/read/stop chans and page size etc. for using Bstr Use Bstr, must call InitPool or InitPoolWithPageSz firstly
func (*BsTr) InitWithLog ¶
InitWithLog inits a Bstr with runing log file Use Bstr: InitPool() firstly and then, Init*() usually *withlog* method should be called once
func (*BsTr) InitWithLogNonids ¶
InitWithLogNonids InitWithLog inits a Bstr with runing log file in Nonids mode *withlog* method should be called once for logging the running info
func (*BsTr) InitWithNonids ¶
Init inits a Bstr struct in Nonids mode bn,tn can be blank
func (*BsTr) InitWithoutBT ¶
Init inits a Bstr struct with blank bn and tn
func (*BsTr) IsEmptyFast ¶
IsEmptyFast judges a Bstr is empty or not
func (*BsTr) LeafIterNext ¶
func (*BsTr) LeafIterStart ¶
return keys,tmss,total,firstleaf,spr
func (*BsTr) Len ¶
be carafully------------------------------------------------------------------------------------------------------------------------------ Len implemets sort.Interface Len
func (*BsTr) Modify ¶
Modify modifies a Bstr in io success: return nil, failed: return error not save,cs.size initial =0 past_size is previos cs.size Modify() can replace Save() page_size:current size or a setted page size cs.size>cs.length modify cs.size<cs.lenght append
func (*BsTr) ModifyDeleteFlag ¶
ModifyDeleteFlag modifys the delete flag of a Bstr in file success: return nil, failed: return error
func (*BsTr) MultiEmbededStart ¶
func (cs *BsTr) MultiEmbededStart(size int64, offset int64, f *os.File, binlogf *os.File) (*BsTr, error)
MultiEmbededStart a round operations of a BsTr tree in embeded mode under multithread env
func (*BsTr) MultiEmbededStartAlreadyLoadedFromMem ¶
MultiEmbededStartAlreadyLoadedFromMem a round operations of a BsTr tree in embeded mode under multithread env the embed chunk had been loaded into mem
func (*BsTr) NiSetDeleteFlag ¶
func (cs *BsTr) NiSetDeleteFlag()
NiSetDeleteFlag sets non-delete flag
func (*BsTr) NidsIdSuffix ¶
func (*BsTr) NocheckPutBool ¶
NocheckPutBool do not check ID existed or not
func (*BsTr) NocheckPutBoolI ¶
func (*BsTr) NocheckPutBytes ¶
func (*BsTr) NocheckPutBytesI ¶
func (*BsTr) NocheckPutComplex128 ¶
func (cs *BsTr) NocheckPutComplex128(t complex128, ID, field, description string) error
func (*BsTr) NocheckPutComplex128I ¶
func (cs *BsTr) NocheckPutComplex128I(i int, t complex128, ID, field, description string) error
func (*BsTr) NocheckPutComplex64 ¶
func (*BsTr) NocheckPutComplex64I ¶
func (*BsTr) NocheckPutFloat32 ¶
func (*BsTr) NocheckPutFloat32I ¶
func (*BsTr) NocheckPutFloat64 ¶
func (*BsTr) NocheckPutFloat64I ¶
func (*BsTr) NocheckPutInt16 ¶
func (*BsTr) NocheckPutInt16I ¶
func (*BsTr) NocheckPutInt32 ¶
func (*BsTr) NocheckPutInt32I ¶
func (*BsTr) NocheckPutInt64 ¶
func (*BsTr) NocheckPutInt64I ¶
func (*BsTr) NocheckPutInt8 ¶
func (*BsTr) NocheckPutInt8I ¶
func (*BsTr) NocheckPutString ¶
func (*BsTr) NocheckPutStringI ¶
func (*BsTr) NocheckPutUint16 ¶
func (*BsTr) NocheckPutUint16I ¶
func (*BsTr) NocheckPutUint32 ¶
func (*BsTr) NocheckPutUint32I ¶
func (*BsTr) NocheckPutUint64 ¶
func (*BsTr) NocheckPutUint64I ¶
func (*BsTr) NocheckPutUint8 ¶
func (*BsTr) NocheckPutUint8I ¶
func (*BsTr) NocheckUpdBoolI ¶
func (*BsTr) NocheckUpdBytesI ¶
func (*BsTr) NocheckUpdComplex128I ¶
func (cs *BsTr) NocheckUpdComplex128I(i int, t complex128, ID, field, description string) error
func (*BsTr) NocheckUpdComplex64I ¶
func (*BsTr) NocheckUpdFloat32I ¶
func (*BsTr) NocheckUpdFloat64I ¶
func (*BsTr) NocheckUpdInt16I ¶
func (*BsTr) NocheckUpdInt32I ¶
func (*BsTr) NocheckUpdInt64I ¶
func (*BsTr) NocheckUpdInt8I ¶
func (*BsTr) NocheckUpdStringI ¶
func (*BsTr) NocheckUpdUint16I ¶
func (*BsTr) NocheckUpdUint32I ¶
func (*BsTr) NocheckUpdUint64I ¶
func (*BsTr) NocheckUpdUint8I ¶
func (*BsTr) OpenupSpace ¶
OpenupSpace openup space of cs.Size in io and get the offset of a Bstr in io
func (*BsTr) Print ¶
func (cs *BsTr) Print()
******************************************************************************************* Print prints a Bstr struct
func (*BsTr) Put ¶
func (cs *BsTr) Put(ops int8, tn string, key any, Dts any, tag string, f, binlogf *os.File, logc net.Conn, cif CompressIf, tms4notunique int64) (any, error)
Put puts data to a Bstr tree by a key. BstrTree Put, different from Put* operatiorns of Bstr struct. Support key of 5 types:string/[]byte/complex128/int64/float64. Only use channel and goroutines to guarantee thread safe. The BstrTree can wander between memory and disk.
**********************************************************
THE BSTRTREE CAN WANDER BETWEEN MEMORY AND DISK SUPPORT KEY OF 5 TYPES:STRING/[]BYTE/COMPLEX128/INT64/FLOAT64 DIFFERENCE BETWEEN MEM MODE AND NON-MEM MODE: NON-MEM MODE WRITE ALL OPERATION TO DISK, MEM MODE NOT. DO NOT RECOMMEND COMPRESS | BIG BECAUSE DATA WAS COMPRESSED, WILL MAY NOT SATISFY BIG MODE. UNIQUE: UNIQUE KEY STRKEY: STRING TYPE KEY NOSERIAL: NOT SERIALIZE DATA. SERIAL MODE: SERIALIZE DATA TO A BSTR STRUCT FIRSTLY. BIG: BIG DATA MODE FILEBIG: BIG DATA SAVE TO FILE, INCLUDE BIGDATA NOT USE BIG MODE. BE CAREFULLY, WHEN READ, MAYBE OOM. NUMBERED: SORTED DATA NO. COMPRESS: COMPRESS DATA NULLKEY: KEY IS NULL, NOT AVAILABLE CURRENTLY. I64KEY: INT64 KEY F64KEY: FLOAT64 KEY C128KEY: COMPLEX128 KEY BSKEY: []BYTE KEY NULL: KEY CAN NULL,NOT NULLKEY EMBEDED: EMBEDED MODE, A DB AS A KEY-DATA MEM: memory mode, collide with FILEBIG
----------------------------------------------------------- Example as StrKey composite:
UNIQUE|STRKEY|NOSERIAL UNIQUE|STRKEY|NOSERIAL|BIG UNIQUE|STRKEY UNIQUE|STRKEY|BIG UNIQUE|STRKEY|NOSERIAL|FILEBIG UNIQUE|STRKEY|NOSERIAL|BIG|FILEBIG UNIQUE|STRKEY|FILEBIG UNIQUE|STRKEY|BIG|FILEBIG STRKEY|NOSERIAL STRKEY|NOSERIAL|BIG STRKEY STRKEY|BIG STRKEY|NOSERIAL|FILEBIG STRKEY|NOSERIAL|BIG|FILEBIG STRKEY|FILEBIG STRKEY|BIG|FILEBIG NUMBERED|UNIQUE|STRKEY|NOSERIAL|BIG NUMBERED|UNIQUE|STRKEY NUMBERED|UNIQUE|STRKEY|BIG NUMBERED|UNIQUE|STRKEY|NOSERIAL|FILEBIG NUMBERED|UNIQUE|STRKEY|NOSERIAL|BIG|FILEBIG NUMBERED|UNIQUE|STRKEY|FILEBIG NUMBERED|UNIQUE|STRKEY|BIG|FILEBIG NUMBERED|STRKEY|NOSERIAL NUMBERED|STRKEY|NOSERIAL|BIG NUMBERED|STRKEY NUMBERED|STRKEY|BIG NUMBERED|STRKEY|NOSERIAL|FILEBIG NUMBERED|STRKEY|NOSERIAL|BIG|FILEBIG NUMBERED|STRKEY|FILEBIG NUMBERED|STRKEY|BIG|FILEBIG COMPRESS|UNIQUE|STRKEY|NOSERIAL COMPRESS|UNIQUE|STRKEY|NOSERIAL|BIG COMPRESS|UNIQUE|STRKEY COMPRESS|UNIQUE|STRKEY|BIG COMPRESS|UNIQUE|STRKEY|NOSERIAL|FILEBIG COMPRESS|UNIQUE|STRKEY|NOSERIAL|BIG|FILEBIG COMPRESS|UNIQUE|STRKEY|FILEBIG COMPRESS|UNIQUE|STRKEY|BIG|FILEBIG COMPRESS|STRKEY|NOSERIAL COMPRESS|STRKEY|NOSERIAL|BIG COMPRESS|STRKEY COMPRESS|STRKEY|BIG COMPRESS|STRKEY|NOSERIAL|FILEBIG COMPRESS|STRKEY|NOSERIAL|BIG|FILEBIG COMPRESS|STRKEY|FILEBIG COMPRESS|STRKEY|BIG|FILEBIG COMPRESS|NUMBERED|UNIQUE|STRKEY|NOSERIAL|BIG COMPRESS|NUMBERED|UNIQUE|STRKEY COMPRESS|NUMBERED|UNIQUE|STRKEY|BIG COMPRESS|NUMBERED|UNIQUE|STRKEY|NOSERIAL|FILEBIG COMPRESS|NUMBERED|UNIQUE|STRKEY|NOSERIAL|BIG|FILEBIG COMPRESS|NUMBERED|UNIQUE|STRKEY|FILEBIG COMPRESS|NUMBERED|UNIQUE|STRKEY|BIG|FILEBIG COMPRESS|NUMBERED|STRKEY|NOSERIAL COMPRESS|NUMBERED|STRKEY|NOSERIAL|BIG COMPRESS|NUMBERED|STRKEY COMPRESS|NUMBERED|STRKEY|BIG COMPRESS|NUMBERED|STRKEY|NOSERIAL|FILEBIG COMPRESS|NUMBERED|STRKEY|NOSERIAL|BIG|FILEBIG COMPRESS|NUMBERED|STRKEY|FILEBIG COMPRESS|NUMBERED|STRKEY|BIG|FILEBIG UNIQUE|STRKEY|NOSERIAL|EMBEDED ...
**********************************************************
Revise:20231026 add tms4notunique
func (*BsTr) PutAnyByKey ¶
func (cs *BsTr) PutAnyByKey(s any, fu_type_str string, tag string, key *string, inittm int64) (string, error)
PutAnyByKey can put any data to a Bstr struct support most data type: struct, map[base type]any ,slice and golang base type fu_type_str be empty best inittm used by generating key for parsing the data to original pattern example as follows: data:
type AUU struct { Ass [3]string `json:"auuuss"` Afff [3][2][1]float32 `json:"auuufff"` }
type UUU struct { Ass [3]string `json:"uuuss"` Afff [3][2][1]float32 `json:"uuufff"` Aam map[string]int `json:"uuuam"` Am map[string]map[int]int `json:"uuum"` Ac complex128 `json:"uuuc"` Puu *UU `json:"uu"` AUU }
type UU struct { Abool bool Ai8 int8 Ai16 int16 Ai32 int32 Ai64 int64 Ai int Aui8 uint8 Aui16 uint16 Aui32 uint32 Aui64 uint64 Aui uint As string Ab [][]byte `json:"b"` Ass [3]string `json:"ss"` Afff [3][2][1]float32 Aam map[string]int `json:"am"` Am map[string]map[int]int `json:"m"` Ac complex128 `json:"c"` Auuu UUU `json:"uuu"` }
m := make(map[string]map[int]int) mi := make(map[int]int) mo := make(map[int]int) m["roytoyi"] = mi m["poouyyy"] = mo mi[9] = 100 mo[10] = 1000 ms := make(map[string]int) ms["dfgdg"] = 100000
uu := UU{ true, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, "sdklfsdk", [][]byte{{0}, {1}, {1, 2, 3}, {4, 5, 6, 7, 8}}, [3]string{"55566", "3454", "234324"}, [3][2][1]float32{{{11}, {12}}, {{13}, {14}}, {{15}, {16}}}, ms, m, 23334343 + 45645456i, UUU{[3]string{"uuu55566", "uuu3454", "uuu234324"}, [3][2][1]float32{{{111}, {112}}, {{113}, {114}}, {{115}, {116}}}, ms, m, 111123334343 + 45645456i, nil, AUU{[3]string{"auuu55566", "auuu3454", "auuu234324"}, [3][2][1]float32{{{111}, {112}}, {{113}, {114}}, {{115}, {116}}}}}, }
PutAnyByKey result:
{false <nil> [] false false 2006 0 29969 6 6 [17 0 0] [] [] [] [15 0 0 16 0 0 16 0 0 16 0 0 14 0 0 21 0 2 24 0 24 24 0 24 26 0 5 29 0 27 29 0 27] [] [] [] [16 0 0 17 0 0 17 0 0 17 0 0 15 0 0] [] [22 0 0 22 0 0 22 0 0 22 0 0 22 0 0 22 0 0 27 0 6 27 0 6 27 0 6 27 0 6 27 0 6 27 0 6 31 0 7 31 0 7 31 0 7 31 0 7 31 0 7 31 0 7] [] [14 0 1 19 0 4] [14 0 0 17 0 2 17 0 2 17 0 2 22 0 5 22 0 5 22 0 5 26 0 6 26 0 6 26 0 6] [16 0 1 16 0 1 16 0 1 16 0 1] [8 5 4 6 8 7 9 9 8 10] [1 1 3 5] [] [true] [Abool:4eo0b7lgbnq ] [] [] [] [] [] []
[1 2 3 4 5 100000 100 1000 100000 100 1000] [Ai8:4eo0b7lgbnq Ai16:4eo0b7lgbnq Ai32:4eo0b7lgbnq Ai64:4eo0b7lgbnq Ai:4eo0b7lgbnq dfgdg:Aam:4eo0b7lgbnq am 9:roytoyi:Am:4eo0b7lgbnq m:map[string]map[int]int a:poouyyy:Am:4eo0b7lgbnq m:map[string]map[int]int dfgdg:Aam:Auuu:4eo0b7lgbnq uuuam 9:roytoyi:Am:Auuu:4eo0b7lgbnq uuum:map[string]map[int]int a:poouyyy:Am:Auuu:4eo0b7lgbnq uuum:map[string]map[int]int] [] [] [] [] [] [] [6 7 8 9 10] [Aui8:4eo0b7lgbnq Aui16:4eo0b7lgbnq Aui32:4eo0b7lgbnq Aui64:4eo0b7lgbnq Aui:4eo0b7lgbnq ] [] [] [11 12 13 14 15 16 111 112 113 114 115 116 111 112 113 114 115 116] [0:0:0:Afff:4eo0b7lgbnq 0:1:0:Afff:4eo0b7lgbnq 0:0:1:Afff:4eo0b7lgbnq 0:1:1:Afff:4eo0b7lgbnq 0:0:2:Afff:4eo0b7lgbnq 0:1:2:Afff:4eo0b7lgbnq 0:0:0:Afff:Auuu:4eo0b7lgbnq uuufff 0:1:0:Afff:Auuu:4eo0b7lgbnq uuufff 0:0:1:Afff:Auuu:4eo0b7lgbnq uuufff 0:1:1:Afff:Auuu:4eo0b7lgbnq uuufff 0:0:2:Afff:Auuu:4eo0b7lgbnq uuufff 0:1:2:Afff:Auuu:4eo0b7lgbnq uuufff 0:0:0:Afff:AUU:Auuu:4eo0b7lgbnq auuufff 0:1:0:Afff:AUU:Auuu:4eo0b7lgbnq auuufff 0:0:1:Afff:AUU:Auuu:4eo0b7lgbnq auuufff 0:1:1:Afff:AUU:Auuu:4eo0b7lgbnq auuufff 0:0:2:Afff:AUU:Auuu:4eo0b7lgbnq auuufff 0:1:2:Afff:AUU:Auuu:4eo0b7lgbnq auuufff] [] []
[(2.3334343e+07+4.5645456e+07i) (1.11123334343e+11+4.5645456e+07i)] [Ac:4eo0b7lgbnq c Ac:Auuu:4eo0b7lgbnq uuuc] [sdklfsdk 55566 3454 234324 uuu55566 uuu3454 uuu234324 auuu55566 auuu3454 auuu234324] [As:4eo0b7lgbnq 0:Ass:4eo0b7lgbnq ss 1:Ass:4eo0b7lgbnq ss 2:Ass:4eo0b7lgbnq ss 0:Ass:Auuu:4eo0b7lgbnq uuuss 1:Ass:Auuu:4eo0b7lgbnq uuuss 2:Ass:Auuu:4eo0b7lgbnq uuuss 0:Ass:AUU:Auuu:4eo0b7lgbnq auuuss 1:Ass:AUU:Auuu:4eo0b7lgbnq auuuss 2:Ass:AUU:Auuu:4eo0b7lgbnq auuuss] [[0] [1] [1 2 3] [4 5 6 7 8]] [0:Ab:4eo0b7lgbnq b 1:Ab:4eo0b7lgbnq b 2:Ab:4eo0b7lgbnq b 3:Ab:4eo0b7lgbnq b] [] [] [] 你好 世界 -1 [1 0 0 0 11 0 0 0 5 0 18 0 2 10 4 0 0 0]}
please ckeck the example in i_test.go
func (*BsTr) PutByJsonParser ¶
func (embedspire *BsTr) PutByJsonParser(arr_or_obj JsonTokenType, jdt *JsonDt, tn, embedtn string, jp *JsonParser, f, binlogf *os.File, logc net.Conn, cif CompressIf) error
PutByJsonParser put a json data into tn, and create indexer with fields by a jsonparser related with the json TODO: solve the problem of additial unique field except key, should use a error chan arr for checking, and rollback
func (*BsTr) PutComplex128 ¶
func (cs *BsTr) PutComplex128(t complex128, ID, field, description string) error
func (*BsTr) PutComplex128I ¶
func (cs *BsTr) PutComplex128I(i int, t complex128, ID, field, description string) error
func (*BsTr) PutComplex64 ¶
func (*BsTr) PutComplex64I ¶
func (*BsTr) PutFloat32 ¶
func (*BsTr) PutFloat32I ¶
func (*BsTr) PutFloat64 ¶
func (*BsTr) PutFloat64I ¶
func (*BsTr) PutJson ¶
func (embedspire *BsTr) PutJson(jdt *JsonDt, tn, embedtn, s string, f, binlogf *os.File, logc net.Conn, cif CompressIf) error
PutJson put a json data into tn, and create indexer with fields TODO: put error roolback
func (*BsTr) PutStringI ¶
func (*BsTr) PutUint16I ¶
func (*BsTr) PutUint32I ¶
func (*BsTr) PutUint64I ¶
func (*BsTr) RecomputeLen ¶
RecomputeLen recomputes cs.length for write to io
func (*BsTr) ResetRetainNonids ¶
func (cs *BsTr) ResetRetainNonids()
Reset reset a Bstr but retains nonids
func (*BsTr) ReturnGlobalPageSz ¶
ReturnGlobalPageSz returns page size The page size not used by Bstr tree
func (*BsTr) ReturnGlobalRdPool ¶
ReturnGlobalRdPool returns the __global_read_pool__ for file reading
func (*BsTr) ReturnGlobalWrPool ¶
ReturnGlobalWrPool returns the __global_write_pool__ for file writing
func (*BsTr) Rollback ¶
when put failed, Roolback deletes some elements started from i for some type that has been put
func (*BsTr) SaveBufio ¶
SaveBufio write cs.length in cs.size to io But not openup space override write, use SaveBufio
func (*BsTr) SingleEmbededStart ¶
SingleEmbededStart a round operations of a BsTr tree in embeded mode under singlethread env the embed spire chunk should not be loaded into mem
func (*BsTr) SingleEmbededStartAlreadyLoadedFromMem ¶
SingleEmbededStart a round operations of a BsTr tree in embeded mode under singlethread env the embed spire chunk was loaded into mem
func (*BsTr) SingleEnd ¶
SinlgeEnd end related with SingleStart with single thread mode, equivalent with End in multithread mode
func (*BsTr) SinglePut ¶
func (cs *BsTr) SinglePut(ops int8, tn string, key any, Dts any, tag string, f, binlogf *os.File, logc net.Conn, cif CompressIf, tms4notunique int64) (any, error)
Real Put operation Revise:20231026 add tms4notunique TODO: singlea for singlethread
func (*BsTr) SingleStart ¶
SingleStart a round operations of a BsTr tree in single thread mode with a file,example as a binlog file if checkpoint is true, __global_start_once__ not Do otherwise, start will fail. Because the code "go _groutine_spireFunc()" will not run no TickSave only go left/right/parent/i routines
func (*BsTr) Start ¶
Start starts a round operaitons of a Bstr tree initialize spire and entries c4wr must init
func (*BsTr) ToJsonToken ¶
func (*BsTr) UpdByJsonParser ¶
func (embedspire *BsTr) UpdByJsonParser(arr_or_obj JsonTokenType, jdt *JsonDt, tn, embedtn string, jp *JsonParser, f, binlogf *os.File, logc net.Conn, cif CompressIf) error
UpdByJsonParser update a json data in JsonDt, and update indexers by a jsonparser related with a json
func (*BsTr) UpdJson ¶
func (embedspire *BsTr) UpdJson(jdt *JsonDt, tn, embedtn, s string, f, binlogf *os.File, logc net.Conn, cif CompressIf) error
UpdJson update a json data in JsonDt, and update indexers
func (*BsTr) UpdateBaseI ¶
func (*BsTr) UpdateBoolI ¶
func (*BsTr) UpdateBytesI ¶
func (*BsTr) UpdateComplex128I ¶
func (cs *BsTr) UpdateComplex128I(i int, t complex128, ID, field, description string) error
func (*BsTr) UpdateComplex64I ¶
func (*BsTr) UpdateFloat32I ¶
func (*BsTr) UpdateFloat64I ¶
func (*BsTr) UpdateInt16I ¶
func (*BsTr) UpdateInt32I ¶
func (*BsTr) UpdateInt64I ¶
func (*BsTr) UpdateInt8I ¶
func (*BsTr) UpdateIntI ¶
func (*BsTr) UpdateOffset ¶
UpdateOffset updates the offset of a Bstr writen in file
func (*BsTr) UpdateSize ¶
UpdateSize updates the size of a Bstr sz<0,return false sz>=0,but <cs.len,and cs.size<cs.len,cs.size=cs.len,return true other:cs.size=sz,return true
func (*BsTr) UpdateStringI ¶
func (*BsTr) UpdateUint16I ¶
func (*BsTr) UpdateUint32I ¶
func (*BsTr) UpdateUint64I ¶
func (*BsTr) UpdateUint8I ¶
func (*BsTr) UpdateUintI ¶
func (*BsTr) WeiInitSaveQian ¶
WeiInitSaveQian processes: if Bstr not be init, but want save, need call WeiInitSaveQian
type ChildIndexInParentWithAdapter ¶
type ChildIndexInParentWithAdapter func(*BsTr, *BsTr, TreeNodeOrLeafIsEmptyAdapter) int
type CompressIf ¶
CompressIf is a data compressing interface
type ComputeFreeNumsAdapter ¶
type DbspCloseDbParams ¶
type DbspCloseDbParams struct {
// contains filtered or unexported fields
}
type DbspCloseDbParams0 ¶
type DbspCloseDbParams0 struct {
// contains filtered or unexported fields
}
type DbspUseDbParams ¶
type DbspUseDbParams struct {
// contains filtered or unexported fields
}
type DbspUseDbParams0 ¶
type DbspUseDbParams0 struct {
// contains filtered or unexported fields
}
type DbspUseDbRe ¶
func UseDb ¶
func UseDb(udparams *DbspUseDbParams) *DbspUseDbRe
func UseDb0 ¶
func UseDb0(udparams *DbspUseDbParams0) *DbspUseDbRe
type DefaultCIf ¶
type DefaultCIf struct{}
func (DefaultCIf) C ¶
func (dc DefaultCIf) C(d []byte) []byte
C implements a default compress method
func (DefaultCIf) D ¶
func (dc DefaultCIf) D(d []byte) []byte
D implements a default decompress method
type DefaultJsonDbAuth ¶
type DefaultJsonDbAuth struct{}
func (*DefaultJsonDbAuth) Auth ¶
func (djdba *DefaultJsonDbAuth) Auth(dbsp *BsTr, usr string, pwd string) JsonDbSessionIf
type DefaultJsonDbSession ¶
type DefaultJsonDbSession struct {
// contains filtered or unexported fields
}
func (*DefaultJsonDbSession) GetPwd ¶
func (djdbs *DefaultJsonDbSession) GetPwd() string
func (*DefaultJsonDbSession) GetUsr ¶
func (djdbs *DefaultJsonDbSession) GetUsr() string
type FindConditionParser ¶
type FindConditionParser struct { JsonParser //composite normal json parser struct // contains filtered or unexported fields }
FindConditionParser defien a parser struct for finding-condition
func (*FindConditionParser) DissembleObj ¶
func (fcr *FindConditionParser) DissembleObj(parent *FindConditonToken, starti, end int) error
DissembleObj assemble a token tree in a same FindConditonToken pointer slice
func (*FindConditionParser) FcTokening ¶
func (fcr *FindConditionParser) FcTokening() error
FcTokening get tokens of a finding-conditiong string
func (*FindConditionParser) FindGetJsonSpecialGrammaError ¶
func (fcr *FindConditionParser) FindGetJsonSpecialGrammaError() (int, int, string, error)
FindGetJsonSpecialGrammaError detect special gramma errors with __global_FindJsonToken_specialexpect
func (*FindConditionParser) FindGetJsonSpecialGrammaError2 ¶
func (fcr *FindConditionParser) FindGetJsonSpecialGrammaError2() (int, int, string, error)
FindGetJsonSpecialGrammaError2 detect special gramma errors with __global_FindJsonToken_specialexpect2
func (*FindConditionParser) GetAFcToken ¶
func (fcr *FindConditionParser) GetAFcToken() (*FindConditonToken, error)
StartGetAFcToken gets a token of a finding-conditiong string
func (*FindConditionParser) GetString ¶
func (fcr *FindConditionParser) GetString() (*FindConditonToken, error)
GetString processes the special stringwith “ of a finding-string, like "{>=`dfdf`}" different from the GetString method in a json parser
func (*FindConditionParser) SetReader ¶
func (fcr *FindConditionParser) SetReader(s string)
SetReader set the string reader and []*FindConditonToken with the composite normal json parser struct
func (*FindConditionParser) StartGetAFcToken ¶
func (fcr *FindConditionParser) StartGetAFcToken() (*FindConditonToken, error)
StartGetAFcToken start tokening for a finding-conditiong string
type FindConditiondTokenType ¶
type FindConditiondTokenType = int
FindConditiondTokenType defination
type FindConditonToken ¶
type FindConditonToken struct {
// contains filtered or unexported fields
}
FindConditonToken define a struct of token for finding-condition
type FindParams ¶
type FindParams struct { SomeStart func(*FindParams, *os.File) *FindParams // start func for getting page Some func(*FindParams) (*FindParams, *BsTr) // getting the wanted page SomeKeys func(*FindParams) (*FindParams, []any) // contains filtered or unexported fields }
func (*FindParams) Init ¶
func (fps *FindParams) Init(tn string, spire *BsTr, f *os.File) *FindParams
Init initializes the base params of a FindParams struct
func (*FindParams) SetFindTypeAndKey ¶
func (fps *FindParams) SetFindTypeAndKey(findtype int, key0, key1 any) *FindParams
SetFindTypeAndKey set the find-type, key0 and key1 for finding
func (*FindParams) SetOrientation ¶
func (fps *FindParams) SetOrientation(orientation bool) *FindParams
SetOrientation set the orientation for turning page
func (*FindParams) SetPageShouldHas ¶
func (fps *FindParams) SetPageShouldHas(pageshouldhas int) *FindParams
SetPageShouldHas reset pageshouldhas of the page and reset pageNO-chunk map if the pageshouldhas for setting less than DEFAULTPAGESHOULDHAS, will use default
func (*FindParams) SetSomeFunc ¶
func (fps *FindParams) SetSomeFunc(some FindParamsSome) *FindParams
SetSomeFunc set the Some func of a FindParams struct
func (*FindParams) SetSomeKeysFunc ¶
func (fps *FindParams) SetSomeKeysFunc(somekeys FindParamsSomeKeys) *FindParams
SetSomeKeysFunc set the SomeOnlyKeys func of a FindParams struct
func (*FindParams) SetSomeStartFunc ¶
func (fps *FindParams) SetSomeStartFunc(somestart FindParamsSomeStart) *FindParams
SetSomeStartFunc set the SomeStart func of a FindParams struct
func (*FindParams) SetWantedPage ¶
func (fps *FindParams) SetWantedPage(wantedpageNO int) *FindParams
SetWantedPage set destination pageNO
type FindParamsSome ¶
type FindParamsSome func(*FindParams) (*FindParams, *BsTr)
FindParamsSome declare the Some func for finding
type FindParamsSomeKeys ¶
type FindParamsSomeKeys func(*FindParams) (*FindParams, []any)
type FindParamsSomeStart ¶
type FindParamsSomeStart func(*FindParams, *os.File) *FindParams
FindParamsSomeStart declare the SomeStart func for finding
type FreetreeReturn ¶
type FreetreeReturn struct {
// contains filtered or unexported fields
}
FreetreeReturn define a result struct for CFREEGET1 or CFREEGETALL by __global_freetreeRe_chan__ return the results must not be used, it will be deadlock
type GetWrLeaf4SplitAdapter ¶
type GetWrLeaf4SplitAdapter func(*BsTr, *SpireReturn, *os.File)
type HttpAuthIf ¶
type HttpAuthIf interface {
Auth(string, string) HttpSessionIf
}
type HttpSessionIf ¶
type IntNidslen ¶
type IntNidslen int8
type JsonDb ¶
type JsonDb struct {
Dbsp, Spire, Ckpcs *BsTr
Dataf_name, Binlogf_name, Logc_ip_port string
Dbspf, Dataf, Binlogf *os.File
Logc net.Conn
Jdts sync.Map
Session JsonDbSessionIf
}
func JsonDbInit ¶
func JsonDbInit(W_R bool, dbsp *BsTr, dbspf *os.File, dataf_name, logc_ip_port string, auth JsonDbAuthIf, usr, pwd string) *JsonDb
use Db(only 1 fixed formats):
{"use":{"db":"test","remotelog":"127.0.0.1:9527","readonly":false,"usr":"resob","pwd":"jsonany"}} different JsonDb must use different user name
type JsonDbAuthIf ¶
type JsonDbAuthIf interface {
Auth(*BsTr, string, string) JsonDbSessionIf
}
type JsonDbSessionIf ¶
type JsonDt ¶
type JsonDt struct {
// contains filtered or unexported fields
}
func (*JsonDt) DelByJsonParser ¶
func (jdt *JsonDt) DelByJsonParser(arr_or_obj JsonTokenType, jstr *JsonParser) error
func (*JsonDt) GetEmbedSpire ¶
func (*JsonDt) Put ¶
Put implements put one or more json into a BsTr tree withkey as follow: i64key format json: {"put":{"key":1234565,"tn":{"field0":num0,"field1":"str0","field2":true,"field3":1234}}} or strkey format json: {"put":{"key":"1234565","tn":{"field0":num0,"field1":"str0","field2":true,"field3":4356}}} non-key as follow: system will generate a auto-inc-int64 key(or tostring) with tn flag {"put":{"tn":{"field0":num0,"field1":"str0","field2":true,"field3":345}}} bat Put: {"put":[{"key":1234565,"tn":{"field0":num0,"field1":"str0","field2":true,"field3":1234}},{"key":343453,"tn":{"field0":num0,"field1":"str0","field2":true,"field3":1234}}]} {"put":[{"tn":{"field0":num0,"field1":"str0","field2":true,"field3":1234}},{"tn":{"field0":num0,"field1":"str0","field2":true,"field3":1234}}]} TODO:complex128/base64 for []byte
func (*JsonDt) PutAnyJson ¶
PutAnyJson implements put any json to a tn different format json can be put into a same tn
func (*JsonDt) PutByJsonParser ¶
func (jdt *JsonDt) PutByJsonParser(arr_or_obj JsonTokenType, jstr *JsonParser) error
func (*JsonDt) SetFindJson ¶
func (jdt *JsonDt) SetFindJson(findjson string) *JsonResults
find json gramma:{"Get":{"field0":"{>=10,<=30}","fields":"[field0,field1,field2...]"}} only support: > G >= GE = E < L <= LE < L != NE like "fields" are fields the result included
func (*JsonDt) SetFindJsonParser ¶
func (jdt *JsonDt) SetFindJsonParser(jp *JsonParser) *JsonResults
func (*JsonDt) SetJsonTemplate ¶
logic: key:notnull--!bnokey--GetEmbebedSpire--nil--=>call first time--get key--nil:return nil; not nil, type--flag--setTn--nil,return nil;not nil,CTColonComma key:notnull--!bnokey--GetEmbebedSpire--not nil--!putany,return; putany--get key--nil:return nil; not nil, type--flag--compare flag--!=0,return nil;==0,CTColonComma key:null--bnokey--GetEmbebedSpire--nil,return nil;not nil--!putany,return;putany--flag--CTColonComma
func (*JsonDt) SetTemplateByJsonParser ¶
func (jdt *JsonDt) SetTemplateByJsonParser(jp *JsonParser, b_putany bool) *JsonDt
func (*JsonDt) UpdByJsonParser ¶
func (jdt *JsonDt) UpdByJsonParser(arr_or_obj JsonTokenType, jstr *JsonParser) error
type JsonParser ¶
type JsonParser struct {
// contains filtered or unexported fields
}
JsonParser define the strcut of a json parser
func PaserClosedbJson ¶
func PaserClosedbJson(s string) (*JsonParser, error)
func PaserClosedbJson0 ¶
func PaserClosedbJson0(jstr *JsonParser) (*JsonParser, error)
func PaserUsedbJson ¶
func PaserUsedbJson(s string) (*JsonParser, error)
func PaserUsedbJson1 ¶
func PaserUsedbJson1(jstr *JsonParser) (*JsonParser, error)
func (*JsonParser) CheckArrTypeRoute ¶
func (jr *JsonParser) CheckArrTypeRoute() (*JsonToken, *JsonToken, error)
CheckArrTypeRoute checks the token type route of each arr item
func (*JsonParser) DissembleArr ¶
func (jr *JsonParser) DissembleArr(parent *JsonToken, starti, end int) error
DissembleArr assemble a token tree with a same slice of JsonToken pointers recursively
func (*JsonParser) DissembleObj ¶
func (jr *JsonParser) DissembleObj(parent *JsonToken, starti, end int) error
DissembleObj assemble a token tree with a same slice of JsonToken pointers recursively initial state: jr.jts[0],(starti, endi)--(1,len-1)
func (*JsonParser) FindClosedbJsonNormalGrammaError ¶
func (jr *JsonParser) FindClosedbJsonNormalGrammaError() (int, int, string, error)
FindClosedbJsonNormalGrammaError implements finding closedb-json normal errors close Db: {"close":{"db":"test"}}
func (*JsonParser) FindDelJsonNormalGrammaError ¶
FindDelJsonNormalGrammaError detect normal gramma errors for a del-json a del-json has a fixed format, as follows:// a del-json with a key: "{\"del\":{\"key\":\"123456\",\"deljsontest\":{}}}" a del-json for bat delting: "{\"del\":[{\"key\":\"123456\",\"deljsontest\":{},{\"key\":\"1234560\",\"deljsontest\":{}]}"
func (*JsonParser) FindGetJsonNormalGrammaError ¶
func (jr *JsonParser) FindGetJsonNormalGrammaError() (int, int, string, error)
FindGetJsonNormalGrammaError detects the normal gramma error of a get-json
func (*JsonParser) FindNormalGrammaError ¶
func (jr *JsonParser) FindNormalGrammaError() (int, int, string, error)
FindNormalGrammaError find normal gramma errors with map:__global_Jsontoken_expect
func (*JsonParser) FindPutJsonNormalGrammaError ¶
FindPutJsonNormalGrammaError detect normal gramma errors for a put-json a put-json has a fixed format, as follows: a put-json without a key, sys will generate a key: "{\"put\":{\"putjsontest\":{\"aaa\":\"sdf\tsdfs\\dfe29asdf\",\"aaab\":true,\"arrarrstrct\":{\"nnn\":-1234567890,\"ccc\":[[\"sdf\tsdfs\\dfe29asdf\",\"nmbndfvdfgfdg\"],[\"sdf\tsdfs\\dfe29asdf\",\"poiuiyyttt\"]]},\"ddd\":\"sdf\tsdfs\\dfe29asdf\",\"fff\":false,\"comboolarr\":[{\"boolarr0\":[true,false]},{\"boolarr1\":[true,false]}]}}}" a put-json with a key: "{\"put\":{\"key\":\"123456\",\"putjsontest\":{\"aaa\":\"sdf\tsdfs\\dfe29asdf\",\"aaab\":true,\"arrarrstrct\":{\"nnn\":-1234567890,\"ccc\":[[\"sdf\tsdfs\\dfe29asdf\",\"nmbndfvdfgfdg\"],[\"sdf\tsdfs\\dfe29asdf\",\"poiuiyyttt\"]]},\"ddd\":\"sdf\tsdfs\\dfe29asdf\",\"fff\":false,\"comboolarr\":[{\"boolarr0\":[true,false]},{\"boolarr1\":[true,false]}]}}}" a put-json for bat putting: "{\"put\":[{\"key\":\"123456\",\"putjsontest\":{\"aaa\":\"sdf\tsdfs\\dfe29asdf\",\"aaab\":true,\"arrarrstrct\":{\"nnn\":-1234567890,\"ccc\":[[\"sdf\tsdfs\\dfe29asdf\",\"nmbndfvdfgfdg\"],[\"sdf\tsdfs\\dfe29asdf\",\"poiuiyyttt\"]]},\"ddd\":\"sdf\tsdfs\\dfe29asdf\",\"fff\":false,\"comboolarr\":[{\"boolarr0\":[true,false]},{\"boolarr1\":[true,false]}]}},{\"key\":\"1234560\",\"putjsontest\":{\"aaa\":\"sdf\tsdfs\\dfe29asdf\",\"aaab\":true,\"arrarrstrct\":{\"nnn\":-1234567890,\"ccc\":[[\"sdf\tsdfs\\dfe29asdf\",\"nmbndfvdfgfdg\"],[\"sdf\tsdfs\\dfe29asdf\",\"poiuiyyttt\"]]},\"ddd\":\"sdf\tsdfs\\dfe29asdf\",\"fff\":false,\"comboolarr\":[{\"boolarr0\":[true,false]},{\"boolarr1\":[true,false]}]}}]}"
func (*JsonParser) FindSetJsonNormalGrammaError ¶
FindSetJsonNormalGrammaError detect normal gramma errors for a settempalte-json tml := "{\"set\":{\"key\":123456,\"putjsontest0\":{\"aaa\":\"!\",\"aaab\":true,\"arrarrstrct\":{\"nnn\":1,\"ccc\":[[\"sdf\tsdfs\\dfe29asdf\",\"nmbndfvdfgfdg\"],[\"sdf\tsdfs\\dfe29asdf\",\"poiuiyyttt\"]]},\"ddd\":\"\",\"fff\":false,\"comboolarr\":[{\"boolarr0\":[true,false]},{\"boolarr1\":[true,false]}]}}}"
func (*JsonParser) FindUpdJsonNormalGrammaError ¶
FindUpdJsonNormalGrammaError detect normal gramma errors for a upd-json a upd-json has a fixed format, as follows:// a upd-json with a key: "{\"upd\":{\"key\":\"123456\",\"updjsontest\":{\"aaa\":\"sdf\tsdfs\\dfe29asdf\",\"aaab\":true,\"arrarrstrct\":{\"nnn\":-1234567890,\"ccc\":[[\"sdf\tsdfs\\dfe29asdf\",\"nmbndfvdfgfdg\"],[\"sdf\tsdfs\\dfe29asdf\",\"poiuiyyttt\"]]},\"ddd\":\"sdf\tsdfs\\dfe29asdf\",\"fff\":false,\"comboolarr\":[{\"boolarr0\":[true,false]},{\"boolarr1\":[true,false]}]}}}" a upd-json for bat updting: "{\"upd\":[{\"key\":\"123456\",\"updjsontest\":{\"aaa\":\"sdf\tsdfs\\dfe29asdf\",\"aaab\":true,\"arrarrstrct\":{\"nnn\":-1234567890,\"ccc\":[[\"sdf\tsdfs\\dfe29asdf\",\"nmbndfvdfgfdg\"],[\"sdf\tsdfs\\dfe29asdf\",\"poiuiyyttt\"]]},\"ddd\":\"sdf\tsdfs\\dfe29asdf\",\"fff\":false,\"comboolarr\":[{\"boolarr0\":[true,false]},{\"boolarr1\":[true,false]}]}},{\"key\":\"1234560\",\"updjsontest\":{\"aaa\":\"sdf\tsdfs\\dfe29asdf\",\"aaab\":true,\"arrarrstrct\":{\"nnn\":-1234567890,\"ccc\":[[\"sdf\tsdfs\\dfe29asdf\",\"nmbndfvdfgfdg\"],[\"sdf\tsdfs\\dfe29asdf\",\"poiuiyyttt\"]]},\"ddd\":\"sdf\tsdfs\\dfe29asdf\",\"fff\":false,\"comboolarr\":[{\"boolarr0\":[true,false]},{\"boolarr1\":[true,false]}]}}]}"
func (*JsonParser) FindUsedbJsonNormalGrammaError ¶
func (jr *JsonParser) FindUsedbJsonNormalGrammaError() (int, int, string, error)
FindUsbdbJsonNormalGrammaError implements finding usedb-json normal errors use Db: {"use":{db:"test",remotelog:"127.0.0.1:9527","readonly":true,usr:"resob",pwd:"jsonany"}}
func (*JsonParser) GetAGetJsonToken ¶
func (jr *JsonParser) GetAGetJsonToken() (*JsonToken, error)
GetAGetJsonToken get a token of a get-json
func (*JsonParser) GetAJsonToken ¶
func (jr *JsonParser) GetAJsonToken() (*JsonToken, error)
func (*JsonParser) GetGetJsonTn ¶
func (jr *JsonParser) GetGetJsonTn() string
func (*JsonParser) GetJsonReader ¶
func (jr *JsonParser) GetJsonReader() *strings.Reader
GetJsonReader
func (*JsonParser) GetJsonTokening ¶
func (jr *JsonParser) GetJsonTokening() error
GetJsonTokening get tokens for a get-json string a get-json is a subset of a normal json why not use normal JsonParser.Tokening?because for permance... format of a get-json as follows: tn or tn.field0 => search key with condition field0:tn => search the value of tn.field0 => get the keys "{\"Get\":{\"tn.field0\":\"{>=0,<=10}\",\"field1:tn\":\"{~`sddsf`}\",\"fields\":\"[`tn.field0`,`tn.field1`,`tn.field2`]\"}}", "{\"Get\":{\"tn.field0\":\"{>=0,>=10}\",\"tn.field1\":\"{>10}\",\"fields\":\"[`tn.field0`,`tn.field1`,`tn.field2`]\"}}", "{\"pet\":{\"tn.field0\":\"{>=`dfdf`}\",\"field1:tn\":\"{=true}\",\"fields\":\"[`tn.field0`,`tn.field1`,`tn.field2`]\"}}", "{\"get\":[{\"field0\":\"{~`djdkjfkdjf`}\",\"fields\":\"[`field3`,`field1`,`field2`]\"}]}",
func (*JsonParser) GetNumber ¶
func (jr *JsonParser) GetNumber(bread byte) (*JsonToken, error)
GetNumber
func (*JsonParser) GetPutOrUpdOrDelJsonTn ¶
func (jr *JsonParser) GetPutOrUpdOrDelJsonTn() string
func (*JsonParser) GetString ¶
func (jr *JsonParser) GetString() (*JsonToken, error)
GetString donot permit string value with “
func (*JsonParser) SetJsonReader ¶
func (jr *JsonParser) SetJsonReader(r *strings.Reader)
SetJsonReader
func (*JsonParser) SetReader ¶
func (jr *JsonParser) SetReader(s string)
SetReader set the reader from a json string and initialize the slice of a token pointers
func (*JsonParser) StartGetAGetJsonToken ¶
func (jr *JsonParser) StartGetAGetJsonToken() (*JsonToken, error)
StartGetAGetJsonToken start the process of tokening
func (*JsonParser) StartGetAJsonToken ¶
func (jr *JsonParser) StartGetAJsonToken() (*JsonToken, error)
StartGetAJsonToken start the process of tokening
func (*JsonParser) ToBsTr ¶
func (jr *JsonParser) ToBsTr(flag int) *BsTr
ToBsTr get key-vlaues from json, and collect into a Bstr struct value be collect as string,int64,float64,bool,bytes in a BsTr struct null value be stored as a nil []byte
func (*JsonParser) ToNocheckBsTr ¶
func (jr *JsonParser) ToNocheckBsTr(flag int) *BsTr
func (*JsonParser) ToNonidsBsTr ¶
func (jr *JsonParser) ToNonidsBsTr() *BsTr
TODO: GetNumber should subdivide to int8/int16../uint64 float32/float64 complex64/complex128
func (*JsonParser) Tokening ¶
func (jr *JsonParser) Tokening() error
Tokening token a json string, and detect simple errors
type JsonResults ¶
type JsonResults struct {
// contains filtered or unexported fields
}
func (*JsonResults) GetCurWanPageNO ¶
func (jr *JsonResults) GetCurWanPageNO() (int, int)
func (*JsonResults) Init ¶
func (jr *JsonResults) Init(jdt *JsonDt, keys []any, rp *ResultParser) *JsonResults
func (*JsonResults) IsEnd ¶
func (jr *JsonResults) IsEnd(orientation bool) bool
func (*JsonResults) SetOrientation ¶
func (jr *JsonResults) SetOrientation(orientation bool) *JsonResults
SetOrientation set the orientation for turning page
func (*JsonResults) SetPageShouldHas ¶
func (jr *JsonResults) SetPageShouldHas(pageshouldhas int) *JsonResults
SetPageShouldHas reset pageshouldhas of the page and reset pageNO-chunk map if the pageshouldhas for setting less than DEFAULTPAGESHOULDHAS, will use default
func (*JsonResults) SetWantedPage ¶
func (jr *JsonResults) SetWantedPage(wantedpageNO int) *JsonResults
SetWantedPage set destination pageNO
func (*JsonResults) SomeJsons ¶
func (jr *JsonResults) SomeJsons() (*JsonResults, string)
func (*JsonResults) SomeStart ¶
func (jr *JsonResults) SomeStart() *JsonResults
type JsonToken ¶
type JsonToken struct {
// contains filtered or unexported fields
}
JsonToken define the struct of parsering a json string when set flag, normal json should avoid keys as follow: const (
JSONDTDATAOPS = "data" JSONDTPUTOPS = "put" JSONDTGETOPS = "get" JSONDTKEY = "key" JSONDTTN = "tn"
)
func (*JsonToken) CheckArrTypeRoute ¶
func (*JsonToken) GetJsonStr ¶
GetJsonStr get the str of a token
func (*JsonToken) ToBsTr ¶
func (jt *JsonToken) ToBsTr(colonStr, dotStr string, jsonBstr *BsTr, flag int) (string, string, *BsTr)
ToBsTr get key-vlaues from json, and collect into a Bstr struct key-value format collect in a BsTr struct same as or analogy/compatible with a strcut be put into a BsTr struct when call the PutAnyByKey method as follows: (details about PutAnyByKey in ip.go) can be used by GetAnyByKey method to unserialize to a struct nids[0] format: field:tn(arr is index:tn) nids[1] format: tn.field(arr is tn.index) nids[2] is ""
func (*JsonToken) ToNocheckBsTrs ¶
func (jt *JsonToken) ToNocheckBsTrs(colonStr, dotStr string, jsonBstr *BsTr, flag int) (string, string, *BsTr)
ToNocheckBsTrs for FindJson, maybe has the same field usually, a BsTr struct donot permit same field
func (*JsonToken) ToNonidsBsTr ¶
ToBsTrBonids get key-vlaues from json, and collect into a Bstr struct with true nonids
type JsonTokenTree ¶
type JsonTokenTree = *JsonToken
func (JsonTokenTree) ToJson ¶
func (jtree JsonTokenTree) ToJson(bstart, bend bool, incs string) string
results json (i64key for example): [{"key":23434}, "tn":{"filed0":"dfd","field1":435,"field2":true,"field3":[{...}]},{"key":345}, "tn":{"filed0":"dfdrtret","field1":45435,"field2":true,"field3":[{...}]}]
type LastLeafAdapter ¶
type LastLeafAdapter func(*BsTr, *SpireReturn, *os.File) *BsTr
type PageStartBsTrKi ¶
type PageStartBsTrKi struct {
// contains filtered or unexported fields
}
type ResultParser ¶
type ResultParser struct {
// contains filtered or unexported fields
}
func (*ResultParser) FindGetJsonResultGrammaError ¶
func (rp *ResultParser) FindGetJsonResultGrammaError() (int, int, string, error)
func (*ResultParser) GetARpToken ¶
func (rp *ResultParser) GetARpToken() (*ResultToken, error)
StartGetAFcToken gets a token of a finding-conditiong string
func (*ResultParser) GetString ¶
func (rp *ResultParser) GetString() (*ResultToken, error)
func (*ResultParser) RpTokening ¶
func (rp *ResultParser) RpTokening() error
func (*ResultParser) SetReader ¶
func (rp *ResultParser) SetReader(s string)
func (*ResultParser) StartGetARpToken ¶
func (rp *ResultParser) StartGetARpToken() (*ResultToken, error)
StartGetAFcToken start tokening for a finding-conditiong string
type ResultToken ¶
type ResultToken struct {
// contains filtered or unexported fields
}
type ResultTokenType ¶
type ResultTokenType = int
type SpireReturn ¶
type SpireReturn struct {
// contains filtered or unexported fields
}
SpireReturn struct define the info related with a tn in a BsTr tree
type StringOrBytesKey ¶
type TmpDep ¶
type TmpDep struct { Jr *JsonResults Session HttpSessionIf Auth HttpAuthIf Jsonresults_map sync.Map }
type UpdateRouteIndexsAdapter ¶
type UpdateRouteIndexsAdapter func(*SpireReturn, int, *os.File)
Source Files
¶
- BsTrTree_adapter_.go
- BsTrstruct_.go
- BsTrstruct_careful.go
- BsTrstruct_checks.go
- BsTrstruct_delete.go
- BsTrstruct_ffunc.go
- BsTrstruct_file.go
- BsTrstruct_gets.go
- BsTrstruct_nocheckputs.go
- BsTrstruct_puts.go
- BsTrstruct_remote.go
- BsTrtree_.go
- BsTrtree_I.go
- BsTrtree_bwget.go
- BsTrtree_bwput.go
- BsTrtree_cond_.go
- BsTrtree_cwget.go
- BsTrtree_cwput.go
- BsTrtree_fwget.go
- BsTrtree_fwput.go
- BsTrtree_getpage_.go
- BsTrtree_is.go
- BsTrtree_iwget.go
- BsTrtree_iwput.go
- BsTrtree_new.go
- BsTrtree_replay_rescue_.go
- BsTrtree_start_.go
- BsTrtree_start_persis_.go
- BsTrtree_start_spire_.go
- BsTrtree_swget.go
- BsTrtree_swput.go
- err.go
- resob_findparams.go
- resob_jsondb.go
- resob_jsondb_dbparser_.go
- resob_jsondt.go
- resob_jsondt_deletejson_parser.go
- resob_jsondt_get.go
- resob_jsondt_getjson_parser.go
- resob_jsondt_put.go
- resob_jsondt_putjson_parser.go
- resob_jsonparser.go
- resob_jsonparser_assemble.go
- resob_jsonparser_assemble_bool.go
- resob_jsonparser_assemble_f64.go
- resob_jsonparser_assemble_i64.go
- resob_jsonparser_assemble_str.go
- resob_snowflake_.go
- resob_updatejson_parser.go
- resob_util.go