Connect with Perl

SingleStore supports the basic Perl drivers for MySQL using the standard DBI and DBM drivers. You may install and configure Perl using any of the supported methods, but you must have the MySQL driver to get Perl to work with SingleStore. You can also use the MariaDB Perl library.

Install Drivers for Perl

The following example installs the Perl drivers with the basic CPAN method:

$ perl -MCPAN -e shell
cpan> install DBI
cpan> install DBD::mysql

This command installed the following version of DBI and DBD:

perl -MDBI -e 'print $DBI::VERSION."\n"' # 1.642
perl -MDBD::mysql -e 'print $DBD::mysql::VERSION."\n"' # 4.050

Here's a sample script to test connectivity using the installed drivers. The following script connects to a workspace and retrieves some basic information about the workspace.

#!/usr/bin/perl
use strict;
use DBI;
my $host = "<ip_address_or_hostname";
my $database = "information_schema"; my $port = 3306;
my $tablename = "mv_activities";
my $user = "root";
my $pw = "";
my $dbh = DBI->connect("DBI:mysql:database=$database;host=$host",$user, $pw) or die "Cannot connect to MySQL server\n";
my $sql = 'select @@memsql_version';
my $sth = $dbh->prepare($sql);
$sth->execute();
while (my @row = $sth->fetchrow_array) {
print "MemSQL_Version: $row[0] \n";
}
my $sql = 'select count(*) from aggregators';
my $sth = $dbh->prepare($sql);
$sth->execute();
while (my @row = $sth->fetchrow_array) {
print "Aggregators: $row[0] \n";
}
my $sql = 'select count(*) from leaves';
my $sth = $dbh->prepare($sql);
$sth->execute();
while (my @row = $sth->fetchrow_array) {
print "Leaves $row[0] \n";
}
my $sql = 'select variable_name, variable_value from information_schema.global_status where variable_name = "uptime"';
my $sth = $dbh->prepare($sql);
$sth->execute();
while (my @row = $sth->fetchrow_array) {
#print "variable_name $row[0] variable_value $row[1]\n";
print "Workspace has been up for $row[1] seconds! \n";
}

Replace ip_address_or_hostname in the code above with the IP address or the hostname of your workspace. Here's a sample output:

$ ./show_workspace.pm
MemSQL_Version: 6.7.14 Aggregators: 1
Leaves 2
Workspace has been up for 16025 seconds!

DBD-MariaDB Perl Library

SingleStore also supports the MariaDB Perl Library v1.11 (GPLv2).

Binary

URL

Platform independent, includes source code

DBD-MariaDB-1.11.tar.gz

Last modified: April 7, 2023

Was this article helpful?