Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.
初始化外部前置过滤器实例并协商数据字符集的入口点函数。
extern "C" a_sql_uint32 ( SQL_CALLBACK *entry-point-function )( a_init_pre_filter *data );
执行出错时返回 1,成功时返回 0。
entry-point-function 前置过滤器入口点函数的名称。
data 指向 a_init_pre_filter 结构的指针。
该函数必须在外部前置过滤器库中实现,并且需要可重入,因为它可以在多个线程中同时执行。
函数调用方(数据库服务器)提供指向将用作前置过滤器创建器的 a_text_source 对象的指针。调用方还提供输入的字符集。
该函数提供指向外部前置过滤器(a_text_source 结构)的指针。如果需要,它还可以通过更改 actual_charset 字段协商输入(如果不是二进制)和输出数据的字符集。
请注意,如果 desired_charset 和 actual_charset 不相同,则数据库服务器将对输入数据执行字符集转换,除非 data->is_binary 字段为 1。这意味着如果 is_binary 是 0,则输入数据将使用 actual_charset 指定的字符集。
data->is_binary
is_binary
actual_charset
请注意,要求字符集转换会导致性能降级。
入口点函数由用户通过调用 ALTER TEXT CONFIGURATION...PREFILTER EXTERNAL NAME 指定。