NAME
Rethinkdb::IO - RethinkDB IO
SYNOPSIS
package MyApp;
use Rethinkdb::IO;
my $io = Rethinkdb::IO->new->connect;
$io->use('marvel');
$io->close;
DESCRIPTION
This module handles communicating with the RethinkDB Database.
ATTRIBUTES
Rethinkdb::IO implements the following attributes.
host
my $io = Rethinkdb::IO->new->connect;
my $host = $io->host;
$io->host('r.example.com');
The host
attribute returns or sets the current host name that Rethinkdb::IO is currently set to use.
port
my $io = Rethinkdb::IO->new->connect;
my $port = $io->port;
$io->port(1212);
The port
attribute returns or sets the current port number that Rethinkdb::IO is currently set to use.
default_db
my $io = Rethinkdb::IO->new->connect;
my $port = $io->default_db;
$io->default_db('marvel');
The default_db
attribute returns or sets the current database name that Rethinkdb::IO is currently set to use.
auth_key
my $io = Rethinkdb::IO->new->connect;
my $port = $io->auth_key;
$io->auth_key('setec astronomy');
The auth_key
attribute returns or sets the current authentication key that Rethinkdb::IO is currently set to use.
timeout
my $io = Rethinkdb::IO->new->connect;
my $timeout = $io->timeout;
$io->timeout(60);
The timeout
attribute returns or sets the timeout length that Rethinkdb::IO is currently set to use.
METHODS
Rethinkdb::IO inherits all methods from Rethinkdb::Base and implements the following methods.
connect
my $io = Rethinkdb::IO->new;
$io->host('rdb.example.com');
$io->connect->repl;
The connect
method initiates the connection to the RethinkDB database.
close
my $io = Rethinkdb::IO->new;
$io->host('rdb.example.com');
$io->connect;
$io->close;
The connect
method closes the current connection to the RethinkDB database.
reconnect
my $io = Rethinkdb::IO->new;
$io->host('rdb.example.com');
$io->connect;
$io->reconnect;
The reconnect
method closes and reopens a connection to the RethinkDB database.
repl
my $io = Rethinkdb::IO->new;
$io->host('rdb.example.com');
$io->connect->repl;
The repl
method caches the current connection in to the main program so that it is available to for all Rethinkdb queries without specifically specifying one.
use
my $io = Rethinkdb::IO->new;
$io->use('marven');
$io->connect;
The use
method sets the default database name to use for all queries that use this connection.
noreply_wait
my $io = Rethinkdb::IO->new;
$io->noreply_wait;
The noreply_wait
method will tell the database to wait until all "no reply" have executed before responding.
server
my $conn = r->connect;
$conn->server;
Return information about the server being used by this connection.
The server command returns either two or three fields:
id
: the UUID of the server the client is connected to.proxy
: a boolean indicating whether the server is a "/rethinkdb.com/docs/sharding-and-replication/#running-a-proxy-node" in RethinkDB proxy node!http:.name
: the server name. If proxy isr-
true>, this field will not be returned.