• 表和源声明的继承

indexsource 声明中的继承使具有相似设置或结构的表能够更好地组织,并减少配置文件的大小。父表和子表或源均可利用继承。

父表或源不需要特定的配置。

在子表或源声明中,指定表或源名称后跟冒号(:)和父名称:

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=

请注意,如果子表为某个多值设置声明一个值,则现有的多值设置不会被复制。

继承行为适用于字段和属性,而不仅仅是表选项。例如,如果父表有两个整数属性,而子表需要一个新的整数属性,则必须将父表的整数属性声明复制到子表配置中。

最后更新于