Hi Kou

Sure. Here are the code snippets as a github gist - https://gist.github.com/ananis25/0b645ef94a70a0834fd23177e8721be9

Thank you for looking.

From: Sutou Kouhei <kou@clear-code.com>
Sent: Friday, November 27, 2020 8:41 AM
To: user@arrow.apache.org <user@arrow.apache.org>
Subject: Re: [C-Glib] - writing an extension array

Could you provide the Python script you used and the C
program you used?


  "[C-Glib] - writing an extension array" on Thu, 26 Nov 2020 18:11:53 +0000,
  Ishan Anand <anand.ishan@outlook.com> wrote:

> Hi
> How do you go about implementing an extension type through the C API for Arrow?
> Creating a record batch in python like the example in pyarrow tests [here](https://github.com/apache/arrow/blob/2a5f92455ec4f9788ee96fa209b38d76bd927196/python/pyarrow/tests/test_extension_type.py#L375), and reading the resulting schema using the C API, it correctly reads it as an array of the underlying storage type. The schema along with the metadata can be printed as expected.
> ```
> ext: int64
> -- metadata --
> ARROW:extension:metadata: freq=D
> ARROW:extension:name: test.period
> ```
> However, trying to access the metadata for the schema (obtained with `garrow_schema_get_metadata`) indicates its size to be 0, which indicates that metadata for the schema isn't the same as that for a field. Is it possible using the existing API to read/write the metadata for a field?
> Thank you,
> Ishan