Наследование в объявлениях 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=.
Обратите внимание, что существующие значения мультизначной настройки не копируются, если в дочерней таблице объявлено одно значение для этой настройки.
Поведение наследования относится к полям и атрибутам, а не только к опциям таблицы. Например, если у родителя есть два целочисленных атрибута, а ребенку нужен новый целочисленный атрибут, объявления целочисленных атрибутов из родительской таблицы должны быть скопированы в конфигурацию дочерней таблицы.