Skip to content
  • Rahul Sisondia's avatar
    2415d0a0
    WL#12370 Extend the UDF API to handle properly character sets of the arguments · 2415d0a0
    Rahul Sisondia authored
    and the return value
    
    Description
    -----------
    This worklog introduces :
    
    - The mechanism to allow UDF authors to specify the character set of the UDF
      arguments during UDf initialization. Server hands over converted UDF
      arguments to the UDF() during execution.
    
    - UDF authors can also specify the character set of the return value while
      initializing the UDF. During UDF execution, UDF author can convert the
      return value into the specified charset name of return value.
    
    - If invalid charset names are specified then UDF initialization fails.
    
    - Specifying the charset name of UDF arguments and return value is done by
      utilizing the extension pointer in the  UDF_INIT and UDF_ARGS structures
      without breaking the ABI compatibility.
    
    - A server component service "mysql_udf_metadata" is added that sets/gets the
      values to/from the extension pointers. The service has following methods.
    
      (1) argument_get()
      (2) argument_set()
      (3) result_get()
      (4) result_set()
    
    - Improved some of the existing UDFs in the audit_log, firewall, data_masking
      and keyring_udf plugins.
    
    Testing
    -------
    - Added a daemon plugin and a component to test the feature. Refer the
      following test files.
      + test_udf_extension_services_plugin.test
      + test_udf_extension_services_component.test
    
    Review
    -------
    RB: 22353
    2415d0a0
    WL#12370 Extend the UDF API to handle properly character sets of the arguments
    Rahul Sisondia authored
    and the return value
    
    Description
    -----------
    This worklog introduces :
    
    - The mechanism to allow UDF authors to specify the character set of the UDF
      arguments during UDf initialization. Server hands over converted UDF
      arguments to the UDF() during execution.
    
    - UDF authors can also specify the character set of the return value while
      initializing the UDF. During UDF execution, UDF author can convert the
      return value into the specified charset name of return value.
    
    - If invalid charset names are specified then UDF initialization fails.
    
    - Specifying the charset name of UDF arguments and return value is done by
      utilizing the extension pointer in the  UDF_INIT and UDF_ARGS structures
      without breaking the ABI compatibility.
    
    - A server component service "mysql_udf_metadata" is added that sets/gets the
      values to/from the extension pointers. The service has following methods.
    
      (1) argument_get()
      (2) argument_set()
      (3) result_get()
      (4) result_set()
    
    - Improved some of the existing UDFs in the audit_log, firewall, data_masking
      and keyring_udf plugins.
    
    Testing
    -------
    - Added a daemon plugin and a component to test the feature. Refer the
      following test files.
      + test_udf_extension_services_plugin.test
      + test_udf_extension_services_component.test
    
    Review
    -------
    RB: 22353
Loading