Hi all!
I created a template/example of UNPIVOT UDFx on C++ for this question on StackOverflow.
Source code here.
Supported data types:
- boolean
- all numbers
- char/varchar/long varchar
Example
Data
=> select * from T; BOOL | INT | FLOAT | NUM | CHAR | VCHAR | DATE ------+-----+--------+--------+------+-------+------------ t | 42 | 3.1415 | 9.9900 | @ | text | 2018-01-01 (1 row)
Unpivot
=> select unpivot(*) over () from T; KEY | VALUE -------+----------------------- BOOL | true INT | 42 FLOAT | 3.1415 NUM | 9.9900 CHAR | @ VCHAR | text DATE | UNSUPPORTED DATA TYPE (7 rows) => select unpivot(T.int, T.vchar) over () from T; KEY | VALUE -------+------- INT | 42 VCHAR | text (2 rows)