Aion-Query
view release on metacpan or search on metacpan
ÐÐ»Ñ ÑÑого иÑполÑзÑеÑÑÑ `$Aion::Query::base_connection_id`.
SQLite ÑабоÑÐ°ÐµÑ Ð² Ñом же пÑоÑеÑÑе, поÑÑÐ¾Ð¼Ñ `$Aion::Query::base_connection_id` Ð¸Ð¼ÐµÐµÑ `-1`. То еÑÑÑ Ð´Ð»Ñ SQLite ÑÑÐ¾Ñ Ð¼ÐµÑод ниÑего не делаеÑ.
```perl
my @x = query_stop;
\@x # --> []
```
## sql_debug ($fn, $query)
СоÑ
ÑанÑÐµÑ Ð·Ð°Ð¿ÑоÑÑ Ðº базе даннÑÑ
в `@Aion::Query::DEBUG`. ÐÑзÑваеÑÑÑ Ð¸Ð· `query_do`.
```perl
sql_debug label => "SELECT 123";
$Aion::Query::DEBUG[$#Aion::Query::DEBUG] # => label: SELECT 123
```
# AUTHOR
Yaroslav O. Kosmina [dart@cpan.org](dart@cpan.org)
# LICENSE
i18n/Aion/Query.ru-en.po view on Meta::CPAN
msgid "Ð¡Ð¾Ð·Ð´Ð°ÐµÑ Ð´Ð¾Ð¿Ð¾Ð»Ð½Ð¸ÑелÑное Ñоединение Ñ Ð±Ð°Ð·Ð¾Ð¹ и ÑÐ±Ð¸Ð²Ð°ÐµÑ Ð¾Ñновное."
msgstr "Creates an additional connection to the base and kills the main one."
msgid "ÐÐ»Ñ ÑÑого иÑполÑзÑеÑÑÑ `$Aion::Query::base_connection_id`."
msgstr "To do this, use `$Aion::Query::base_connection_id`."
msgid "SQLite ÑабоÑÐ°ÐµÑ Ð² Ñом же пÑоÑеÑÑе, поÑÑÐ¾Ð¼Ñ `$Aion::Query::base_connection_id` Ð¸Ð¼ÐµÐµÑ `-1`. То еÑÑÑ Ð´Ð»Ñ SQLite ÑÑÐ¾Ñ Ð¼ÐµÑод ниÑего не делаеÑ."
msgstr "SQLite runs in the same process, so `$Aion::Query::base_connection_id` has `-1`. That is, for SQLite this method does nothing."
msgid "## sql_debug ($fn, $query)"
msgstr "## sql_debug ($fn, $query)"
msgid "СоÑ
ÑанÑÐµÑ Ð·Ð°Ð¿ÑоÑÑ Ðº базе даннÑÑ
в `@Aion::Query::DEBUG`. ÐÑзÑваеÑÑÑ Ð¸Ð· `query_do`."
msgstr "Stores database queries in `@Aion::Query::DEBUG`. Called from `query_do`."
msgid "# AUTHOR"
msgstr "#AUTHOR"
msgid "Yaroslav O. Kosmina [dart@cpan.org](dart@cpan.org)"
msgstr "Yaroslav O. Kosmina [dart@cpan.org](dart@cpan.org)"
lib/Aion/Query.md view on Meta::CPAN
ÐÐ»Ñ ÑÑого иÑполÑзÑеÑÑÑ `$Aion::Query::base_connection_id`.
SQLite ÑабоÑÐ°ÐµÑ Ð² Ñом же пÑоÑеÑÑе, поÑÑÐ¾Ð¼Ñ `$Aion::Query::base_connection_id` Ð¸Ð¼ÐµÐµÑ `-1`. То еÑÑÑ Ð´Ð»Ñ SQLite ÑÑÐ¾Ñ Ð¼ÐµÑод ниÑего не делаеÑ.
```perl
my @x = query_stop;
\@x # --> []
```
## sql_debug ($fn, $query)
СоÑ
ÑанÑÐµÑ Ð·Ð°Ð¿ÑоÑÑ Ðº базе даннÑÑ
в `@Aion::Query::DEBUG`. ÐÑзÑваеÑÑÑ Ð¸Ð· `query_do`.
```perl
sql_debug label => "SELECT 123";
$Aion::Query::DEBUG[$#Aion::Query::DEBUG] # => label: SELECT 123
```
# AUTHOR
Yaroslav O. Kosmina [dart@cpan.org](dart@cpan.org)
# LICENSE
lib/Aion/Query.pm view on Meta::CPAN
# вÑпомогаÑелÑное подклÑÑение
my $signal = base_connect(default_connect_options());
$signal->do("KILL HARD " . ($base_connection_id + 0));
$signal->disconnect;
return;
}
# ÐапÑоÑÑ Ðº базе
our @DEBUG;
sub sql_debug(@) {
my ($fn, $query) = @_;
my $msg = "$fn: " . (ref $query? np($query): $query);
push @DEBUG, $msg;
print STDERR $msg, "\n" if DEBUG;
}
# sub debug_html {
# join "", map { ("<p class='debug'>", to_html($_), "</p>\n") } @DEBUG;
# }
# sub debug_text {
# return "" if !@DEBUG;
# join "", map { "$_\n\n" } @DEBUG, "";
# }
# sub debug_array {
# return if !@DEBUG;
# $_[0]->{SQL_DEBUG} = \@DEBUG;
# return;
# }
sub LAST_INSERT_ID() {
$base->last_insert_id
}
lib/Aion/Query.pm view on Meta::CPAN
join "\n", map { local $param{'_'} = $_; _set_params("$sep$code", \%param) } @{$param{$param}}
}:
_set_params($+{param}, \%param)
!imgex;
$query
}
# ÐÑполнÑÐµÑ sql-запÑоÑ
sub query_do($;$) {
my ($query, $columns) = @_;
sql_debug query => $query;
connect_respavn($base, $base_connection_id);
my $res = eval {
if($query =~ /^\s*(select|show|desc(ribe)?)\b/in) {
my $r = @_>1? do {
my $sth = $base->prepare($query);
$sth->execute;
$_[1] = [@{$sth->{NAME}}];
my $res = $sth->fetchall_arrayref({});
lib/Aion/Query.pm view on Meta::CPAN
Creates an additional connection to the base and kills the main one.
To do this, use C<$Aion::Query::base_connection_id>.
SQLite runs in the same process, so C<$Aion::Query::base_connection_id> has C<-1>. That is, for SQLite this method does nothing.
my @x = query_stop;
\@x # --> []
=head2 sql_debug ($fn, $query)
Stores database queries in C<@Aion::Query::DEBUG>. Called from C<query_do>.
sql_debug label => "SELECT 123";
$Aion::Query::DEBUG[$#Aion::Query::DEBUG] # => label: SELECT 123
=head1 AUTHOR
Yaroslav O. Kosmina LL<mailto:dart@cpan.org>
=head1 LICENSE
â B<GPLv3>
t/aion/query.t view on Meta::CPAN
#
# ÐÐ»Ñ ÑÑого иÑполÑзÑеÑÑÑ `$Aion::Query::base_connection_id`.
#
# SQLite ÑабоÑÐ°ÐµÑ Ð² Ñом же пÑоÑеÑÑе, поÑÑÐ¾Ð¼Ñ `$Aion::Query::base_connection_id` Ð¸Ð¼ÐµÐµÑ `-1`. То еÑÑÑ Ð´Ð»Ñ SQLite ÑÑÐ¾Ñ Ð¼ÐµÑод ниÑего не делаеÑ.
#
done_testing; }; subtest 'query_stop ()' => sub {
my @x = query_stop;
::is_deeply scalar do {\@x}, scalar do {[]}, '\@x # --> []';
#
# ## sql_debug ($fn, $query)
#
# СоÑ
ÑанÑÐµÑ Ð·Ð°Ð¿ÑоÑÑ Ðº базе даннÑÑ
в `@Aion::Query::DEBUG`. ÐÑзÑваеÑÑÑ Ð¸Ð· `query_do`.
#
done_testing; }; subtest 'sql_debug ($fn, $query)' => sub {
sql_debug label => "SELECT 123";
::is scalar do {$Aion::Query::DEBUG[$#Aion::Query::DEBUG]}, "label: SELECT 123", '$Aion::Query::DEBUG[$#Aion::Query::DEBUG] # => label: SELECT 123';
#
# # AUTHOR
#
# Yaroslav O. Kosmina [dart@cpan.org](dart@cpan.org)
#
# # LICENSE
#
( run in 1.811 second using v1.01-cache-2.11-cpan-49f99fa48dc )