⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tcadb.3

📁 Tokyo Cabinet的Tokyo Cabinet 是一个DBM的实现。这里的数据库由一系列key-value对的记录构成。key和value都可以是任意长度的字节序列,既可以是二进制也可以是字符
💻 3
📖 第 1 页 / 共 2 页
字号:
.RS`\fIadb\fR' specifies the abstract database object..RE.RS`\fIkstr\fR' specifies the string of the key..RE.RSIf successful, the return value is the size of the value of the corresponding record, else, it is \-1..RE.RE.PPThe function `tcadbiterinit' is used in order to initialize the iterator of an abstract database object..PP.RS.br\fBbool tcadbiterinit(TCADB *\fIadb\fB);\fR.RS`\fIadb\fR' specifies the abstract database object..RE.RSIf successful, the return value is true, else, it is false..RE.RSThe iterator is used in order to access the key of every record stored in a database..RE.RE.PPThe function `tcadbiternext' is used in order to get the next key of the iterator of an abstract database object..PP.RS.br\fBvoid *tcadbiternext(TCADB *\fIadb\fB, int *\fIsp\fB);\fR.RS`\fIadb\fR' specifies the abstract database object..RE.RS`\fIsp\fR' specifies the pointer to the variable into which the size of the region of the return value is assigned..RE.RSIf successful, the return value is the pointer to the region of the next key, else, it is `NULL'.  `NULL' is returned when no record is to be get out of the iterator..RE.RSBecause an additional zero code is appended at the end of the region of the return value, the return value can be treated as a character string.  Because the region of the return value is allocated with the `malloc' call, it should be released with the `free' call when it is no longer in use.  It is possible to access every record by iteration of calling this function.  It is allowed to update or remove records whose keys are fetched while the iteration.  However, it is not assured if updating the database is occurred while the iteration.  Besides, the order of this traversal access method is arbitrary, so it is not assured that the order of storing matches the one of the traversal access..RE.RE.PPThe function `tcadbiternext2' is used in order to get the next key string of the iterator of an abstract database object..PP.RS.br\fBchar *tcadbiternext2(TCADB *\fIadb\fB);\fR.RS`\fIadb\fR' specifies the abstract database object..RE.RSIf successful, the return value is the string of the next key, else, it is `NULL'.  `NULL' is returned when no record is to be get out of the iterator..RE.RSBecause the region of the return value is allocated with the `malloc' call, it should be released with the `free' call when it is no longer in use.  It is possible to access every record by iteration of calling this function.  However, it is not assured if updating the database is occurred while the iteration.  Besides, the order of this traversal access method is arbitrary, so it is not assured that the order of storing matches the one of the traversal access..RE.RE.PPThe function `tcadbfwmkeys' is used in order to get forward matching keys in an abstract database object..PP.RS.br\fBTCLIST *tcadbfwmkeys(TCADB *\fIadb\fB, const void *\fIpbuf\fB, int \fIpsiz\fB, int \fImax\fB);\fR.RS`\fIadb\fR' specifies the abstract database object..RE.RS`\fIpbuf\fR' specifies the pointer to the region of the prefix..RE.RS`\fIpsiz\fR' specifies the size of the region of the prefix..RE.RS`\fImax\fR' specifies the maximum number of keys to be fetched.  If it is negative, no limit is specified..RE.RSThe return value is a list object of the corresponding keys.  This function does never fail and return an empty list even if no key corresponds..RE.RSBecause the object of the return value is created with the function `tclistnew', it should be deleted with the function `tclistdel' when it is no longer in use.  Note that this function may be very slow because every key in the database is scanned..RE.RE.PPThe function `tcadbfwmkeys2' is used in order to get forward matching string keys in an abstract database object..PP.RS.br\fBTCLIST *tcadbfwmkeys2(TCADB *\fIadb\fB, const char *\fIpstr\fB, int \fImax\fB);\fR.RS`\fIadb\fR' specifies the abstract database object..RE.RS`\fIpstr\fR' specifies the string of the prefix..RE.RS`\fImax\fR' specifies the maximum number of keys to be fetched.  If it is negative, no limit is specified..RE.RSThe return value is a list object of the corresponding keys.  This function does never fail and return an empty list even if no key corresponds..RE.RSBecause the object of the return value is created with the function `tclistnew', it should be deleted with the function `tclistdel' when it is no longer in use.  Note that this function may be very slow because every key in the database is scanned..RE.RE.PPThe function `tcadbaddint' is used in order to add an integer to a record in an abstract database object..PP.RS.br\fBint tcadbaddint(TCADB *\fIadb\fB, const void *\fIkbuf\fB, int \fIksiz\fB, int \fInum\fB);\fR.RS`\fIadb\fR' specifies the abstract database object..RE.RS`\fIkbuf\fR' specifies the pointer to the region of the key..RE.RS`\fIksiz\fR' specifies the size of the region of the key..RE.RS`\fInum\fR' specifies the additional value..RE.RSIf successful, the return value is the summation value, else, it is `INT_MIN'..RE.RSIf the corresponding record exists, the value is treated as an integer and is added to.  If no record corresponds, a new record of the additional value is stored..RE.RE.PPThe function `tcadbadddouble' is used in order to add a real number to a record in an abstract database object..PP.RS.br\fBdouble tcadbadddouble(TCADB *\fIadb\fB, const void *\fIkbuf\fB, int \fIksiz\fB, double \fInum\fB);\fR.RS`\fIadb\fR' specifies the abstract database object..RE.RS`\fIkbuf\fR' specifies the pointer to the region of the key..RE.RS`\fIksiz\fR' specifies the size of the region of the key..RE.RS`\fInum\fR' specifies the additional value..RE.RSIf successful, the return value is the summation value, else, it is Not-a-Number..RE.RSIf the corresponding record exists, the value is treated as a real number and is added to.  If no record corresponds, a new record of the additional value is stored..RE.RE.PPThe function `tcadbsync' is used in order to synchronize updated contents of an abstract database object with the file and the device..PP.RS.br\fBbool tcadbsync(TCADB *\fIadb\fB);\fR.RS`\fIadb\fR' specifies the abstract database object..RE.RSIf successful, the return value is true, else, it is false..RE.RE.PPThe function `tcadboptimize' is used in order to optimize the storage of an abstract database object..PP.RS.br\fBbool tcadboptimize(TCADB *\fIadb\fB, const char *\fIparams\fB);\fR.RS`\fIadb\fR' specifies the abstract database object..RE.RS`\fIparams\fR' specifies the string of the tuning parameters, which works as with the tuning of parameters the function `tcadbopen'.  If it is `NULL', it is not used..RE.RSIf successful, the return value is true, else, it is false..RE.RSThis function is useful to reduce the size of the database storage with data fragmentation by successive updating..RE.RE.PPThe function `tcadbvanish' is used in order to remove all records of an abstract database object..PP.RS.br\fBbool tcadbvanish(TCADB *\fIadb\fB);\fR.RS`\fIadb\fR' specifies the abstract database object..RE.RSIf successful, the return value is true, else, it is false..RE.RE.PPThe function `tcadbcopy' is used in order to copy the database file of an abstract database object..PP.RS.br\fBbool tcadbcopy(TCADB *\fIadb\fB, const char *\fIpath\fB);\fR.RS`\fIadb\fR' specifies the abstract database object..RE.RS`\fIpath\fR' specifies the path of the destination file.  If it begins with `@', the trailing substring is executed as a command line..RE.RSIf successful, the return value is true, else, it is false.  False is returned if the executed command returns non\-zero code..RE.RSThe database file is assured to be kept synchronized and not modified while the copying or executing operation is in progress.  So, this function is useful to create a backup file of the database file..RE.RE.PPThe function `tcadbtranbegin' is used in order to begin the transaction of an abstract database object..PP.RS.br\fBbool tcadbtranbegin(TCADB *\fIadb\fB);\fR.RS`\fIadb\fR' specifies the abstract database object..RE.RSIf successful, the return value is true, else, it is false..RE.RSThe database is locked by the thread while the transaction so that only one transaction can be activated with a database object at the same time.  Thus, the serializable isolation level is assumed if every database operation is performed in the transaction.  All updated regions are kept track of by write ahead logging while the transaction.  If the database is closed during transaction, the transaction is aborted implicitly..RE.RE.PPThe function `tcadbtrancommit' is used in order to commit the transaction of an abstract database object..PP.RS.br\fBbool tcadbtrancommit(TCADB *\fIadb\fB);\fR.RS`\fIadb\fR' specifies the abstract database object..RE.RSIf successful, the return value is true, else, it is false..RE.RSUpdate in the transaction is fixed when it is committed successfully..RE.RE.PPThe function `tcadbtranabort' is used in order to abort the transaction of an abstract database object..PP.RS.br\fBbool tcadbtranabort(TCADB *\fIadb\fB);\fR.RS`\fIadb\fR' specifies the abstract database object..RE.RSIf successful, the return value is true, else, it is false..RE.RSUpdate in the transaction is discarded when it is aborted.  The state of the database is rollbacked to before transaction..RE.RE.PPThe function `tcadbpath' is used in order to get the file path of an abstract database object..PP.RS.br\fBconst char *tcadbpath(TCADB *\fIadb\fB);\fR.RS`\fIadb\fR' specifies the abstract database object..RE.RSThe return value is the path of the database file or `NULL' if the object does not connect to any database.  "*" stands for on\-memory hash database.  "+" stands for on\-memory tree database..RE.RE.PPThe function `tcadbrnum' is used in order to get the number of records of an abstract database object..PP.RS.br\fBuint64_t tcadbrnum(TCADB *\fIadb\fB);\fR.RS`\fIadb\fR' specifies the abstract database object..RE.RSThe return value is the number of records or 0 if the object does not connect to any database instance..RE.RE.PPThe function `tcadbsize' is used in order to get the size of the database of an abstract database object..PP.RS.br\fBuint64_t tcadbsize(TCADB *\fIadb\fB);\fR.RS`\fIadb\fR' specifies the abstract database object..RE.RSThe return value is the size of the database or 0 if the object does not connect to any database instance..RE.RE.PPThe function `tcadbmisc' is used in order to call a versatile function for miscellaneous operations of an abstract database object..PP.RS.br\fBTCLIST *tcadbmisc(TCADB *\fIadb\fB, const char *\fIname\fB, const TCLIST *\fIargs\fB);\fR.RS`\fIadb\fR' specifies the abstract database object..RE.RS`\fIname\fR' specifies the name of the function.  All databases support "put", "out", "get", "putlist", "outlist", and "getlist".  "put" is to store a record.  It receives a key and a value, and returns an empty list.  "out" is to remove a record.  It receives a key, and returns an empty list.  "get" is to retrieve a record.  It receives a key, and returns a list of the values.  "putlist" is to store records.  It receives keys and values one after the other, and returns an empty list.  "outlist" is to remove records.  It receives keys, and returns an empty list.  "getlist" is to retrieve records.  It receives keys, and returns keys and values of corresponding records one after the other..RE.RS`\fIargs\fR' specifies a list object containing arguments..RE.RSIf successful, the return value is a list object of the result.  `NULL' is returned on failure..RE.RSBecause the object of the return value is created with the function `tclistnew', it should be deleted with the function `tclistdel' when it is no longer in use..RE.RE.SH SEE ALSO.PP.BR tcatest (1),.BR tcamgr (1),.BR tokyocabinet (3)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -