An example UDF that informs the server to perform partitioning on 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 = { 1, // 1 column in the partition by list 2 }; // column index 2 requires partitioning // 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.” ); } } }