Browse Source
We need DBI and the sqlite3 backend support for a small monitoring application. Make it available. The files were taken from meta-perl as of yesterday.neels/inmarsat

3 changed files with 134 additions and 0 deletions
@ -0,0 +1,69 @@
|
||||
#! /usr/bin/env perl |
||||
# |
||||
# This program is free software; you can redistribute it and/or modify |
||||
# it under the terms of the GNU General Public License as published by |
||||
# the Free Software Foundation; either version 2 of the License, or |
||||
# (at your option) any later version. |
||||
# |
||||
# This program is distributed in the hope that it will be useful, |
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
# GNU General Public License for more details. |
||||
# |
||||
# You should have received a copy of the GNU General Public License |
||||
# along with this program; if not, write to the Free Software Foundation. |
||||
# |
||||
# Copyright (C) 2013 Wind River Systems, Inc. |
||||
# |
||||
# - It tests DBI and DBD::SQLite could work correctly which means one could |
||||
# manipulate sqlite database in perl |
||||
# - The test includes create/insert/update/delete/select, the five important |
||||
# things one can do with a table |
||||
use DBI; |
||||
|
||||
sub execute_sql { |
||||
my $dbh = $_[0]; |
||||
my $sql = $_[1]; |
||||
my $sth = $dbh->prepare($sql) |
||||
or die "Couldn't prepare statement: " . $dbh->errstr; |
||||
$sth->execute(); |
||||
print "$sql\n"; |
||||
return $sth; |
||||
} |
||||
|
||||
sub select_all { |
||||
my $dbh = $_[0]; |
||||
my $table = $_[1]; |
||||
my $sth = &execute_sql($dbh, "Select * from $table"); |
||||
|
||||
print "-----------------------------------\n"; |
||||
while (@data = $sth->fetchrow_array()) { |
||||
my $name = $data[0]; |
||||
my $id = $data[1]; |
||||
print "$name: $id\n"; |
||||
} |
||||
print "\n"; |
||||
|
||||
$sth->finish; |
||||
return $sth; |
||||
} |
||||
|
||||
# A private, temporary in-memory database is created for the connection. |
||||
# This in-memory database will vanish when the database connection is |
||||
# closed. It is handy for your library tests. |
||||
my $dbfile = ":memory:"; |
||||
my $dbh = DBI->connect("DBI:SQLite:dbname=$dbfile","","") |
||||
or die "Couldn't connect to database: " . DBI->errstr; |
||||
print "Connect to SQLite's in-memory database\n"; |
||||
|
||||
&execute_sql($dbh, "Create table tbl1(name varchar(10), id smallint)"); |
||||
&execute_sql($dbh, "Insert into tbl1 values('yocto',10)"); |
||||
&execute_sql($dbh, "Insert into tbl1 values('windriver', 20)"); |
||||
&select_all($dbh, "tbl1"); |
||||
|
||||
&execute_sql($dbh, "Update tbl1 set name = 'oe-core' where id = 10"); |
||||
&execute_sql($dbh, "Delete from tbl1 where id = 20"); |
||||
&select_all($dbh, "tbl1"); |
||||
|
||||
$dbh->disconnect; |
||||
print "Test Success\n" |
@ -0,0 +1,39 @@
|
||||
SUMMARY = "A Perl DBI driver for SQLite" |
||||
DESCRIPTION = "DBD::SQLite is a Perl DBI driver for SQLite, that includes the entire \ |
||||
thing in the distribution. So in order to get a fast transaction capable \ |
||||
RDBMS working for your perl project you simply have to install this \ |
||||
module, and nothing else. \ |
||||
" |
||||
HOMEPAGE = "http://search.cpan.org/~ishigaki/DBD-SQLite/" |
||||
|
||||
SECTION = "libs" |
||||
LICENSE = "Artistic-1.0 | GPL-1.0+" |
||||
DEPENDS += "libdbi-perl-native" |
||||
RDEPENDS_${PN} += "libdbi-perl \ |
||||
sqlite3 \ |
||||
perl-module-constant \ |
||||
perl-module-locale \ |
||||
perl-module-tie-hash \ |
||||
" |
||||
|
||||
LIC_FILES_CHKSUM = "file://LICENSE;md5=1726e2117494ba3e13e1c3d93f795360" |
||||
|
||||
SRC_URI = "http://search.cpan.org/CPAN/authors/id/I/IS/ISHIGAKI/DBD-SQLite-${PV}.tar.gz \ |
||||
file://sqlite-perl-test.pl \ |
||||
" |
||||
|
||||
SRC_URI[md5sum] = "b9876882186499583428b14cf5c0e29c" |
||||
SRC_URI[sha256sum] = "21fb65e740b6265512c82232b4ad8f75c19ac84c216830112656274eb8e375fb" |
||||
|
||||
S = "${WORKDIR}/DBD-SQLite-${PV}" |
||||
|
||||
inherit cpan |
||||
|
||||
BBCLASSEXTEND = "native" |
||||
|
||||
do_install_append() { |
||||
if [ ${PERL_DBM_TEST} = "1" ]; then |
||||
install -m 755 -D ${WORKDIR}/sqlite-perl-test.pl ${D}/${bindir}/sqlite-perl-test.pl |
||||
fi |
||||
} |
||||
|
@ -0,0 +1,26 @@
|
||||
SUMMARY = "The Perl Database Interface" |
||||
DESCRIPTION = "DBI is a database access Application Programming Interface \ |
||||
(API) for the Perl Language. The DBI API Specification defines a set \ |
||||
of functions, variables and conventions that provide a consistent \ |
||||
database interface independent of the actual database being used. \ |
||||
" |
||||
HOMEPAGE = "http://search.cpan.org/dist/DBI/" |
||||
SECTION = "libs" |
||||
LICENSE = "Artistic-1.0 | GPL-1.0+" |
||||
RDEPENDS_${PN} = " perl-module-carp \ |
||||
perl-module-exporter \ |
||||
perl-module-exporter-heavy \ |
||||
perl-module-dynaloader \ |
||||
" |
||||
|
||||
LIC_FILES_CHKSUM = "file://DBI.pm;beginline=8147;endline=8151;md5=7d9e154a9ca3c093d2422f7c692d5861" |
||||
|
||||
SRC_URI = "http://search.cpan.org/CPAN/authors/id/T/TI/TIMB/DBI-${PV}.tar.gz" |
||||
SRC_URI[md5sum] = "4273f8cc6ee3979ce448c7eb3f8a6a5a" |
||||
SRC_URI[sha256sum] = "46c834f4ba1b28c8d8a2db8095835a67fc69a9585761523aea3a74437a969b52" |
||||
|
||||
S = "${WORKDIR}/DBI-${PV}" |
||||
|
||||
inherit cpan |
||||
|
||||
BBCLASSEXTEND = "native" |
Loading…
Reference in new issue