Общие операции с таблицей DBSN




 

function createDBSN($fil_name)

создать пустую таблицу

здесь: $fil_name - имя файла без расширения

возвращает 0 при ошибке и 1 при успехе

содает 2 пустых файла бинарный и текстовый

 

function existDBSN($fil_name)

проверить существование файлов DBSN

здесь: $fil_name - имя файла без расширения

возвращает 1 если существуют оба файла таблицы

иначе - 0

 

function openDBSN($fil_name)

открыть таблицу фрагментов DBSN

здесь: $fil_name - имя файла без расширения

возвращает 4х элем числовой массив обработчика или 0 при ошибке

 

function closeDBSN(&$dbh)

Закрыть таблицу фрагментов DBSN

здесь: &$dbh – ссылка на обработчик таблицы

возвращает 1 при успехе или 0 при ошибке

 

function countFragm(&$dbh)

Сосчитать число записей в таблице DBSN

здесь: &$dbh – ссылка на обработчик таблицы

возвращает общее количество записей или 0 при ошибке

 

function eraseDBSN($fil_name)

Полностью уничтожить таблицу DBSN

здесь: $fil_name - имя файла без расширения

Удаляет с диска оба файла таблицы

 

function clearDBSN(&$dbh)

очистить все данные из табвлицы

здесь: &$dbh – ссылка на обработчик таблицы

обнуляет длину обоих файлов таблицы

 

 

Позиционирование

В этом разделе собраны функции изменяющие номер активного фрагмента

 

function getNom(&$dbh)

получить номер текущего фрагмента

здесь: &$dbh – ссылка на обработчик таблицы

возвращает номер текущей записи, -номер для удаленной записи

или 0 при ошибке

 

function setNom(&$dbh, $new_nom)

установить номер текущего фрагмента

здесь: &$dbh – ссылка на обработчик таблицы

$new_nom – новый номер текущего фрагмента

возвращает номер новой текущей записи или 0 при ошибке

 

function incNom(&$dbh, $count = 1)

увеличить номер текущего фрагмента

здесь: &$dbh – ссылка на обработчик таблицы

$count – на сколько нужно увеличить номер текущего фрагмента

(по умолчанию – на 1)

возвращает номер новой текущей записи или 0 при ошибке

 

function decNom(&$dbh, $count = 1)

уменьшить номер текущего фрагмента

здесь: &$dbh – ссылка на обработчик таблицы

$count – на сколько нужно уменьшить номер текущего фрагмента

(по умолчанию – на 1)

возвращает номер новой текущей записи или 0 при ошибке

 

function setFirst(&$dbh)

установить номер фрагмента равным 1

здесь: &$dbh – ссылка на обработчик таблицы

возвращает номер новой текущей записи или 0 при ошибке

 

function setLast(&$dbh)

сделать активным последний фрагмент

здесь: &$dbh – ссылка на обработчик таблицы

возвращает номер новой текущей записи или 0 при ошибке

 

function findFragmOnStr(&$dbh, $find_str, $str_nom, $nom_beg)

Найти фрагмент таблицы DBSN по заданной строке фрагмента

здесь: &$dbh – ссылка на обработчик таблицы

$find_str - строка поиска

$str_nom - номер искомой строки во фрагменте

$nom_beg - номер фрагмента с которого начинается поиск

просматривает все активные фрагменты начиная с $nom_beg

и останавливается если находит в каком-нибудь заданную строку

возвращает номер записи или 0 при ошибке если не нашла

 

function findFragmOnPart(&$dbh, $fragm_part, $nom_beg)

Найти фрагмент таблицы DBSN по его части

здесь: &$dbh – ссылка на обработчик таблицы

$fragm_part - часть фрагмента для поиска

$nom_beg - номер фрагмента, с которого начинается поиск

просматривает все активные фрагменты начиная с $nom_beg

и останавливается если находит в каком-нибудь заданный текст

возвращает номер записи или 0 при ошибке если не нашла

 

function findFragmOnTag(&$dbh, $tag, $nom_beg)

