sybase_unbuffered_query
Introduction
Vendor Specific Database Extensions
PHP Manual

# tokyo_tyrant

Table of Contents

- Introduction
- Installing/Configuring
  - Requirements
  - Installation
  - Runtime Configuration
  - Resource Types
- Predefined Constants
- Examples
- TokyoTyrant — The TokyoTyrant class
  - TokyoTyrant::add — Adds to a numeric key
  - TokyoTyrant::connect — Connect to a database
  - TokyoTyrant::connectUri — Connects to a database
  - TokyoTyrant::__construct — Construct a new TokyoTyrant object
  - TokyoTyrant::copy — Copies the database
  - TokyoTyrant::ext — Execute a remote script
  - TokyoTyrant::fwmKeys — Returns the forward matching keys
  - TokyoTyrant::get — The get purpose
  - TokyoTyrant::getIterator — Get an iterator
  - TokyoTyrant::num — Number of records in the database
  - TokyoTyrant::out — Removes records
  - TokyoTyrant::put — Puts values
  - TokyoTyrant::putCat — Concatenates to a record
  - TokyoTyrant::putKeep — Puts a record
  - TokyoTyrant::putNr — Puts value
  - TokyoTyrant::putShl — Concatenates to a record
  - TokyoTyrant::restore — Restore the database
  - TokyoTyrant::setMaster — Set the replication master
  - TokyoTyrant::size — Returns the size of the value
  - TokyoTyrant::stat — Get statistics
  - TokyoTyrant::sync — Synchronize the database
  - TokyoTyrant::tune — Tunes connection values
  - TokyoTyrant::vanish — Empties the database
- TokyoTyrantTable — The TokyoTyrantTable class
  - TokyoTyrantTable::add — Adds a record
  - TokyoTyrantTable::genUid — Generate unique id
  - TokyoTyrantTable::get — Get a row
  - TokyoTyrantTable::getIterator — Get an iterator
  - TokyoTyrantTable::getQuery — Get a query object
  - TokyoTyrantTable::out — Remove records
  - TokyoTyrantTable::put — Store a row
  - TokyoTyrantTable::putCat — Concatenates to a row
  - TokyoTyrantTable::putKeep — Put a new record
  - TokyoTyrantTable::putNr — Puts value
  - TokyoTyrantTable::putShl — Concatenates to a record
  - TokyoTyrantTable::setIndex — Sets index
- TokyoTyrantQuery — The TokyoTyrantQuery class
  - TokyoTyrantQuery::addCond — Adds a condition to the query
  - TokyoTyrantQuery::__construct — Construct a new query
  - TokyoTyrantQuery::count — Counts records
  - TokyoTyrantQuery::current — Returns the current element
  - TokyoTyrantQuery::hint — Get the hint string of the query
  - TokyoTyrantQuery::key — Returns the current key
  - TokyoTyrantQuery::metaSearch — Retrieve records with multiple queries
  - TokyoTyrantQuery::next — Moves the iterator to next entry
  - TokyoTyrantQuery::out — Removes records based on query
  - TokyoTyrantQuery::rewind — Rewinds the iterator
  - TokyoTyrantQuery::search — Searches records
  - TokyoTyrantQuery::setLimit — Limit results
  - TokyoTyrantQuery::setOrder — Orders results
  - TokyoTyrantQuery::valid — Checks the validity of current item
- TokyoTyrantIterator — The TokyoTyrantIterator class
  - TokyoTyrantIterator::__construct — Construct an iterator
  - TokyoTyrantIterator::current — Get the current value
  - TokyoTyrantIterator::key — Returns the current key
  - TokyoTyrantIterator::next — Move to next key
  - TokyoTyrantIterator::rewind — Rewinds the iterator
  - TokyoTyrantIterator::valid — Rewinds the iterator
- TokyoTyrantException — The TokyoTyrantException class

# The TokyoTyrant class

## Introduction

The main Tokyo Tyrant class

## Class synopsis

