Aion-Query
view release on metacpan or search on metacpan
t/aion/query.t view on Meta::CPAN
use common::sense; use open qw/:std :utf8/; use Carp qw//; use File::Basename qw//; use File::Slurper qw//; use File::Spec qw//; use File::Path qw//; use Scalar::Util qw//; use Test::More 0.98; BEGIN { $SIG{__DIE__} = sub { my ($s) = @...
# # NAME
#
# Aion::Query - ÑÑнкÑионалÑнÑй инÑеÑÑÐµÐ¹Ñ Ð´Ð»Ñ Ð´Ð¾ÑÑÑпа к базам даннÑÑ
SQL (MySQL, MariaDB, Postgres и SQLite)
#
# # VERSION
#
# 0.0.5
#
# # SYNOPSIS
#
# File .config.pm:
#@> .config.pm
#>> package config;
#>>
#>> config_module Aion::Query => {
#>> DRV => "SQLite",
#>> BASE => "test-base.sqlite",
#>> BQ => 0,
#>> };
#>>
#>> 1;
#@< EOF
#
subtest 'SYNOPSIS' => sub {
use Aion::Query;
query "CREATE TABLE author (
id INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT NOT NULL UNIQUE
)";
::is scalar do {insert "author", name => "Pushkin A.S."}, scalar do{1}, 'insert "author", name => "Pushkin A.S." # -> 1';
::is scalar do {touch "author", name => "Pushkin A."}, scalar do{2}, 'touch "author", name => "Pushkin A." # -> 2';
::is scalar do {touch "author", name => "Pushkin A.S."}, scalar do{1}, 'touch "author", name => "Pushkin A.S." # -> 1';
::is scalar do {touch "author", name => "Pushkin A."}, scalar do{2}, 'touch "author", name => "Pushkin A." # -> 2';
::is scalar do {query_scalar "SELECT count(*) FROM author"}, scalar do{2}, 'query_scalar "SELECT count(*) FROM author" # -> 2';
my @rows = query "SELECT *
FROM author
WHERE 1
if_name>> AND name like :name
",
if_name => Aion::Query::BQ == 0,
name => "P%",
;
::is_deeply scalar do {\@rows}, scalar do {[{id => 1, name => "Pushkin A.S."}, {id => 2, name => "Pushkin A."}]}, '\@rows # --> [{id => 1, name => "Pushkin A.S."}, {id => 2, name => "Pushkin A."}]';
::is scalar do {$Aion::Query::DEBUG[1]}, "query: INSERT INTO author (name) VALUES ('Pushkin A.S.')", '$Aion::Query::DEBUG[1] # => query: INSERT INTO author (name) VALUES (\'Pushkin A.S.\')';
#
# # DESCRIPTION
#
# `Aion::Query` позволÑÐµÑ ÑÑÑоиÑÑ SQL-запÑÐ¾Ñ Ð¸ÑполÑзÑÑ Ð¿ÑоÑÑой меÑ
анизм Ñаблонов.
#
# ÐбÑÑно SQL-запÑоÑÑ ÑÑÑоÑÑÑÑ Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ ÑÑловий, ÑÑо нагÑÑÐ¶Ð°ÐµÑ ÐºÐ¾Ð´.
#
# ÐÑоÑÐ°Ñ Ð¿Ñоблема â ÑазмеÑение Ñимволов Юникода в однобайÑовÑÑ
кодиÑовкаÑ
, ÑÑо ÑменÑÑÐ°ÐµÑ ÑÐ°Ð·Ð¼ÐµÑ Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ
. Ðока пÑоблема ÑеÑена ÑолÑк...
( run in 3.380 seconds using v1.01-cache-2.11-cpan-39bf76dae61 )