[protocol] Clarify the exact meaning of the buffer's dtype (Dtype tuple in get_buffers())
If my assumption is incorrect
Just as a sanity check I checked and pandas/vaex/cuDF/modin all return the type described in
Column.dtypefor theget_buffers()values. A. TODO I realize fordataframe-interchange-testsis generalisetest_dtypeand use it intest_get_buffers.
Note that this is actually not correct, depending on how you interpret it. Yes, the buffers' dtype returns a similar type of DType tuple, but it should not necessarily return the same dtype tuple as its Column.dtype does, as the buffer can have a different dtype than the column.
It seems that we all interpreted this wrongly and all implementations got this wrong (or the text about "the data buffer's associated dtype" is wrong), see https://github.com/apache/arrow/issues/37598, https://github.com/pandas-dev/pandas/issues/54781, https://github.com/pola-rs/polars/pull/10787 (and the same for StaticFrame mentioned above, from a quick look).
Originally posted by @jorisvandenbossche in https://github.com/data-apis/dataframe-api/issues/87#issuecomment-1744791104