Найти фрагмент таблицы DBSN по заданному тэгу

здесь: &$dbh – ссылка на обработчик таблицы

$tag - значение тэга записи для поиска

$nom_beg - номер фрагмента, с которого начинается поиск

просматривает все активные фрагменты начиная с $nom_beg

и останавливается если находит в каком-нибудь заданный тэг

возвращает номер записи или 0 при ошибке если не нашла

 

function findFragmOnSubst(&$dbh, $find_subst, $subst_nom, $nom_beg)

Найти фрагмент таблицы DBSN по заданной подстроке фрагмента

здесь: &$dbh – ссылка на обработчик таблицы

$find_subst - подстрока поиска

$subst_nom - номер искомой подстроки во фрагменте

$nom_beg - номер фрагмента, с которого начинается поиск

просматривает все активные фрагменты начиная с $nom_beg

и останавливается если находит в каком-нибудь заданную подстроку

возвращает номер записи или 0 при ошибке если не нашла

 

Чтение данных

 

function getFragm(&$dbh, &$fragm)

Считать текущий фрагмент таблицы DBSN

здесь: &$dbh – ссылка на обработчик таблицы

&$fragm – переменная, в которую считываем фрагмент

возвращает номер записи, -номер записи, если она удалена

или 0 при ошибке или пустой записи

 

function getFragmStr(&$dbh, &$fragm_str, $str_nom)

Считать строку текущиего фрагмента таблицы DBSN

здесь: &$dbh – ссылка на обработчик таблицы

&$fragm_str – переменная, в которую считываем строка фрагмента

$str_nom – номер нужной строки фрагмента

возвращает номер записи, -номер записи, если она удалена

или 0 при ошибке или пустой записи или отсутствии строки

 

function getFragmSubst(&$dbh, &$fragm_subst, $subst_nom)

Считать подстроку текущиего фрагмента таблицы DBSN

здесь: &$dbh – ссылка на обработчик таблицы

&$fragm_subst – переменная, в которую считываем подстрока текущего фрагмента

$subst_nom – номер нужной подстроки фрагмента

возвращает номер записи, -номер записи, если она удалена

или 0 при ошибке или пустой записи или отсутствии подстроки

 

Запись данных

 

function addFragm(&$dbh, $fragm, $len_beg = 0, $tag = 0)

Добавить запись в таблицу фрагментов DBSN

здесь: &$dbh – ссылка на обработчик таблицы

&$fragm – переменная, содержащая добавляемый фрагмент

