HTTP-ClickHouse
view release on metacpan or search on metacpan
lib/HTTP/ClickHouse.pm view on Meta::CPAN
);
options:
host => 'hogwards.mag', # optional, default value '127.0.0.1'
port => 8123, # optional, default value 8123
user => 'Harry', # optional, default value 'default'
password => 'Alohomora', # optional
database => 'database_name', # optional, default name "default"
nb_timeout => 10 # optional, default value 25 second
keep_alive => 1 # optional, default 1 (1 or 0)
debug => 1 # optional, default 0
=cut
sub new {
my $class = shift;
my $self = { @_ };
$self = bless $self, $class;
$self->_init();
$self->_connect();
lib/HTTP/ClickHouse.pm view on Meta::CPAN
my $_uri = URI->new("/");
$_uri->query_param('user' => $self->{user}) if $self->{user};
$_uri->query_param('password' => $self->{password}) if $self->{password};
$_uri->query_param('database' => $self->{database});
$self->{_uri} = nfreeze($_uri);
$self->{socket} = Net::HTTP::NB->new(
Host => $self->{host},
PeerPort => $self->{port},
HTTPVersion => '1.1',
KeepAlive => $self->{keep_alive}
) or carp "Error. Can't connect to ClickHouse host: $!";
}
sub uri {
my $self = shift;
return thaw($self->{_uri});
}
sub _status {
my $self = shift;
lib/HTTP/ClickHouse.pm view on Meta::CPAN
disconnect $chdb;
# or
$chdb->disconnect;
=cut
sub disconnect {
my $self = shift;
$self->{socket}->keep_alive(0) if ($self->{socket});
$self->_ping();
}
=head1 SEE ALSO
=over 4
=item * ClickHouse official documentation
( run in 0.742 second using v1.01-cache-2.11-cpan-71847e10f99 )