Result for C5665702B2159DBB514E984CEC5649C2D4B01FB6

Query result

Key Value
FileSize141388
MD5C0B39E0AAA6D49BB8E409DF3887C3B4C
PackageDescriptionBindings for the LMDB C library Go bindings to the OpenLDAP Lightning Memory-Mapped Database (LMDB). Packages Functionality is logically divided into several packages. Applications will usually need to import lmdb but may import other packages on an as needed basis. . Packages in the exp/ directory are not stable and may change without warning. That said, they are generally usable if application dependencies are managed and pinned by tag/commit. . Developers concerned with package stability should consult the documentation. lmdb GoDoc (https://godoc.org/github.com/bmatsuo/lmdb-go/lmdb) stable (#user-content-versioning-and-stability) go import "github.com/bmatsuo/lmdb-go/lmdb" . Core bindings allowing low-level access to LMDB. lmdbscan GoDoc (https://godoc.org/github.com/bmatsuo/lmdb-go/lmdbscan) stable (#user-content-versioning-and-stability) go import "github.com/bmatsuo/lmdb-go/lmdbscan" . A utility package for scanning database ranges. The API is inspired by bufio.Scanner (https://godoc.org/bufio#Scanner) and the python cursor implementation (https://lmdb.readthedocs.org/en/release/#cursor-class). exp/lmdbpool GoDoc (https://godoc.org/github.com/bmatsuo/lmdb-go/exp/lmdbpool) experimental (#user-content-versioning-and-stability) go import "github.com/bmatsuo/lmdb-go/exp/lmdbpool" . A utility package which facilitates reuse of lmdb.Txn objects using a sync.Pool. Naively storing lmdb.Txn objects in sync.Pool can be troublesome. And the lmdbpool.TxnPool type has been defined as a complete pooling solution and as reference for applications attempting to write their own pooling implementation. . The lmdbpool package is relatively new. But it has a lot of potential utility. And once the lmdbpool API has been ironed out, and the implementation hardened through use by real applications it can be integrated directly into the lmdb package for more transparent integration. Please test this package and provide feedback to speed this process up. exp/lmdbsync GoDoc (https://godoc.org/github.com/bmatsuo/lmdb-go/exp/lmdbsync) experimental (#user-content-versioning-and-stability) go import "github.com/bmatsuo/lmdb-go/exp/lmdbsync" . An experimental utility package that provides synchronization necessary to change an environment's map size after initialization. The package provides error handlers to automatically manage database size and retry failed transactions. . The lmdbsync package is usable but the implementation of Handlers are unstable and may change in incompatible ways without notice. The use cases of dynamic map sizes and multiprocessing are niche and the package requires much more development driven by practical feedback before the Handler API and the provided implementations can be considered stable. Key Features: Idiomatic API inspired by BoltDB (https://github.com/boltdb/bolt) with automatic commit/rollback of transactions. The goal of lmdb-go is to provide idiomatic database interactions without compromising the flexibility of the C API. . NOTE: While the lmdb package tries hard to make LMDB as easy to use as possible there are compromises, gotchas, and caveats that application developers must be aware of when relying on LMDB to store their data. All users are encouraged to fully read the documentation (https://godoc.org/github.com/bmatsuo/lmdb-go/lmdb) so they are aware of these caveats. . Where the lmdb package and its implementation decisions do not meet the needs of application developers in terms of safety or operational use the lmdbsync package has been designed to wrap lmdb and safely fill in additional functionality. Consult the documentation (https://godoc.org/github.com/bmatsuo/lmdb-go/exp/lmdbsync) for more information about the lmdbsync package. API coverage The lmdb-go project aims for complete coverage of the LMDB C API (within reason). Some notable features and optimizations that are supported: • Idiomatic subtransactions ("sub-updates") that allow the batching of updates.• Batch IO on databases utilizing the MDB_DUPSORT and MDB_DUPFIXED flags.• Reserved writes than can save in memory copies converting/buffering into []byte. For tracking purposes a list of unsupported features is kept in an issue (https://github.com/bmatsuo/lmdb-go/issues/1). Zero-copy reads Applications with high performance requirements can opt-in to fast, zero-copy reads at the cost of runtime safety. Zero-copy behavior is specified at the transaction level to reduce instrumentation overhead. . ``` err := lmdb.View(func(txn *lmdb.Txn) error { // RawRead enables zero-copy behavior with some serious caveats. // Read the documentation carefully before using. txn.RawRead = true val, err := txn.Get(dbi, []byte("largevalue"), 0) // ... . }) ``` Documentation Comprehensive documentation and examples are provided to demonstrate safe usage of lmdb. In addition to godoc (https://godoc.org/github.com/bmatsuo/lmdb-go) documentation, implementations of the standand LMDB commands (mdb_stat, etc) can be found in the cmd/ (cmd/) directory and some simple experimental commands can be found in the exp/cmd/ (exp/cmd) directory. Aside from providing minor utility these programs are provided as examples of lmdb in practice. LMDB compared to BoltDB: BoltDB is a quality database with a design similar to LMDB. Both store key-value data in a file and provide ACID transactions. So there are often questions of why to use one database or the other. Advantages of BoltDB• Nested databases allow for hierarchical data organization.• Far more databases can be accessed concurrently.• Operating systems that do not support sparse files do not use up excessive space due to a large pre-allocation of file space. The exp/lmdbsync package is intended to resolve this problem with LMDB but it is not ready.• As a pure Go package bolt can be easily cross-compiled using the go toolchain and GOOS/GOARCH variables.• Its simpler design and implementation in pure Go mean it is free of many caveats and gotchas which are present using the lmdb package. For more information about caveats with the lmdb package, consult its documentation (https://godoc.org/github.com/bmatsuo/lmdb-go/lmdb).Advantages of LMDB• Keys can contain multiple values using the DupSort flag.• Updates can have sub-updates for atomic batching of changes.• Databases typically remain open for the application lifetime. This limits the number of concurrently accessible databases. But, this minimizes the overhead of database accesses and typically produces cleaner code than an equivalent BoltDB implementation.• Significantly faster than BoltDB. The raw speed of LMDB easily surpasses BoltDB. Additionally, LMDB provides optimizations ranging from safe, feature-specific optimizations to generally unsafe, extremely situational ones. Applications are free to enable any optimizations that fit their data, access, and reliability models.• LMDB allows multiple applications to access a database simultaneously. Updates from concurrent processes are synchronized using a database lock file.• As a C library, applications in any language can interact with LMDB databases. Mission critical Go applications can use a database while Python scripts perform analysis on the side.Build There is no dependency on shared libraries. So most users can simply install using go get. . go get github.com/bmatsuo/lmdb-go/lmdb . On FreeBSD 10, you must explicitly set CC (otherwise it will fail with a cryptic error), for example: CC=clang go test -v ./... . Building commands and running tests can be done with go or with make: make bin ; make test ; make check ; make all . On Linux, you can specify the pwritev build tag to reduce the number of syscalls required when committing a transaction. In your own package you can then do go build -tags pwritev . . to enable the optimisation. DocumentationGo doc The go doc documentation available on godoc.org (https://godoc.org/github.com/bmatsuo/lmdb-go) is the primary source of developer documentation for lmdb-go. It provides an overview of the API with a lot of usage examples. Where necessary the documentation points out differences between the semantics of methods and their C counterparts. LMDB The LMDB homepage (http://symas.com/mdb/) and mailing list (archives (http://www.openldap.org/lists/openldap-technical/)) are the official source of documentation regarding low-level LMDB operation and internals. . Along with an API reference LMDB provides a high-level summary (http://symas.com/mdb/doc/starting.html) of the library. While lmdb-go abstracts many of the thread and transaction details by default the rest of the guide is still useful to compare with go doc. Versioning and Stability The lmdb-go project makes regular releases with IDs X.Y.Z. All packages outside of the exp/ directory are considered stable and adhere to the guidelines of semantic versioning (http://semver.org/). . Experimental packages (those packages in exp/) are not required to adhere to semantic versioning. However packages specifically declared to merely be "unstable" can be relied on more for long term use with less concern. . The API of an unstable package may change in subtle ways between minor release versions. But deprecations will be indicated at least one release in advance and all functionality will remain available through some method. License Except where otherwise noted files in the lmdb-go project are licensed under the BSD 3-clause open source license. . The LMDB C source is licensed under the OpenLDAP Public License. Linksgithub.com/bmatsuo/raft-mdb (https://github.com/bmatsuo/raft-mdb) (godoc (https://godoc.org/github.com/bmatsuo/raft-mdb)) An experimental backend for github.com/hashicorp/raft (https://github.com/hashicorp/raft) forked from github.com/hashicorp/raft-mdb (https://github.com/hashicorp/raft-mdb). github.com/bmatsuo/cayley/graph/lmdb (https://github.com/bmatsuo/cayley/tree/master/graph/lmdb) (godoc (https://godoc.org/github.com/bmatsuo/cayley/graph/lmdb)) Experimental backend quad-store for github.com/google/cayley (https://github.com/google/cayley) based off of the BoltDB implementation (https://github.com/google/cayley/tree/master/graph/bolt).
PackageMaintainerUbuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
PackageNamegolang-github-bmatsuo-lmdb-go-dev
PackageSectiondevel
PackageVersion1.8.0+git20170215.a14b5a3-2
SHA-1C5665702B2159DBB514E984CEC5649C2D4B01FB6
SHA-256913B1F19D184EA33DB67D985E2D38B7952115AC0FDD688F2EA43C90559C020A5
hashlookup:children-total45
hashlookup:trust50

Network graph view

Children (Total: 45)

The searched file hash includes 45 children files known and seen by metalookup. A sample is included below:

Key Value
FileName./usr/share/gocode/src/github.com/bmatsuo/lmdb-go/lmdb/midl.c
FileSize6532
MD55099573B2F3BABA096660C61B7A320F0
SHA-10310E0603372BD31AC164E608815CF93AB61C005
SHA-2564FFABC6A9B26BC290723E1CA9FA48AA620F4C72FC289BB2BB9DA639DD38499FF
SSDEEP96:u2IZcHKrSOfhgtnmXb7DsA7USypblI5OXboMUCfUKnYCCSp0ubWcwg9p8e:u2qbSOJgt4HljyqAUqp0uwgMe
TLSHT1C7D187E8A77C7E4F311B70BF4E49902D91AC702219D56C2B8C7E62B4204289DDF72D6C
Key Value
FileName./usr/share/gocode/src/github.com/bmatsuo/lmdb-go/internal/lmdbcmd/cmutil.go
FileSize905
MD5A14019D94B71F67271F31A125071349B
SHA-1035E4BE5080B22294D6D793F3212AEA243C81AFF
SHA-256DCB145B40A9A2F5D8640A47DEE874AD055A08D613422A546FB59649F0EE020FB
SSDEEP24:gjKdQOrxL1rrfCARrNmJLXdGiDTf1oLMjxN:g2CON9zdRrs7RTf1YMjxN
TLSHT1341100EEF58AA22708C42341080C41791BF29F38AB7CDA7FE326C251B36877B435A052
Key Value
FileName./usr/share/gocode/src/github.com/bmatsuo/lmdb-go/exp/lmdbsync/handler_test.go
FileSize4570
MD542AD69DED6402B7F838CA0175A087F17
SHA-10A210DDCC0090A013593B5694DA3299A3F659245
SHA-256334DC9D346F246C221AA9B2805F4544793856C1CD747839505B4D40B0A7D4FDA
SSDEEP96:sLQqLt+bY9msoViipR5ENJv+vt3aJ0JwD8f2:uQqB+wat3aGJwQf2
TLSHT1E791036BC7AF43A62FA430040C55C8169370D022C73EF1DAE1D5F2EAE8D8819A4B57D1
Key Value
FileName./usr/share/gocode/src/github.com/bmatsuo/lmdb-go/lmdb/lmdbgo.c
FileSize2917
MD55D4BA70513BBA56C47A65404E8D140E7
SHA-10E7FB8282947514B13CEBCC5C12BE0F59DB274ED
SHA-256A25A2854E949694AD285A44A749528ECC93DC89A36E95D28AD56319BEF6D1B70
SSDEEP48:JjNa+4b4oF5bVe73euRTRGq7iIgG0yWFm6eISm6xM/l0xlF9:JjNaNPbVezeuFX7NgVyWteIKxM90vF9
TLSHT1E451B257BC8B9903D662466AAB0E0E56F945F90F63FDE770A381391D9F48405F460CA3
Key Value
FileName./usr/share/gocode/src/github.com/bmatsuo/lmdb-go/lmdb/midl.h
FileSize5655
MD5CF336A2DDE75F8E2C43A425C60EFB08E
RDS:package_id182052
SHA-11768473E152A426FD84AF300DFD6C41004D693EA
SHA-256198F65807003D03D15E1CC280F4A7974E5404F6DBAE8435D08C1E9C88E781D7B
SSDEEP96:CkUSK2IjXlvGquf/hkq7TfHjPxeJVvGrM1/MheSqDvsW:v02uDuf/hbTfHjPgJVQvheSKF
TLSHT127C120F9A7753311119168938A5CF370B336807573F51C8900AA78BA1457E78EFBAE4A
insert-timestamp1679425645.1927462
sourceRDS.db
Key Value
FileName./usr/share/gocode/src/github.com/bmatsuo/lmdb-go/lmdb/error_test.go
FileSize1273
MD555B87E104FB588551158F1F6760F5C7E
SHA-11BDE4213C663084946175689CDB9CB00391367BF
SHA-256004CE183D24540A952B5333AFCBB7A7828EDE8E1E1EE99E06F26FBAF2C295436
SSDEEP24:XdsldNYCGnl1dZKjkUNfuqcsd5OZauUfqf2Uiw5fw3BH9MP0t30t:Xd4dM1d0jlPTg1ZwxI
TLSHT11221DD4BCBEB82AB266C31420464CB5C62DDCAD3AB335143BBA833F3514C47B5C19C98
Key Value
FileName./usr/share/gocode/src/github.com/bmatsuo/lmdb-go/cmd/lmdb_copy/main.go
FileSize1350
MD52A8463F4CF745DFFF25D3B3B88D9F99C
SHA-12051355463E190B2CCE0730C4F48A2D6C7341DA1
SHA-25622435B16832C4A34EA43206152E6D7889C3251A86E5D468A7D33812804B89F87
SSDEEP24:xsBVxHh9SKYPJKMKN4BigtmORzfcnXXvRHxVYNVqyr9Ty7eFhDHexK:xsBVxuKYPELKfiBgqE9TyKV
TLSHT189218300D57C02A76BC607C01F481545A3F09E716B78CC73B696A6F1A26419FD6274E0
Key Value
FileName./usr/share/gocode/src/github.com/bmatsuo/lmdb-go/lmdb/msgfunc.go
FileSize1998
MD56954F442C53F0221C74C1E46C3554DCD
SHA-120BABAF86F99293EFD24A376BE95914D1208A233
SHA-256BB3FF5925C344440E1AE91D110D4A593E908B943B824C011489600BA2010245C
SSDEEP48:HV8kH5u/QxJthjMLrMIAlRKvOMz1hedvsa/MGaz8kKK:HV8kHgC/hIBgRKped0afarKK
TLSHT19B4143872625A7534FF13E347E0918289295407DB66EF751C28F926612AD0BDC177784
Key Value
FileName./usr/share/gocode/src/github.com/bmatsuo/lmdb-go/exp/lmdbpool/putrace.go
FileSize474
MD5E1332E8FC9D74F2D85A25AB230464D3F
SHA-124AB1453FAE3CEF4226CEDE3227AB6E0272BB810
SHA-25615C56356EED6423220AD5AA9DA5E73C9EBA58C5BEF308375120F3B2D048AEB36
SSDEEP12:MRX1E/vbRB+OYZuCtkuNzK+oKm1U/pEs+L7Q:MRXmvbn+fZuCt3m+oROac
TLSHT183F0DC6473993630F487920259AF4122666687C83AC1B271A07FC25DAD5C8E803BBC3B
Key Value
FileName./usr/share/gocode/src/github.com/bmatsuo/lmdb-go/lmdbscan/scanner_test.go
FileSize6882
MD54DB2752E623B6A6151D32317F79476C0
SHA-131C9D2985040ED8F8BF93189BC889D6FB5E5E8F0
SHA-256459BBBA6D19371DB8C60F5204AA1AA0E392470C4BA06257F1625C0C5DAF5448F
SSDEEP96:ubQqpmUovvshaqAvbumaqAvZc2iFaqAvxcJN6eaqAvtyE8FYaqAvCeaqAvtN8F+y:ubQqhopuuSj7y
TLSHT1DFE1AB424F634D27096435081C44899631F9C923CD7EC956F7DDB4E6B08C9BFAA78AEC