An example UDF that informs the server to perform partitioning on column 1 (c1) and column 2 (c2).
void UDF_CALLBACK my_tpf_proc_describe( a_v4_extfn_proc_context *ctx )
{
if( ctx->current_state == EXTFNAPIV4_STATE_ANNOTATION ) {
a_sql_int32 rc = 0;
a_v4_extfn_column_list pbcol = { EXTFNAPIV4_PARTITION_BY_COLUMN_ANY };
// Describe partitioning for argument 1 (the table)
rc = ctx->describe_parameter_set(
ctx,
1,
EXTFNAPIV4_DESCRIBE_PARM_TABLE_PARTITIONBY,
&pbcol,
sizeof(pbcol) );
if( rc == 0 ) {
ctx->set_error( ctx, 17000,
“Runtime error, unable set partitioning requirements for column.” );
}
}
}