Tarantool Logo
Products
  • Tarantool Community
  • Tarantool Enterprise
  • Data Grid
  • Cartridge
  • Kubernetes
  • Connectors and Integrations
  • Rocks
Developers
  • Getting Started
  • Community documentation
  • Enterprise documentation
  • Data Grid documentation
  • Try Online
  • Download
  • Sizing calculator
Services
  • Solution delivery
  • Support contact form
Company
  • Contacts
  • Careers
  • News
  • Learn
T+ conference
Sign in
Sign up
  • Sign in
  • Sign up
  • T+ conference
  • Products
  • Tarantool Enterprise
  • Tarantool Community
  • Data Grid
  • Cartridge
  • Kubernetes
  • Connectors and Integrations
  • Rocks
  • Developers
  • Getting Started
  • Community documentation
  • Enterprise documentation
  • Data Grid documentation
  • Try Online
  • Download
  • Sizing calculator
  • Services
  • Solution delivery
  • Support contact form
  • Company
  • Contacts
  • Careers
  • News
  • Learn

Version:

2.2
  • 1.6
  • 1.10
  • Overview
    • An application server together with a database manager
    • Database features
  • User’s Guide
    • Preface
      • How to read the documentation
      • Getting in touch with the Tarantool community
      • Conventions used in this manual
    • Getting started
      • Using a Docker image
        • Launching a container
        • Attaching to Tarantool
        • Creating a database
        • Stopping a container
      • Using a binary package
        • Starting Tarantool
        • Creating a database
        • Connecting remotely
    • Database
      • Data model
        • Space
        • Tuple
        • Index
        • Data types
          • Lua vs MsgPack
          • Indexed field types
        • Collations
        • Sequences
          • Options for box.schema.sequence.create()
        • Persistence
        • Operations
          • Data operations
          • Index operations
          • Complexity factors
      • Transaction control
        • Threads, fibers and yields
        • Cooperative multitasking
        • Transactions
        • Implicit yields
      • Access control
        • Users
        • Passwords
        • Owners and privileges
        • Roles
        • Sessions and security
      • Triggers
      • Limitations
      • Storage engines
        • Differences between memtx and vinyl storage engines
        • Storing data with vinyl
          • Algorithm
          • Range searching
          • Advantages of an LSM tree
          • Disadvantages of an LSM tree and how to deal with them
          • Advanced features of vinyl
    • Tarantool Cartridge
      • About Tarantool Cartridge
      • Tarantool Cartridge developer’s guide
        • Installing Tarantool Cartridge
        • Application templates
          • Plain template
          • Cluster template
        • Cluster roles
          • Built-in roles
          • Custom roles
          • Defining role dependencies
          • Using multiple vshard storage groups
          • Role’s life cycle and the order of function execution
          • Configuring custom roles
          • Applying custom role’s configuration
        • Using the built-in HTTP server
        • Implementing authorization in the web interface
        • Application versioning
        • Using .cartridge-cli.ignore files
        • Deploying an application
          • Deploying as an rpm or deb package
          • Deploying as a tar+gz archive
          • Deploying from sources
        • Configuring instances
        • Starting/stopping instances
          • Start/stop using tarantool
          • Start/stop using cartridge CLI
          • Start/stop using systemctl
      • Tarantool Cartridge administrator’s guide
        • Deploying the cluster
        • Updating the configuration
        • Managing the cluster
          • Changing the cluster topology
          • Deactivating replica sets
          • Expelling instances
          • Enabling automatic failover
          • Switching the replica set’s master
        • Managing users
        • Resolving conflicts
        • Monitoring cluster via CLI
          • Connecting to nodes via CLI
          • Monitoring storages
          • Monitoring routers
        • Troubleshooting
        • Disaster recovery
        • Backups
    • Application server
      • Launching an application
        • Launching in Docker
        • Launching a binary program
      • Creating an application
        • Modules, rocks and applications
        • Avro schemas
        • Bootstrapping a database
        • GIS
        • Index iterators
        • Fibers
        • Logging
        • nginx
        • Non-blocking IO
      • Installing a module
        • Installing a module from a repository
        • Installing a module from deb/rpm
      • Contributing a module
        • Contributing a module in Lua
        • Contributing a module in C
      • Reloading a module
        • Reloading a module in Lua
        • Reloading a module in C
      • Developing with an IDE
      • Cookbook recipes
        • hello_world.lua
        • console_start.lua
        • fio_read.lua
        • fio_write.lua
        • ffi_printf.lua
        • ffi_gettimeofday.lua
        • ffi_zlib.lua
        • ffi_meta.lua
        • ffi_varbinary_insert.lua
        • print_arrays.lua
        • count_array.lua
        • count_array_with_nils.lua
        • count_array_with_nulls.lua
        • count_map.lua
        • swap.lua
        • class.lua
        • garbage.lua
        • fiber_producer_and_consumer.lua
        • socket_tcpconnect.lua
        • socket_tcp_echo.lua
        • getaddrinfo.lua
        • socket_udp_echo.lua
        • http_get.lua
        • http_send.lua
        • http_server.lua
        • http_generate_html.lua
    • Server administration
      • Instance configuration
        • Instance file
        • tarantoolctl configuration file
      • Starting/stopping an instance
        • Running Tarantool locally
      • Logs
      • Security
      • Server introspection
        • Using Tarantool as a client
        • Executing code on an instance
        • Health checks
        • Profiling performance issues
          • fiber.info()
          • Poor man’s profilers
          • gperftools
          • perf
          • jit.p
      • Daemon supervision
        • Server signals
        • Automatic instance restart
        • Core dumps
        • Stack traces
        • Debugger
      • Disaster recovery
        • Master-replica
        • Master-master
        • Data loss
      • Backups
        • Hot backup (memtx)
        • Hot backup (vinyl/memtx)
        • Continuous remote backup (memtx)
        • Continuous backup (memtx)
      • Upgrades
        • Upgrading a Tarantool database
        • Upgrading a Tarantool instance
          • How to upgrade from Tarantool 1.7 to 2.x
          • How to upgrade from Tarantool 1.6 to 2.x
          • How to upgrade from Tarantool 1.6 to 1.7
        • Upgrading Tarantool in a replication cluster
      • Notes for operating systems
        • Mac OS
        • FreeBSD
        • Gentoo Linux
      • Bug reports
      • Troubleshooting guide
        • Problem: INSERT/UPDATE-requests result in ER_MEMORY_ISSUE error
        • Problem: Tarantool generates too heavy CPU load
        • Problem: Query processing times out
        • Problem: Replication “lag” and “idle” contain negative values
        • Problem: Replication “idle” keeps growing, but no related log messages appear
        • Problem: Replication statistics differ on replicas within a replica set
        • Problem: Master-master replication is stopped
        • Problem: Tarantool works much slower than before
    • Replication
      • Replication architecture
        • Replication mechanism
        • Replication setup
        • Replication roles: master and replica
        • Replication topologies: cascade, ring and full mesh
      • Bootstrapping a replica set
        • Master-replica bootstrap
        • Controlled failover
        • Master-master bootstrap
      • Adding instances
        • Adding a replica
        • Adding a master
        • Orphan status
        • Server startup with replication
      • Removing instances
      • Monitoring a replica set
      • Recovering from a degraded state
      • Reseeding a replica
      • Preventing duplicate actions
        • Replication stops
        • Replication runs out of sync
        • Commutative changes
    • Connectors
      • Protocol
      • Packet example
      • Setting up the server for connector examples
      • Java
      • Go
      • R
      • Erlang
      • Perl
      • PHP
      • Python
      • Node.js
      • C#
      • C
        • Example 1
        • Example 2
      • Interpreting function return values
    • SQL
    • FAQ
  • Reference
    • SQL reference
      • SQL statements and clauses
        • ALTER TABLE
        • CREATE TABLE
          • Column definition
          • Column definition – data type
          • Column definition – the rules for the SCALAR data type
          • Column definition – relation to NoSQL
          • Column definition – column-constraint or default clause
          • Column definition – examples
        • DROP TABLE
        • CREATE VIEW
        • DROP VIEW
        • CREATE INDEX
        • DROP INDEX
        • INSERT
        • UPDATE
        • DELETE
        • REPLACE
        • CREATE TRIGGER
          • Trigger extra clauses
          • Trigger activation
          • INSTEAD OF triggers
        • DROP TRIGGER
        • TRUNCATE
        • SELECT
          • Select-list
          • FROM clause
          • WHERE clause
          • GROUP BY clause
          • Aggregate functions
          • HAVING clause
          • ORDER BY clause
          • LIMIT clause
          • VALUES
          • Subquery
          • WITH clause
          • WITH RECURSIVE
          • UNION, EXCEPT, and INTERSECT clauses
          • INDEXED BY clause
        • Transactions
          • START TRANSACTION
          • COMMIT
          • SAVEPOINT
          • RELEASE SAVEPOINT
          • ROLLBACK
        • Functions
          • CHAR
          • COALESCE
          • HEX
          • IFNULL
          • LENGTH
          • LOWER
          • NULLIF
          • PRINTF
          • QUOTE
          • SOUNDEX
          • UNICODE
          • UPPER
          • VERSION
    • Built-in modules reference
      • Module box
        • Submodule box.backup
        • Submodule box.cfg
        • Submodule box.ctl
        • Submodule box.error
          • Overview
          • Index
        • Submodule box.index
          • Overview
          • Index
          • Example showing use of the box functions
          • Example showing a user-defined iterator
          • Submodule box.index with index type = RTREE for spatial searches
        • Submodule box.info
        • Function box.once
        • Submodule box.schema
          • Overview
          • Index
        • Submodule box.session
          • Overview
          • Index
        • Submodule box.slab
          • Overview
          • Index
        • Submodule box.space
          • Overview
          • Index
          • Example: using box.space functions to read _space tuples
          • Example: using box.space functions to organize a _space tuple
          • Example: using data operations
        • Submodule box.stat
        • Function box.snapshot
        • Submodule box.tuple
          • Overview
          • Index
          • Example
        • Functions for transaction management
          • Overview
          • Index
        • Functions for SQL
      • Module buffer
      • Module clock
        • Overview
        • Index
      • Module console
        • Overview
        • Index
      • Module crypto
        • Overview
        • Index
        • Incremental methods in the crypto module
        • Getting the same results from digest and crypto modules
      • Module csv
        • Overview
        • Index
      • Module decimal
      • Module digest
        • Overview
        • Index
          • Incremental methods in the digest module
          • Example
      • Module errno
        • Overview
        • Index
      • Module fiber
        • Overview
        • Index
        • Fibers
          • Example
        • Channels
          • Example
        • Condition variables
          • Example
      • Module fio
        • Overview
        • Index
        • Common pathname manipulations
        • Directory or file existence and type checks
        • Common file manipulations
        • FIO constants
      • Module fun
      • Module http
        • Overview
        • Index
      • Module iconv
        • Overview
        • Index
      • Module json
        • Overview
        • Index
      • Module key_def
      • Module log
        • Overview
        • Index
        • Example
      • Module merger
        • Overview
        • Index
      • Module msgpack
        • Overview
        • Index
        • Example
      • Module net.box
        • Overview
        • Index
        • Triggers
        • Example
      • Module os
        • Overview
        • Index
      • Module pickle
        • Index
      • Module socket
        • Overview
        • Index
        • Recommended size
        • Examples
          • Use of a TCP socket over the Internet
          • Use of a UDP socket on localhost
          • Use tcp_server to accept file contents sent with socat
      • Module strict
      • Module string
        • Overview
        • Index
      • Module swim
        • Overview
        • SWIM internals
      • Module table
      • Module tap
        • Overview
        • Index
        • Example
      • Module tarantool
      • Module uuid
        • Overview
        • Index
        • Example
      • Module utf8
        • Overview
      • Module uri
        • Overview
        • Index
      • Module xlog
      • Module yaml
        • Overview
        • Index
        • Example
      • Other package components
      • Database error codes
      • Handling errors
      • Debug facilities
        • Overview
        • Index
    • Rocks reference
      • SQL DBMS Modules
        • MySQL Example
          • Installation
          • Connecting
          • How to ping
          • Executing a statement
          • Closing connection
          • Example
        • PostgreSQL Example
          • Installation
          • Connecting
          • How to ping
          • Executing a statement
          • Closing connection
          • Example
      • Module expirationd
      • Module membership
        • Member data structure
        • API reference
      • Module shard
        • Example: shard.init syntax for one shard
        • Example: shard.init syntax for three shards
        • Example: shard, minimal configuration
        • Example: shard, scaling out
      • Module vshard
        • Summary
        • Architecture
          • Overview
          • Structure
          • Migration of buckets
          • Processing requests
          • Glossary
        • Administration
          • Installation
          • Configuration
        • Quick start guide
          • Sample configuration
        • Configuration reference
          • Basic parameters
          • Replica set functions
          • API reference
      • Module tdb
        • Debugger Commands
        • Example Session
      • Cartridge API
      • Cartridge Command Line Interface
        • Installation
        • Usage
          • Applications lifecycle
          • Managing instances
        • Misc
          • Running end-to-end tests
    • Configuration reference
      • Command options
      • URI
      • Initialization file
      • Configuration parameters
        • Basic parameters
        • Configuring the storage
        • Checkpoint daemon
        • Binary logging and snapshots
        • Hot standby
        • Replication
        • Networking
        • Logging
          • Logging example
        • Feedback
        • Deprecated parameters
    • Interactive console
    • Utility tarantoolctl
      • Command format
      • Commands for managing Tarantool instances
      • Commands for managing checkpoint files
      • Commands for managing Tarantool modules
    • Tips on Lua syntax
      • Object reference variations
      • Parameter variations
      • Rules for object names
  • Tutorials
    • Lua tutorials
      • Insert one million tuples with a Lua stored procedure
        • Configure
        • Delimiter
        • Create a function that returns a string
        • Create a function that calls another function and sets a variable
        • Modify the function so it returns a one-letter random string
        • Modify the function so it returns a ten-letter random string
        • Make a tuple out of a number and a string
        • Modify main_function to insert a tuple into the database
        • Modify main_function to insert a million tuples into the database
      • Sum a JSON field for all tuples
      • Indexed pattern search
    • C tutorial
      • C stored procedures
    • SQL tutorial
      • Starting up with a first table and SELECTs
        • Initialize
        • set
        • CREATE, INSERT, UPDATE, SELECT
        • CREATE TABLE
        • INSERT
        • SELECT with ORDER BY clause
        • SELECT with WHERE clauses
        • SELECT with GROUP BY and aggregating
      • Complications and complex SELECTs
        • NULLs
        • Indexes
        • Create a subset table
        • SELECT with a subquery
        • SELECT with a join
      • Constraints affecting updates
        • CREATE TABLE, with a CHECK clause
        • CREATE TABLE, with a FOREIGN KEY clause
        • UPDATE
        • DELETE
        • ALTER TABLE, with a FOREIGN KEY clause
        • Triggers
      • Operators and functions
        • String operations
        • Number operations
        • Ranges and limits
        • Views
        • Common table expressions
        • VALUES
        • Metadata
      • Calling from a host language to make a big table
        • box.execute()
        • Create a million-row table
        • Select from a million-row table
        • Cleanup and exit
    • libslave tutorial
  • Release Notes
    • Version 2.x
    • Version 1.10
    • Version 1.9
    • Version 1.8
    • Version 1.7
    • Version 1.6
  • Contributor’s Guide
    • C API reference
      • Module box
      • Module clock
      • Module coio
      • Module error
      • Module fiber
      • Module index
      • Module latch
      • Module lua/utils
      • Module say (logging)
      • Module schema
      • Module trivia/config
      • Module tuple
      • Module txn
    • Internals
      • Binary protocol
        • Notation in diagrams
        • Greeting packet
        • Unified packet structure
        • Authentication
        • Requests
        • Response packet structure
        • Replication packet structure
        • XLOG / SNAP
      • SQL protocol
        • Request packet body
        • Response packet body
      • File formats
        • Data persistence and the WAL file format
        • The snapshot file format
      • The recovery process
      • Server startup with replication
    • Build and contribute
      • Building from source
      • Release management
        • Release policy
        • How to make a minor release
        • How to release a Docker container
    • Guidelines
      • Developer guidelines
        • How to work on a bug
        • How to write a commit message
        • How to submit a patch for review
      • Documentation guidelines
        • Markup issues
          • Wrapping text
          • Formatting code snippets
          • Using separated links
          • Creating labels for local links
          • Making comments
        • Language and style issues
          • US vs British spelling
          • Instance vs server
        • Examples and templates
          • Module and function
          • Module, class and method
      • C Style Guide
        • General guidelines
          • Commenting style
          • Header files
          • Allocating memory
          • Other
        • Linux kernel coding style
          • Chapter 1: Indentation
          • Chapter 2: Breaking long lines and strings
          • Chapter 3: Placing Braces and Spaces
          • Chapter 3.1: Spaces
          • Chapter 4: Naming
          • Chapter 5: Typedefs
          • Chapter 6: Functions
          • Chapter 7: Centralized exiting of functions
          • Chapter 8: Commenting
          • Chapter 9: You’ve made a mess of it
          • Chapter 10: Kconfig configuration files
          • Chapter 11: Data structures
          • Chapter 12: Macros, Enums and RTL
          • Chapter 13: Printing kernel messages
          • Chapter 14: Allocating memory
          • Chapter 15: The inline disease
          • Chapter 16: Function return values and names
          • Chapter 17: Don’t re-invent the kernel macros
          • Chapter 18: Editor modelines and other cruft
          • Appendix I: References
      • Python Style Guide
        • Introduction
        • A Foolish Consistency is the Hobgoblin of Little Minds
        • Code lay-out
          • Indentation
          • Tabs or Spaces?
          • Maximum Line Length
          • Blank Lines
          • Encodings (PEP 263)
          • Imports
        • Whitespace in Expressions and Statements
          • Pet Peeves
          • Other Recommendations
        • Comments
          • Block Comments
          • Inline Comments
          • Documentation Strings
        • Version Bookkeeping
        • Naming Conventions
          • Descriptive: Naming Styles
          • Prescriptive: Naming Conventions
        • References
        • Copyright
      • Lua Style Guide
        • Indentation and Formatting
        • Avoid global variable
        • Naming
        • Idioms and patterns
        • Modules
        • Commenting
        • Testing
        • Error Handling

  • Overview
    • An application server together with a database manager
    • Database features
  • User’s Guide
    • Preface
      • How to read the documentation
      • Getting in touch with the Tarantool community
      • Conventions used in this manual
    • Getting started
      • Using a Docker image
        • Launching a container
        • Attaching to Tarantool
        • Creating a database
        • Stopping a container
      • Using a binary package
        • Starting Tarantool
        • Creating a database
        • Connecting remotely
    • Database
      • Data model
        • Space
        • Tuple
        • Index
        • Data types
          • Lua vs MsgPack
          • Indexed field types
        • Collations
        • Sequences
          • Options for box.schema.sequence.create()
        • Persistence
        • Operations
          • Data operations
          • Index operations
          • Complexity factors
      • Transaction control
        • Threads, fibers and yields
        • Cooperative multitasking
        • Transactions
        • Implicit yields
      • Access control
        • Users
        • Passwords
        • Owners and privileges
        • Roles
        • Sessions and security
      • Triggers
      • Limitations
      • Storage engines
        • Differences between memtx and vinyl storage engines
        • Storing data with vinyl
          • Algorithm
          • Range searching
          • Advantages of an LSM tree
          • Disadvantages of an LSM tree and how to deal with them
          • Advanced features of vinyl
    • Tarantool Cartridge
      • About Tarantool Cartridge
      • Tarantool Cartridge developer’s guide
        • Installing Tarantool Cartridge
        • Application templates
          • Plain template
          • Cluster template
        • Cluster roles
          • Built-in roles
          • Custom roles
          • Defining role dependencies
          • Using multiple vshard storage groups
          • Role’s life cycle and the order of function execution
          • Configuring custom roles
          • Applying custom role’s configuration
        • Using the built-in HTTP server
        • Implementing authorization in the web interface
        • Application versioning
        • Using .cartridge-cli.ignore files
        • Deploying an application
          • Deploying as an rpm or deb package
          • Deploying as a tar+gz archive
          • Deploying from sources
        • Configuring instances
        • Starting/stopping instances
          • Start/stop using tarantool
          • Start/stop using cartridge CLI
          • Start/stop using systemctl
      • Tarantool Cartridge administrator’s guide
        • Deploying the cluster
        • Updating the configuration
        • Managing the cluster
          • Changing the cluster topology
          • Deactivating replica sets
          • Expelling instances
          • Enabling automatic failover
          • Switching the replica set’s master
        • Managing users
        • Resolving conflicts
        • Monitoring cluster via CLI
          • Connecting to nodes via CLI
          • Monitoring storages
          • Monitoring routers
        • Troubleshooting
        • Disaster recovery
        • Backups
    • Application server
      • Launching an application
        • Launching in Docker
        • Launching a binary program
      • Creating an application
        • Modules, rocks and applications
        • Avro schemas
        • Bootstrapping a database
        • GIS
        • Index iterators
        • Fibers
        • Logging
        • nginx
        • Non-blocking IO
      • Installing a module
        • Installing a module from a repository
        • Installing a module from deb/rpm
      • Contributing a module
        • Contributing a module in Lua
        • Contributing a module in C
      • Reloading a module
        • Reloading a module in Lua
        • Reloading a module in C
      • Developing with an IDE
      • Cookbook recipes
        • hello_world.lua
        • console_start.lua
        • fio_read.lua
        • fio_write.lua
        • ffi_printf.lua
        • ffi_gettimeofday.lua
        • ffi_zlib.lua
        • ffi_meta.lua
        • ffi_varbinary_insert.lua
        • print_arrays.lua
        • count_array.lua
        • count_array_with_nils.lua
        • count_array_with_nulls.lua
        • count_map.lua
        • swap.lua
        • class.lua
        • garbage.lua
        • fiber_producer_and_consumer.lua
        • socket_tcpconnect.lua
        • socket_tcp_echo.lua
        • getaddrinfo.lua
        • socket_udp_echo.lua
        • http_get.lua
        • http_send.lua
        • http_server.lua
        • http_generate_html.lua
    • Server administration
      • Instance configuration
        • Instance file
        • tarantoolctl configuration file
      • Starting/stopping an instance
        • Running Tarantool locally
      • Logs
      • Security
      • Server introspection
        • Using Tarantool as a client
        • Executing code on an instance
        • Health checks
        • Profiling performance issues
          • fiber.info()
          • Poor man’s profilers
          • gperftools
          • perf
          • jit.p
      • Daemon supervision
        • Server signals
        • Automatic instance restart
        • Core dumps
        • Stack traces
        • Debugger
      • Disaster recovery
        • Master-replica
        • Master-master
        • Data loss
      • Backups
        • Hot backup (memtx)
        • Hot backup (vinyl/memtx)
        • Continuous remote backup (memtx)
        • Continuous backup (memtx)
      • Upgrades
        • Upgrading a Tarantool database
        • Upgrading a Tarantool instance
          • How to upgrade from Tarantool 1.7 to 2.x
          • How to upgrade from Tarantool 1.6 to 2.x
          • How to upgrade from Tarantool 1.6 to 1.7
        • Upgrading Tarantool in a replication cluster
      • Notes for operating systems
        • Mac OS
        • FreeBSD
        • Gentoo Linux
      • Bug reports
      • Troubleshooting guide
        • Problem: INSERT/UPDATE-requests result in ER_MEMORY_ISSUE error
        • Problem: Tarantool generates too heavy CPU load
        • Problem: Query processing times out
        • Problem: Replication “lag” and “idle” contain negative values
        • Problem: Replication “idle” keeps growing, but no related log messages appear
        • Problem: Replication statistics differ on replicas within a replica set
        • Problem: Master-master replication is stopped
        • Problem: Tarantool works much slower than before
    • Replication
      • Replication architecture
        • Replication mechanism
        • Replication setup
        • Replication roles: master and replica
        • Replication topologies: cascade, ring and full mesh
      • Bootstrapping a replica set
        • Master-replica bootstrap
        • Controlled failover
        • Master-master bootstrap
      • Adding instances
        • Adding a replica
        • Adding a master
        • Orphan status
        • Server startup with replication
      • Removing instances
      • Monitoring a replica set
      • Recovering from a degraded state
      • Reseeding a replica
      • Preventing duplicate actions
        • Replication stops
        • Replication runs out of sync
        • Commutative changes
    • Connectors
      • Protocol
      • Packet example
      • Setting up the server for connector examples
      • Java
      • Go
      • R
      • Erlang
      • Perl
      • PHP
      • Python
      • Node.js
      • C#
      • C
        • Example 1
        • Example 2
      • Interpreting function return values
    • SQL
    • FAQ
  • Reference
    • SQL reference
      • SQL statements and clauses
        • ALTER TABLE
        • CREATE TABLE
          • Column definition
          • Column definition – data type
          • Column definition – the rules for the SCALAR data type
          • Column definition – relation to NoSQL
          • Column definition – column-constraint or default clause
          • Column definition – examples
        • DROP TABLE
        • CREATE VIEW
        • DROP VIEW
        • CREATE INDEX
        • DROP INDEX
        • INSERT
        • UPDATE
        • DELETE
        • REPLACE
        • CREATE TRIGGER
          • Trigger extra clauses
          • Trigger activation
          • INSTEAD OF triggers
        • DROP TRIGGER
        • TRUNCATE
        • SELECT
          • Select-list
          • FROM clause
          • WHERE clause
          • GROUP BY clause
          • Aggregate functions
          • HAVING clause
          • ORDER BY clause
          • LIMIT clause
          • VALUES
          • Subquery
          • WITH clause
          • WITH RECURSIVE
          • UNION, EXCEPT, and INTERSECT clauses
          • INDEXED BY clause
        • Transactions
          • START TRANSACTION
          • COMMIT
          • SAVEPOINT
          • RELEASE SAVEPOINT
          • ROLLBACK
        • Functions
          • CHAR
          • COALESCE
          • HEX
          • IFNULL
          • LENGTH
          • LOWER
          • NULLIF
          • PRINTF
          • QUOTE
          • SOUNDEX
          • UNICODE
          • UPPER
          • VERSION
    • Built-in modules reference
      • Module box
        • Submodule box.backup
        • Submodule box.cfg
        • Submodule box.ctl
        • Submodule box.error
          • Overview
          • Index
        • Submodule box.index
          • Overview
          • Index
          • Example showing use of the box functions
          • Example showing a user-defined iterator
          • Submodule box.index with index type = RTREE for spatial searches
        • Submodule box.info
        • Function box.once
        • Submodule box.schema
          • Overview
          • Index
        • Submodule box.session
          • Overview
          • Index
        • Submodule box.slab
          • Overview
          • Index
        • Submodule box.space
          • Overview
          • Index
          • Example: using box.space functions to read _space tuples
          • Example: using box.space functions to organize a _space tuple
          • Example: using data operations
        • Submodule box.stat
        • Function box.snapshot
        • Submodule box.tuple
          • Overview
          • Index
          • Example
        • Functions for transaction management
          • Overview
          • Index
        • Functions for SQL
      • Module buffer
      • Module clock
        • Overview
        • Index
      • Module console
        • Overview
        • Index
      • Module crypto
        • Overview
        • Index
        • Incremental methods in the crypto module
        • Getting the same results from digest and crypto modules
      • Module csv
        • Overview
        • Index
      • Module decimal
      • Module digest
        • Overview
        • Index
          • Incremental methods in the digest module
          • Example
      • Module errno
        • Overview
        • Index
      • Module fiber
        • Overview
        • Index
        • Fibers
          • Example
        • Channels
          • Example
        • Condition variables
          • Example
      • Module fio
        • Overview
        • Index
        • Common pathname manipulations
        • Directory or file existence and type checks
        • Common file manipulations
        • FIO constants
      • Module fun
      • Module http
        • Overview
        • Index
      • Module iconv
        • Overview
        • Index
      • Module json
        • Overview
        • Index
      • Module key_def
      • Module log
        • Overview
        • Index
        • Example
      • Module merger
        • Overview
        • Index
      • Module msgpack
        • Overview
        • Index
        • Example
      • Module net.box
        • Overview
        • Index
        • Triggers
        • Example
      • Module os
        • Overview
        • Index
      • Module pickle
        • Index
      • Module socket
        • Overview
        • Index
        • Recommended size
        • Examples
          • Use of a TCP socket over the Internet
          • Use of a UDP socket on localhost
          • Use tcp_server to accept file contents sent with socat
      • Module strict
      • Module string
        • Overview
        • Index
      • Module swim
        • Overview
        • SWIM internals
      • Module table
      • Module tap
        • Overview
        • Index
        • Example
      • Module tarantool
      • Module uuid
        • Overview
        • Index
        • Example
      • Module utf8
        • Overview
      • Module uri
        • Overview
        • Index
      • Module xlog
      • Module yaml
        • Overview
        • Index
        • Example
      • Other package components
      • Database error codes
      • Handling errors
      • Debug facilities
        • Overview
        • Index
    • Rocks reference
      • SQL DBMS Modules
        • MySQL Example
          • Installation
          • Connecting
          • How to ping
          • Executing a statement
          • Closing connection
          • Example
        • PostgreSQL Example
          • Installation
          • Connecting
          • How to ping
          • Executing a statement
          • Closing connection
          • Example
      • Module expirationd
      • Module membership
        • Member data structure
        • API reference
      • Module shard
        • Example: shard.init syntax for one shard
        • Example: shard.init syntax for three shards
        • Example: shard, minimal configuration
        • Example: shard, scaling out
      • Module vshard
        • Summary
        • Architecture
          • Overview
          • Structure
          • Migration of buckets
          • Processing requests
          • Glossary
        • Administration
          • Installation
          • Configuration
        • Quick start guide
          • Sample configuration
        • Configuration reference
          • Basic parameters
          • Replica set functions
          • API reference
      • Module tdb
        • Debugger Commands
        • Example Session
      • Cartridge API
      • Cartridge Command Line Interface
        • Installation
        • Usage
          • Applications lifecycle
          • Managing instances
        • Misc
          • Running end-to-end tests
    • Configuration reference
      • Command options
      • URI
      • Initialization file
      • Configuration parameters
        • Basic parameters
        • Configuring the storage
        • Checkpoint daemon
        • Binary logging and snapshots
        • Hot standby
        • Replication
        • Networking
        • Logging
          • Logging example
        • Feedback
        • Deprecated parameters
    • Interactive console
    • Utility tarantoolctl
      • Command format
      • Commands for managing Tarantool instances
      • Commands for managing checkpoint files
      • Commands for managing Tarantool modules
    • Tips on Lua syntax
      • Object reference variations
      • Parameter variations
      • Rules for object names
  • Tutorials
    • Lua tutorials
      • Insert one million tuples with a Lua stored procedure
        • Configure
        • Delimiter
        • Create a function that returns a string
        • Create a function that calls another function and sets a variable
        • Modify the function so it returns a one-letter random string
        • Modify the function so it returns a ten-letter random string
        • Make a tuple out of a number and a string
        • Modify main_function to insert a tuple into the database
        • Modify main_function to insert a million tuples into the database
      • Sum a JSON field for all tuples
      • Indexed pattern search
    • C tutorial
      • C stored procedures
    • SQL tutorial
      • Starting up with a first table and SELECTs
        • Initialize
        • set
        • CREATE, INSERT, UPDATE, SELECT
        • CREATE TABLE
        • INSERT
        • SELECT with ORDER BY clause
        • SELECT with WHERE clauses
        • SELECT with GROUP BY and aggregating
      • Complications and complex SELECTs
        • NULLs
        • Indexes
        • Create a subset table
        • SELECT with a subquery
        • SELECT with a join
      • Constraints affecting updates
        • CREATE TABLE, with a CHECK clause
        • CREATE TABLE, with a FOREIGN KEY clause
        • UPDATE
        • DELETE
        • ALTER TABLE, with a FOREIGN KEY clause
        • Triggers
      • Operators and functions
        • String operations
        • Number operations
        • Ranges and limits
        • Views
        • Common table expressions
        • VALUES
        • Metadata
      • Calling from a host language to make a big table
        • box.execute()
        • Create a million-row table
        • Select from a million-row table
        • Cleanup and exit
    • libslave tutorial
  • Release Notes
    • Version 2.x
    • Version 1.10
    • Version 1.9
    • Version 1.8
    • Version 1.7
    • Version 1.6
  • Contributor’s Guide
    • C API reference
      • Module box
      • Module clock
      • Module coio
      • Module error
      • Module fiber
      • Module index
      • Module latch
      • Module lua/utils
      • Module say (logging)
      • Module schema
      • Module trivia/config
      • Module tuple
      • Module txn
    • Internals
      • Binary protocol
        • Notation in diagrams
        • Greeting packet
        • Unified packet structure
        • Authentication
        • Requests
        • Response packet structure
        • Replication packet structure
        • XLOG / SNAP
      • SQL protocol
        • Request packet body
        • Response packet body
      • File formats
        • Data persistence and the WAL file format
        • The snapshot file format
      • The recovery process
      • Server startup with replication
    • Build and contribute
      • Building from source
      • Release management
        • Release policy
        • How to make a minor release
        • How to release a Docker container
    • Guidelines
      • Developer guidelines
        • How to work on a bug
        • How to write a commit message
        • How to submit a patch for review
      • Documentation guidelines
        • Markup issues
          • Wrapping text
          • Formatting code snippets
          • Using separated links
          • Creating labels for local links
          • Making comments
        • Language and style issues
          • US vs British spelling
          • Instance vs server
        • Examples and templates
          • Module and function
          • Module, class and method
      • C Style Guide
        • General guidelines
          • Commenting style
          • Header files
          • Allocating memory
          • Other
        • Linux kernel coding style
          • Chapter 1: Indentation
          • Chapter 2: Breaking long lines and strings
          • Chapter 3: Placing Braces and Spaces
          • Chapter 3.1: Spaces
          • Chapter 4: Naming
          • Chapter 5: Typedefs
          • Chapter 6: Functions
          • Chapter 7: Centralized exiting of functions
          • Chapter 8: Commenting
          • Chapter 9: You’ve made a mess of it
          • Chapter 10: Kconfig configuration files
          • Chapter 11: Data structures
          • Chapter 12: Macros, Enums and RTL
          • Chapter 13: Printing kernel messages
          • Chapter 14: Allocating memory
          • Chapter 15: The inline disease
          • Chapter 16: Function return values and names
          • Chapter 17: Don’t re-invent the kernel macros
          • Chapter 18: Editor modelines and other cruft
          • Appendix I: References
      • Python Style Guide
        • Introduction
        • A Foolish Consistency is the Hobgoblin of Little Minds
        • Code lay-out
          • Indentation
          • Tabs or Spaces?
          • Maximum Line Length
          • Blank Lines
          • Encodings (PEP 263)
          • Imports
        • Whitespace in Expressions and Statements
          • Pet Peeves
          • Other Recommendations
        • Comments
          • Block Comments
          • Inline Comments
          • Documentation Strings
        • Version Bookkeeping
        • Naming Conventions
          • Descriptive: Naming Styles
          • Prescriptive: Naming Conventions
        • References
        • Copyright
      • Lua Style Guide
        • Indentation and Formatting
        • Avoid global variable
        • Naming
        • Idioms and patterns
        • Modules
        • Commenting
        • Testing
        • Error Handling
Tarantool Logo
  • Products
  • Tarantool Enterprise
  • Tarantool Community
  • Connectors and Integrations
  • Rocks
  • Developers
  • Getting Started
  • Documentation
  • Try Online
  • Download
  • Services
  • Support
  • Learn
  • Company
  • Contacts
  • Careers
  • News
© 2019, Tarantool, All Rights Reserved.