Наследование объявлений index и source

Наследование в объявлениях index и source позволяет лучше организовать таблицы с похожими настройками или структурами и уменьшить размер конфигурации. Наследование могут использовать как родительские, так и дочерние таблицы или источники.

Для родительской таблицы или источника не требуется никаких специальных настроек.

В объявлении дочерней таблицы или источника укажите имя таблицы или источника, за которым следует двоеточие (:) и имя родителя:

table parent {
path = /var/lib/manticore/parent
...
}
table child:parent {
path = /var/lib/manticore/child
...
}

Дочерняя таблица унаследует всю конфигурацию родителя. Любые настройки, объявленные в дочерней таблице, перезапишут унаследованные значения. Обратите внимание, что для настроек с несколькими значениями определение одного значения в дочерней таблице очистит все унаследованные значения. Например, если у родителя есть несколько объявлений sql_query_pre, а у дочерней таблицы одно объявление sql_query_pre, все унаследованные объявления sql_query_pre будут очищены. Чтобы переопределить некоторые унаследованные значения от родителя, явно объявите их в дочерней таблице. Это также применимо, если вам не нужно значение от родителя. Например, если значение sql_query_pre от родителя не нужно, объявите директиву с пустым значением в дочерней таблице, например sql_query_pre=.

Обратите внимание, что существующие значения настройки с несколькими значениями не будут скопированы, если в дочерней таблице объявлено одно значение для этой настройки.

Поведение наследования применяется к полям и атрибутам, а не только к опциям таблицы. Например, если у родителя есть два целочисленных атрибута, а дочерней таблице нужен новый целочисленный атрибут, объявления целочисленных атрибутов от родителя должны быть скопированы в конфигурацию дочерней таблицы.

Last modified: August 28, 2025