@@ -1555,7 +1555,7 @@ Datum vops_text_input(PG_FUNCTION_ARGS)
1555
1555
elog (ERROR , "Invalid vops_char width" );
1556
1556
1557
1557
var = vops_alloc_text (width );
1558
- result = ( vops_tile_hdr * ) VARDATA (var );
1558
+ result = VOPS_TEXT_TILE (var );
1559
1559
result -> null_mask = 0 ;
1560
1560
result -> empty_mask = 0 ;
1561
1561
dst = (char * )result + 1 ;
@@ -1617,7 +1617,7 @@ PG_FUNCTION_INFO_V1(vops_text_output);
1617
1617
Datum vops_text_output (PG_FUNCTION_ARGS )
1618
1618
{
1619
1619
struct varlena * var = (struct varlena * )PG_GETARG_POINTER (0 );
1620
- vops_tile_hdr * tile = ( vops_tile_hdr * ) VARDATA (var );
1620
+ vops_tile_hdr * tile = VOPS_TEXT_TILE (var );
1621
1621
char * src = (char * )(tile + 1 );
1622
1622
int width = VOPS_ELEM_SIZE (var );
1623
1623
int i ;
@@ -1660,8 +1660,8 @@ Datum vops_text_##op(PG_FUNCTION_ARGS) \
1660
1660
{ \
1661
1661
struct varlena* vl = PG_GETARG_VARLENA_PP(0); \
1662
1662
struct varlena* vr = PG_GETARG_VARLENA_PP(1); \
1663
- vops_tile_hdr* left = (vops_tile_hdr*)VARDATA( vl); \
1664
- vops_tile_hdr* right = (vops_tile_hdr*)VARDATA( vl); \
1663
+ vops_tile_hdr* left = VOPS_TEXT_TILE( vl); \
1664
+ vops_tile_hdr* right = VOPS_TEXT_TILE( vl); \
1665
1665
size_t left_elem_size = VOPS_ELEM_SIZE(vl); \
1666
1666
size_t right_elem_size = VOPS_ELEM_SIZE(vr); \
1667
1667
char* l = (char*)(left + 1); \
@@ -1694,7 +1694,7 @@ Datum vops_text_##op##_rconst(PG_FUNCTION_ARGS) \
1694
1694
{ \
1695
1695
struct varlena* var = PG_GETARG_VARLENA_PP(0); \
1696
1696
text* t = PG_GETARG_TEXT_P(1); \
1697
- vops_tile_hdr* left = (vops_tile_hdr*)VARDATA( var); \
1697
+ vops_tile_hdr* left = VOPS_TEXT_TILE( var); \
1698
1698
size_t elem_size = VOPS_ELEM_SIZE(var); \
1699
1699
char* const_data = (char*)VARDATA(t); \
1700
1700
size_t const_size = VARSIZE(t) - VARHDRSZ; \
@@ -1729,7 +1729,7 @@ Datum vops_text_##op##_lconst(PG_FUNCTION_ARGS) \
1729
1729
{ \
1730
1730
struct varlena* var = PG_GETARG_VARLENA_PP(1); \
1731
1731
text* t = PG_GETARG_TEXT_P(0); \
1732
- vops_tile_hdr* right = (vops_tile_hdr*)VARDATA( var); \
1732
+ vops_tile_hdr* right = VOPS_TEXT_TILE( var); \
1733
1733
size_t elem_size = VOPS_ELEM_SIZE(var); \
1734
1734
char* const_data = (char*)VARDATA(t); \
1735
1735
size_t const_size = VARSIZE(t) - VARHDRSZ; \
@@ -1775,7 +1775,7 @@ Datum vops_text_const(PG_FUNCTION_ARGS)
1775
1775
size_t const_size = VARSIZE (t ) - VARHDRSZ ;
1776
1776
int width = PG_GETARG_INT32 (1 );
1777
1777
struct varlena * var = vops_alloc_text (width );
1778
- vops_tile_hdr * result = ( vops_tile_hdr * ) VARDATA (var );
1778
+ vops_tile_hdr * result = VOPS_TEXT_TILE (var );
1779
1779
char * dst = (char * )(result + 1 );
1780
1780
int i ;
1781
1781
for (i = 0 ; i < TILE_SIZE ; i ++ )
@@ -1801,14 +1801,14 @@ Datum vops_text_concat(PG_FUNCTION_ARGS)
1801
1801
{
1802
1802
struct varlena * vl = PG_GETARG_VARLENA_PP (0 );
1803
1803
struct varlena * vr = PG_GETARG_VARLENA_PP (1 );
1804
- vops_tile_hdr * left = ( vops_tile_hdr * ) VARDATA (vl );
1805
- vops_tile_hdr * right = ( vops_tile_hdr * ) VARDATA (vl );
1804
+ vops_tile_hdr * left = VOPS_TEXT_TILE (vl );
1805
+ vops_tile_hdr * right = VOPS_TEXT_TILE (vl );
1806
1806
size_t left_elem_size = VOPS_ELEM_SIZE (vl );
1807
1807
size_t right_elem_size = VOPS_ELEM_SIZE (vr );
1808
1808
char * l = (char * )(left + 1 );
1809
1809
char * r = (char * )(right + 1 );
1810
1810
struct varlena * var = vops_alloc_text (left_elem_size + right_elem_size );
1811
- vops_tile_hdr * result = ( vops_tile_hdr * ) VARDATA (var );
1811
+ vops_tile_hdr * result = VOPS_TEXT_TILE (var );
1812
1812
char * dst = (char * )(result + 1 );
1813
1813
int i ;
1814
1814
for (i = 0 ; i < TILE_SIZE ; i ++ ) {
@@ -1831,7 +1831,7 @@ Datum vops_betwixt_text(PG_FUNCTION_ARGS)
1831
1831
size_t from_size = VARSIZE (from ) - VARHDRSZ ;
1832
1832
char * till_data = (char * )VARDATA (till );
1833
1833
size_t till_size = VARSIZE (till ) - VARHDRSZ ;
1834
- vops_tile_hdr * left = ( vops_tile_hdr * ) VARDATA (var );
1834
+ vops_tile_hdr * left = VOPS_TEXT_TILE (var );
1835
1835
char * l = (char * )(left + 1 );
1836
1836
vops_bool * result = (vops_bool * )palloc (sizeof (vops_bool ));
1837
1837
int i ;
@@ -1859,13 +1859,13 @@ PG_FUNCTION_INFO_V1(vops_ifnull_text);
1859
1859
Datum vops_ifnull_text (PG_FUNCTION_ARGS )
1860
1860
{
1861
1861
struct varlena * var = PG_GETARG_VARLENA_PP (0 );
1862
- vops_tile_hdr * opd = ( vops_tile_hdr * ) VARDATA (var );
1862
+ vops_tile_hdr * opd = VOPS_TEXT_TILE (var );
1863
1863
size_t elem_size = VOPS_ELEM_SIZE (var );
1864
1864
text * subst = PG_GETARG_TEXT_P (1 );
1865
1865
char * subst_data = (char * )VARDATA (subst );
1866
1866
size_t subst_size = VARSIZE (subst ) - VARHDRSZ ;
1867
1867
struct varlena * result = vops_alloc_text (elem_size );
1868
- vops_tile_hdr * res = ( vops_tile_hdr * ) VARDATA (result );
1868
+ vops_tile_hdr * res = VOPS_TEXT_TILE (result );
1869
1869
char * dst = (char * )(res + 1 );
1870
1870
char * src = (char * )(opd + 1 );
1871
1871
int i ;
@@ -1890,15 +1890,15 @@ PG_FUNCTION_INFO_V1(vops_coalesce_text);
1890
1890
Datum vops_coalesce_text (PG_FUNCTION_ARGS )
1891
1891
{
1892
1892
struct varlena * left = PG_GETARG_VARLENA_PP (0 );
1893
- vops_tile_hdr * opd = ( vops_tile_hdr * ) VARDATA (left );
1893
+ vops_tile_hdr * opd = VOPS_TEXT_TILE (left );
1894
1894
size_t elem_size = VOPS_ELEM_SIZE (left );
1895
1895
1896
1896
struct varlena * right = PG_GETARG_VARLENA_PP (1 );
1897
- vops_tile_hdr * subst = ( vops_tile_hdr * ) VARDATA (right );
1897
+ vops_tile_hdr * subst = VOPS_TEXT_TILE (right );
1898
1898
size_t subst_elem_size = VOPS_ELEM_SIZE (right );
1899
1899
1900
1900
struct varlena * result = vops_alloc_text (elem_size );
1901
- vops_tile_hdr * res = ( vops_tile_hdr * ) VARDATA (result );
1901
+ vops_tile_hdr * res = VOPS_TEXT_TILE (result );
1902
1902
char * dst = (char * )(res + 1 );
1903
1903
char * src = (char * )(opd + 1 );
1904
1904
int i ;
@@ -1921,7 +1921,7 @@ PG_FUNCTION_INFO_V1(vops_text_first);
1921
1921
Datum vops_text_first (PG_FUNCTION_ARGS )
1922
1922
{
1923
1923
struct varlena * var = PG_GETARG_VARLENA_PP (0 );
1924
- vops_tile_hdr * tile = ( vops_tile_hdr * ) VARDATA (var );
1924
+ vops_tile_hdr * tile = VOPS_TEXT_TILE (var );
1925
1925
size_t elem_size = VOPS_ELEM_SIZE (var );
1926
1926
1927
1927
uint64 mask = ~(tile -> empty_mask | tile -> null_mask );
@@ -1943,7 +1943,7 @@ PG_FUNCTION_INFO_V1(vops_text_last);
1943
1943
Datum vops_text_last (PG_FUNCTION_ARGS )
1944
1944
{
1945
1945
struct varlena * var = PG_GETARG_VARLENA_PP (0 );
1946
- vops_tile_hdr * tile = ( vops_tile_hdr * ) VARDATA (var );
1946
+ vops_tile_hdr * tile = VOPS_TEXT_TILE (var );
1947
1947
size_t elem_size = VOPS_ELEM_SIZE (var );
1948
1948
1949
1949
uint64 mask = ~(tile -> empty_mask | tile -> null_mask );
@@ -1965,7 +1965,7 @@ PG_FUNCTION_INFO_V1(vops_text_low);
1965
1965
Datum vops_text_low (PG_FUNCTION_ARGS )
1966
1966
{
1967
1967
struct varlena * var = PG_GETARG_VARLENA_PP (0 );
1968
- vops_tile_hdr * tile = ( vops_tile_hdr * ) VARDATA (var );
1968
+ vops_tile_hdr * tile = VOPS_TEXT_TILE (var );
1969
1969
size_t elem_size = VOPS_ELEM_SIZE (var );
1970
1970
1971
1971
uint64 mask = ~(tile -> empty_mask | tile -> null_mask );
@@ -1997,7 +1997,7 @@ PG_FUNCTION_INFO_V1(vops_text_high);
1997
1997
Datum vops_text_high (PG_FUNCTION_ARGS )
1998
1998
{
1999
1999
struct varlena * var = PG_GETARG_VARLENA_PP (0 );
2000
- vops_tile_hdr * tile = ( vops_tile_hdr * ) VARDATA (var );
2000
+ vops_tile_hdr * tile = VOPS_TEXT_TILE (var );
2001
2001
size_t elem_size = VOPS_ELEM_SIZE (var );
2002
2002
2003
2003
uint64 mask = ~(tile -> empty_mask | tile -> null_mask );
@@ -2049,7 +2049,7 @@ Datum vops_text_first_accumulate(PG_FUNCTION_ARGS)
2049
2049
state -> ts = tss -> payload [i ];
2050
2050
state -> ts_is_null = false;
2051
2051
if (vars != NULL ) {
2052
- vops_tile_hdr * tile = ( vops_tile_hdr * ) VARDATA (vars );
2052
+ vops_tile_hdr * tile = VOPS_TEXT_TILE (vars );
2053
2053
if ((tile -> empty_mask | tile -> null_mask ) & ((uint64 )1 << i )) {
2054
2054
state -> val_is_null = true;
2055
2055
} else {
@@ -2102,7 +2102,7 @@ Datum vops_text_last_accumulate(PG_FUNCTION_ARGS)
2102
2102
state -> ts = tss -> payload [i ];
2103
2103
state -> ts_is_null = false;
2104
2104
if (vars != NULL ) {
2105
- vops_tile_hdr * tile = ( vops_tile_hdr * ) VARDATA (vars );
2105
+ vops_tile_hdr * tile = VOPS_TEXT_TILE (vars );
2106
2106
if ((tile -> empty_mask | tile -> null_mask ) & ((uint64 )1 << i )) {
2107
2107
state -> val_is_null = true;
2108
2108
} else {
0 commit comments