$len_beg, $tag - числовые параметры(по умолчанию - 0

возвращает номер добавленой записи(равный их количеству)

или 0 при ошибке

 

function addFromFile(&$dbh, $fil_name, $fil_offset=0, $new_tag=0)

Добавить фрагмент из текстового файла в таблицу DBSN

здесь: &$dbh – ссылка на обработчик таблицы

$fil_name – имя текстового файла с фрагментами

$fil_offset - смещение фрагмента в текстовом файле

$new_tag - числовой параметр(по умолчанию - 0

в текстовом файле начиная со смещения fil_offset выделяет 1 фрагмент ограниченный "||" или концом файла и добавляет его в базу dbh

возвращает смещение в текстовом файле сразу за фрагментом

или 0 при ошибке

 

function setFragm(&$dbh, $fragm, $len_beg = -1, $tag = -1)

Записать текст в текущую запись таблицы DBSN

здесь: &$dbh – ссылка на обработчик таблицы

&$fragm – переменная, содержащая добавляемый фрагмент

$len_beg, $tag - числовые параметры(по умолчанию – 1

( в таком случае сохраняет старые значения этих параметров)

возвращает номер текущей записи или 0 при ошибке

 

function setFragmTag(&$dbh, $new_tag)

Устоновить новое значение Тэга текущего фрагмента таблицы DBSN

здесь: &$dbh – ссылка на обработчик таблицы

$new_tag - числовой параметр(по умолчанию - 0

возвращает номер записи или 0 при ошибке

 

function delFragm(&$dbh)

Удалить текущий фрагмент таблицы DBSN

здесь: &$dbh – ссылка на обработчик таблицы

просто делает его длину отрицательной

возвращает номер записи или 0 при ошибке

 

function undelFragm(&$dbh)

Снять признак удаления с текущего фрагмента таблицы DBSN

здесь: &$dbh – ссылка на обработчик таблицы

просто делает его длину неотрицательной

возвращает номер записи или 0 при ошибке

 

 

Блочные функции

function selBlock(&$dbh, &$fragm_block, $nom_beg, $block_size = 0, $direction = 0, $fn_sel=”isNotEmpty”, $str_sel=””)

Выбрать блок фрагментов таблицы DBSN начиная с заданного

здесь: &$dbh – ссылка на обработчик таблицы

$fragm_block – массив в который будут выбраны номера фрагментов

$nom_beg – номер записи с которой начинаем обработку

$block_size - число записей, номера котоых нужно выбрать

если 0 то надо выбрать все записи

$direction - направление просмотра таблицы (-1 - назад)

$fn_sel($dbh, $str) - функция отбора фрагментов в блок

возвращает значение > 0 если нужно отобрать номер в блок

если “0” - то отбирается каждая запись

$str_sel - строка сравнения для отбора фрагментов

 

считывает в массив $fragm_block $block_size номеров активных записей начиная с заданной в направлении к концу dbh если $direction>=0 или к началу усли $direction < 0

возвращает число считанных номеров фрагментов

 

function filtrBlock(&$dbh, &$res_block, $fragm_block, $block_size, $fn_sel, $str_sel)

Отфильтровать блок таблицы DBSN по условию на фрагмент

здесь: &$dbh – ссылка на обработчик таблицы

$fragm_block – массив из которого берутся номера фрагментов

$res_block – массив в который записываются подходящие номера фрагментов

$block_size - число записей, в блоке которые нужно обработать

$fn_sel($dbh, $str) - функция отбора фрагментов в блок

возвращает значение > 0 если нужно отобрать номер в блок

если “0” - то отбирается каждая запись

$str_sel - строка сравнения для отбора фрагментов

 

Просматривает все записи в блоке и оставляет только те, которые кдовлетворяют критерию отбора ($fn_sel($dbh, $str) > 0)

возвращает число оставщихся в блоке номеров фрагментов

 

function filtrUniq(&$dbh, &$fragm_block, $fn_comp)

Отфильтровать блок таблицы DBSN по условию, оставив только первые из аналогичных фрагментов

здесь: &$dbh – ссылка на обработчик таблицы

$fragm_block – массив из которого берутся номера фрагментов

$fn_comp($str1, $str2) - функция сравнения фрагментов

возвращает значение 0, если $str1 можно считать

аналогичной строке $str2

 

Просматривает все записи в блоке и оставляет из аналогичных только первую

возвращает число оставщихся в блоке номеров фрагментов

 

function sortBlock(&$dbh, &$fragm_block, $fn_comp)

Отсортировать блок фрагментов таблицы DBSN по функции сравнения фрагментов

здесь: &$dbh – ссылка на обработчик таблицы

$fragm_block – сортируемыймассив номеров фрагментов

$fn_comp($str1, $str2) - функция сравнения фрагментов возвращает значение <0, 0, > 0 в зависимости от которых выполняется перестановка номеров фрагментов

 

Просматривает все записи в блоке и сортирует их в порядке значений $fn_comp для каждых 2х соседних фрагментов

возвращает число номеров фрагментов в блоке

 

function addBlock(&$res_blok, $fragm_block1, $fragm_block2)

Сложить 2 блока фрагментов в $res_blok

здесь: &$res_blok – блок для накопления результата

$fragm_block1 – первый блок номеров

$fragm_block2 – второй блок номеров

Предназначена для объединения 2х блоков при реализации функции

«ИЛИ»

возвращает число номеров фрагментов в результирующем блоке.

 

//==========================================================

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2016-08-08 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: