Recent Changes - Search:

PmWiki

pmwiki.org

edit SideBar

UserInputIndex

Nova.UserInputIndex History

Show minor edits - Show changes to output

Changed lines 3-4 from:
API UserInputIndex позволяет строить выборки из базы записей UserInput по заданным элементам сохраненных данных. (Поскольку при сохранении данных UserInput в базу они сериализуются, обычными средствами SQL и БД это сделать бывает либо неэффективно либо вообще проблематично.)
UserInputIndex - это специальный обработчик, включающийся при сохранении записи в базу, который дублирует (и опционально обрабатывает) заданные значения полей в одну из вспомогательных таблиц.
to:
API UserInputIndex позволяет строить выборки из базы записей UserInput по заданным элементам сохраненных данных. (Поскольку при сохранении данных UserInput в базу они сериализуются, обычными средствами SQL и БД это сделать бывает либо неэффективно либо вообще проблематично.)\\
UserInputIndex - это специальный обработчик, включающийся при сохранении записи в базу, который дублирует (и опционально обрабатывает) заданные значения полей в одну из вспомогательных таблиц.\\
Changed lines 2-18 from:
!UserInputIndex - API индексации данных
to:
!UserInputIndex - API индексации данных
API UserInputIndex позволяет строить выборки из базы записей UserInput по заданным элементам сохраненных данных. (Поскольку при сохранении данных UserInput в базу они сериализуются, обычными средствами SQL и БД это сделать бывает либо неэффективно либо вообще проблематично.)
UserInputIndex - это специальный обработчик, включающийся при сохранении записи в базу, который дублирует (и опционально обрабатывает) заданные значения полей в одну из вспомогательных таблиц.

Поля вспомогательной таблицы примерно таковы:
* userinput_id - ИД записи UserInput
* field_id - ИД индекса
* value - значение.

Эти значения могут быть использованы затем для быстрой выборки из базы стандартными средствами реляционной базы: LEFT JOIN, RIGHT JOIN и т.д. Например, sql запрос, выбирающий все записи у которых поле data['foo'] равно "bar" может быть таким:
[@
select * from userinput LEFT JOIN userinput_index_string as foo ON (userinput.userinput_id=foo.userinput_id AND foo.field_id=$field_id)
WHERE foo.value="bar"
@]
Здесь $field_id - ИД индекса.
Каждый UserInputIndex имеет запись в таблице userinput_index_fields и свой уникальный ИД.
Также эта запись хранит название индекса, ключ ветки UserInput к которой он относится, а также perl_regexp выражения управляющие применением индекса к записям.
Added lines 1-2:
[[!API]] [[!userinput]]
!UserInputIndex - API индексации данных
Edit - History - Print - Recent Changes - Search
Page last modified on February 02, 2012, at 03:10 PM EST