TokyoTyrant
class TokyoTyrant {
/* Constants */
const integer TokyoTyrant::RDBDEF_PORT = 1978 ;
const integer TokyoTyrant::RDBQC_STREQ = 0 ;
const integer TokyoTyrant::RDBQC_STRINC = 1 ;
const integer TokyoTyrant::RDBQC_STRBW = 2 ;
const integer TokyoTyrant::RDBQC_STREW = 3 ;
const integer TokyoTyrant::RDBQC_STRAND = 4 ;
const integer TokyoTyrant::RDBQC_STROR = 5 ;
const integer TokyoTyrant::RDBQC_STROREQ = 6 ;
const integer TokyoTyrant::RDBQC_STRRX = 7 ;
const integer TokyoTyrant::RDBQC_NUMEQ = 8 ;
const integer TokyoTyrant::RDBQC_NUMGT = 9 ;
const integer TokyoTyrant::RDBQC_NUMGE = 10 ;
const integer TokyoTyrant::RDBQC_NUMLT = 11 ;
const integer TokyoTyrant::RDBQC_NUMLE = 12 ;
const integer TokyoTyrant::RDBQC_NUMBT = 13 ;
const integer TokyoTyrant::RDBQC_NUMOREQ = 14 ;
const integer TokyoTyrant::RDBQC_NEGATE = 16777216 ;
const integer TokyoTyrant::RDBQC_NOIDX = 33554432 ;
const integer TokyoTyrant::RDBQO_STRASC = 0 ;
const integer TokyoTyrant::RDBQO_STRDESC = 1 ;
const integer TokyoTyrant::RDBQO_NUMASC = 2 ;
const integer TokyoTyrant::RDBQO_NUMDESC = 3 ;
const integer TokyoTyrant::RDBIT_LEXICAL = 0 ;
const integer TokyoTyrant::RDBIT_DECIMAL = 1 ;
const integer TokyoTyrant::RDBIT_TOKEN = 2 ;
const integer TokyoTyrant::RDBIT_QGRAM = 3 ;
const integer TokyoTyrant::RDBIT_OPT = 9998 ;
const integer TokyoTyrant::RDBIT_VOID = 9999 ;
const integer TokyoTyrant::RDBIT_KEEP = 16777216 ;
const integer TokyoTyrant::RDBQCFTS_PH = 15 ;
const integer TokyoTyrant::RDBQCFTS_AND = 16 ;
const integer TokyoTyrant::RDBQCFTS_OR = 17 ;
const integer TokyoTyrant::RDBQCFTS_EX = 18 ;
const integer TokyoTyrant::RDBXO_LCKREC = 1 ;
const integer TokyoTyrant::RDBXOLCK_GLB = 2 ;
const integer TokyoTyrant::RDBREC_INT = 1 ;
const integer TokyoTyrant::RDBREC_DBL = 2 ;
const integer TokyoTyrant::RDBMS_UNION = 0 ;
const integer TokyoTyrant::RDBMS_ISECT = 1 ;
const integer TokyoTyrant::RDBMS_DIFF = 2 ;
const integer TokyoTyrant::RDBT_RECON = 1 ;
/* Methods */
public number add ( string `$key` , number `$increment` [, int `$type` = 0 ] )
public TokyoTyrant connect ( string `$host` [, int `$port` = TokyoTyrant::RDBDEF_PORT [, array `$options` ]] )
public TokyoTyrant connectUri ( string `$uri` )
public __construct ([ string `$host` [, int `$port` = TokyoTyrant::RDBDEF_PORT [, array `$options` ]]] )
public TokyoTyrant copy ( string `$path` )
public string ext ( string `$name` , int `$options` , string `$key` , string `$value` )
public array fwmKeys ( string `$prefix` , int `$max_recs` )
public mixed get ( mixed `$keys` )
public TokyoTyrantIterator getIterator ( void )
public int num ( void )
public TokyoTyrant out ( mixed `$keys` )
public TokyoTyrant put ( mixed `$keys` [, string `$value` = NULL ] )
public TokyoTyrant putCat ( mixed `$keys` [, string `$value` ] )
public TokyoTyrant putKeep ( mixed `$keys` [, string `$value` ] )
public TokyoTyrant putNr ( mixed `$keys` [, string `$value` = NULL ] )
public mixed putShl ( string `$key` , string `$value` , int `$width` )
public mixed restore ( string `$log_dir` , int `$timestamp` [, bool `$check_consistency` = true ] )
public mixed setMaster ( string `$host` , int `$port` , int `$timestamp` [, bool `$check_consistency` = true ] )
public int size ( string `$key` )
public array stat ( void )
public mixed sync ( void )
public TokyoTyrant tune ( float `$timeout` [, int `$options` = TokyoTyrant::RDBT_RECON ] )
public mixed vanish ( void )
}

