MySQL & mSQL



Msql.pm API - часть 11


Msql::Statement::length

@lengths = $statement_handle->length;

Msql::Statement::length возвращает список максимально возможных длин для колонок, содержащихся в описателе команды. Это значения, определенные как максимальные при создании таблицы. При вызове в скалярном контексте функция возвращает ссылку на массив.

Пример

use Msql;

my $db = Msql->connect;

$db->selectdb('mydata');

my $output = $db->query("select- * from mytable");

my @types = $output->type;

my @lengths = $output->length;

for (0..$#types) {

if ($types[$_] == &Msql: :CHAR_TYPE and $lengths[$_] > 1000000) {

print "В этой таблице у вас есть одно о-очень большое поле CHAR!\";

} }

Msql::Statement::listindices

Pindices = $statement_handle->listindices;

Msql: : Statement: :listindices возвращает индексы, связанные с какими-либо полями в описателе команды. Поскольку функция непосредственно ищет имена полей, она полезна только для имен, возвращаемых Msql: : listf ields . Если индексы не обнаружены, возвращается неопределенное значение undef. Эту функцию можно использовать только с серверами mSQL 2.0 или последующих версий.

Пример

use Msql;

my $db = Msql->connect;

$db->selectdb('mydata');

my $mytable_fields = $db->listfields('mytable');

my ©indices = $mytable_fields->listindices;

print "B 'mytable' есть следующие индексы: " . join(", ",@indices) .

"\n;

Msql::Statement::maxlength

@max_lengths = $statement_handle->maxlength; '

Msql::Statement: :maxlength возвращает список фактических максимальных размеров всех полей таблицы. При вызове в скалярном контексте функция возвращает ссылку на массив. Поскольку сервер mSQL прямо не сообщает эти данные, она реализована путем чтения всей таблицы и поиска максимального значения для каждого поля. Поэтому в mSQL эта функция может потребовать много ресурсов, если запрос возвращает большой объем данных.

Пример

use Msql;

$db = Msql->connect;




Содержание  Назад  Вперед