## Predefined Constants

## TokyoTyrant Constants

`TokyoTyrant::RDBDEF_PORT`

  The default port of the Tokyo Tyrant database

`TokyoTyrant::RDBQC_STREQ`

  string is equal to

`TokyoTyrant::RDBQC_STRINC`

  string is included in

`TokyoTyrant::RDBQC_STRBW`

  string begins with

`TokyoTyrant::RDBQC_STREW`

  string ends with

`TokyoTyrant::RDBQC_STRAND`

  string includes all tokens in

`TokyoTyrant::RDBQC_STROR`

  string includes at least one token in

`TokyoTyrant::RDBQC_STROREQ`

  string is equal to at least one token in

`TokyoTyrant::RDBQC_STRRX`

  string matches regular expressions of

`TokyoTyrant::RDBQC_NUMEQ`

  number is equal to

`TokyoTyrant::RDBQC_NUMGT`

  number is greater than

`TokyoTyrant::RDBQC_NUMGE`

  number is greater than or equal to

`TokyoTyrant::RDBQC_NUMLT`

  number is less than

`TokyoTyrant::RDBQC_NUMLE`

  number is less than or equal to

`TokyoTyrant::RDBQC_NUMBT`

  number is between two tokens of

`TokyoTyrant::RDBQC_NUMOREQ`

  number is equal to at least one token in

`TokyoTyrant::RDBQC_NEGATE`

  negation flag

`TokyoTyrant::RDBQC_NOIDX`

  no index flag

`TokyoTyrant::RDBQO_STRASC`

  string ascending

`TokyoTyrant::RDBQO_STRDESC`

  string descending

`TokyoTyrant::RDBQO_NUMASC`

  number ascending

`TokyoTyrant::RDBQO_NUMDESC`

  number descending

`TokyoTyrant::RDBIT_LEXICAL`

  lexical string

`TokyoTyrant::RDBIT_DECIMAL`

  decimal string

`TokyoTyrant::RDBIT_TOKEN`

  token inverted index (Tokyo Tyrant >= 1.1.29)

`TokyoTyrant::RDBIT_QGRAM`

  QGRAM inverted index (Tokyo Tyrant >= 1.1.29)

`TokyoTyrant::RDBIT_OPT`

  optimize

`TokyoTyrant::RDBIT_VOID`

  void

`TokyoTyrant::RDBIT_KEEP`

  keep existing index

`TokyoTyrant::RDBQCFTS_PH`

  full-text search with the phrase of (Tokyo Tyrant >= 1.1.29)

`TokyoTyrant::RDBQCFTS_AND`

  full-text search with all tokens in (Tokyo Tyrant >= 1.1.29)

`TokyoTyrant::RDBQCFTS_OR`

  full-text search with at least one token in (Tokyo Tyrant >= 1.1.29)

`TokyoTyrant::RDBQCFTS_EX`

  full-text search with the compound expression of (Tokyo Tyrant >= 1.1.29)

`TokyoTyrant::RDBQCFTS_AND`

  Metasearch union between records (Tokyo Tyrant >= 1.1.33)

`TokyoTyrant::RDBQCFTS_OR`

  Metasearch intersection between records (Tokyo Tyrant >= 1.1.33)

`TokyoTyrant::RDBQCFTS_EX`

  Metasearch difference between records (Tokyo Tyrant >= 1.1.33)

`TokyoTyrant::RDBT_RECON`

  Whether to reconnect on connection failure. It is recommended to have this parameter on for persistent connections

`TokyoTyrant::RDBXOLCK_REC`

  record locking

`TokyoTyrant::RDBXOLCK_GLB`

  global locking

`TokyoTyrant::RDBREC_INT`

  record type int

`TokyoTyrant::RDBREC_DBL`

  record type float (double)

`TokyoTyrant::TTE_SUCCESS`

  success

`TokyoTyrant::TTE_INVALID`

  invalid operation

`TokyoTyrant::TTE_NOHOST`

  host not found

`TokyoTyrant::TTE_REFUSED`

  connection refused

`TokyoTyrant::TTE_SEND`

  send error

`TokyoTyrant::TTE_RECV`

  recv error

`TokyoTyrant::TTE_KEEP`

  record exist

`TokyoTyrant::TTE_NOREC`

  no record found

`TokyoTyrant::TTE_MISC`

  miscellaneous error

# The TokyoTyrantTable class

## Introduction

Provides an API to the table databases. A table database can be create using the following command: ttserver -port 1979 /tmp/tt_table.tct. In Tokyo Tyrant the table API is a schemaless database which can store arbitrary amount of key-value pairs under a single primary key.

## Class synopsis

TokyoTyrantTable
class TokyoTyrantTable extends TokyoTyrant {
/* Methods */
public void add ( string `$key` , mixed `$increment` [, string `$type` ] )
public int genUid ( void )
public void get ( mixed `$keys` )
public TokyoTyrantIterator getIterator ( void )
public TokyoTyrantQuery getQuery ( void )
public void out ( mixed `$keys` )
public int put ( string `$key` , array `$columns` )
public void putCat ( string `$key` , array `$columns` )
public void putKeep ( string `$key` , array `$columns` )
public void putNr ( mixed `$keys` [, string `$value` ] )
public void putShl ( string `$key` , string `$value` , int `$width` )
public mixed setIndex ( string `$column` , int `$type` )
/* Inherited methods */
public number TokyoTyrant::add ( string `$key` , number `$increment` [, int `$type` = 0 ] )
public TokyoTyrant TokyoTyrant::connect ( string `$host` [, int `$port` = TokyoTyrant::RDBDEF_PORT [, array `$options` ]] )
public TokyoTyrant TokyoTyrant::connectUri ( string `$uri` )
public TokyoTyrant::__construct ([ string `$host` [, int `$port` = TokyoTyrant::RDBDEF_PORT [, array `$options` ]]] )
public TokyoTyrant TokyoTyrant::copy ( string `$path` )
public string TokyoTyrant::ext ( string `$name` , int `$options` , string `$key` , string `$value` )
public array TokyoTyrant::fwmKeys ( string `$prefix` , int `$max_recs` )
public mixed TokyoTyrant::get ( mixed `$keys` )
public TokyoTyrantIterator TokyoTyrant::getIterator ( void )
public int TokyoTyrant::num ( void )
public TokyoTyrant TokyoTyrant::out ( mixed `$keys` )
public TokyoTyrant TokyoTyrant::put ( mixed `$keys` [, string `$value` = NULL ] )
public TokyoTyrant TokyoTyrant::putCat ( mixed `$keys` [, string `$value` ] )
public TokyoTyrant TokyoTyrant::putKeep ( mixed `$keys` [, string `$value` ] )
public TokyoTyrant TokyoTyrant::putNr ( mixed `$keys` [, string `$value` = NULL ] )
public mixed TokyoTyrant::putShl ( string `$key` , string `$value` , int `$width` )
public mixed TokyoTyrant::restore ( string `$log_dir` , int `$timestamp` [, bool `$check_consistency` = true ] )
public mixed TokyoTyrant::setMaster ( string `$host` , int `$port` , int `$timestamp` [, bool `$check_consistency` = true ] )
public int TokyoTyrant::size ( string `$key` )
public array TokyoTyrant::stat ( void )
public mixed TokyoTyrant::sync ( void )
public TokyoTyrant TokyoTyrant::tune ( float `$timeout` [, int `$options` = TokyoTyrant::RDBT_RECON ] )
public mixed TokyoTyrant::vanish ( void )
}

# The TokyoTyrantQuery class

## Introduction

This class is used to query the table databases

## Class synopsis

TokyoTyrantQuery
class TokyoTyrantQuery implements Iterator {
/* Methods */
public mixed addCond ( string `$name` , int `$op` , string `$expr` )
public __construct ( TokyoTyrantTable `$table` )
public int count ( void )
public array current ( void )
public string hint ( void )
public string key ( void )
public array metaSearch ( array `$queries` , int `$type` )
public array next ( void )
public TokyoTyrantQuery out ( void )
public bool rewind ( void )
public array search ( void )
public mixed setLimit ([ int `$max` [, int `$skip` ]] )
public mixed setOrder ( string `$name` , int `$type` )
public bool valid ( void )
}

# The TokyoTyrantIterator class

## Introduction

Provides an iterator for TokyoTyrant and TokyoTyrantTable objects. The iterator iterates over all keys and values in the database. TokyoTyrantIterator was added in version 0.2.0.

## Class synopsis

TokyoTyrantIterator
class TokyoTyrantIterator implements Iterator {
/* Methods */
public __construct ( mixed `$object` )
public mixed current ( void )
public mixed key ( void )
public mixed next ( void )
public void rewind ( void )
public bool valid ( void )
/* Inherited methods */
public number TokyoTyrant::add ( string `$key` , number `$increment` [, int `$type` = 0 ] )
public TokyoTyrant TokyoTyrant::connect ( string `$host` [, int `$port` = TokyoTyrant::RDBDEF_PORT [, array `$options` ]] )
public TokyoTyrant TokyoTyrant::connectUri ( string `$uri` )
public TokyoTyrant::__construct ([ string `$host` [, int `$port` = TokyoTyrant::RDBDEF_PORT [, array `$options` ]]] )
public TokyoTyrant TokyoTyrant::copy ( string `$path` )
public string TokyoTyrant::ext ( string `$name` , int `$options` , string `$key` , string `$value` )
public array TokyoTyrant::fwmKeys ( string `$prefix` , int `$max_recs` )
public mixed TokyoTyrant::get ( mixed `$keys` )
public TokyoTyrantIterator TokyoTyrant::getIterator ( void )
public int TokyoTyrant::num ( void )
public TokyoTyrant TokyoTyrant::out ( mixed `$keys` )
public TokyoTyrant TokyoTyrant::put ( mixed `$keys` [, string `$value` = NULL ] )
public TokyoTyrant TokyoTyrant::putCat ( mixed `$keys` [, string `$value` ] )
public TokyoTyrant TokyoTyrant::putKeep ( mixed `$keys` [, string `$value` ] )
public TokyoTyrant TokyoTyrant::putNr ( mixed `$keys` [, string `$value` = NULL ] )
public mixed TokyoTyrant::putShl ( string `$key` , string `$value` , int `$width` )
public mixed TokyoTyrant::restore ( string `$log_dir` , int `$timestamp` [, bool `$check_consistency` = true ] )
public mixed TokyoTyrant::setMaster ( string `$host` , int `$port` , int `$timestamp` [, bool `$check_consistency` = true ] )
public int TokyoTyrant::size ( string `$key` )
public array TokyoTyrant::stat ( void )
public mixed TokyoTyrant::sync ( void )
public TokyoTyrant TokyoTyrant::tune ( float `$timeout` [, int `$options` = TokyoTyrant::RDBT_RECON ] )
public mixed TokyoTyrant::vanish ( void )
}

# The TokyoTyrantException class

## Introduction

TokyoTyrantException

## Class synopsis

tokyotyrantexception
class tokyotyrantexception extends Exception {
/* Properties */
protected int $code ;
/* Inherited properties */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* Inherited methods */
final public string Exception::getMessage ( void )
final public Exception Exception::getPrevious ( void )
final public mixed Exception::getCode ( void )
final public string Exception::getFile ( void )
final public int Exception::getLine ( void )
final public array Exception::getTrace ( void )
final public string Exception::getTraceAsString ( void )
public string Exception::__toString ( void )
final private void Exception::__clone ( void )
}

## Properties

code

  The exception code. This can be compared to `TokyoTyrant::TTE_*` constants