Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit5740be6

Browse files
committed
Some more FLEXIBLE_ARRAY_MEMBER hacking.
1 parent9aa53bb commit5740be6

File tree

1 file changed

+26
-26
lines changed

1 file changed

+26
-26
lines changed

‎src/backend/utils/adt/rowtypes.c

Lines changed: 26 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ typedef struct RecordIOData
4343
Oidrecord_type;
4444
int32record_typmod;
4545
intncolumns;
46-
ColumnIODatacolumns[1];/* VARIABLE LENGTH ARRAY */
46+
ColumnIODatacolumns[FLEXIBLE_ARRAY_MEMBER];
4747
}RecordIOData;
4848

4949
/*
@@ -61,7 +61,7 @@ typedef struct RecordCompareData
6161
int32record1_typmod;
6262
Oidrecord2_type;
6363
int32record2_typmod;
64-
ColumnCompareDatacolumns[1];/* VARIABLE LENGTH ARRAY */
64+
ColumnCompareDatacolumns[FLEXIBLE_ARRAY_MEMBER];
6565
}RecordCompareData;
6666

6767

@@ -120,8 +120,8 @@ record_in(PG_FUNCTION_ARGS)
120120
{
121121
fcinfo->flinfo->fn_extra=
122122
MemoryContextAlloc(fcinfo->flinfo->fn_mcxt,
123-
sizeof(RecordIOData)-sizeof(ColumnIOData)
124-
+ncolumns*sizeof(ColumnIOData));
123+
offsetof(RecordIOData,columns)+
124+
ncolumns*sizeof(ColumnIOData));
125125
my_extra= (RecordIOData*)fcinfo->flinfo->fn_extra;
126126
my_extra->record_type=InvalidOid;
127127
my_extra->record_typmod=0;
@@ -131,8 +131,8 @@ record_in(PG_FUNCTION_ARGS)
131131
my_extra->record_typmod!=tupTypmod)
132132
{
133133
MemSet(my_extra,0,
134-
sizeof(RecordIOData)-sizeof(ColumnIOData)
135-
+ncolumns*sizeof(ColumnIOData));
134+
offsetof(RecordIOData,columns)+
135+
ncolumns*sizeof(ColumnIOData));
136136
my_extra->record_type=tupType;
137137
my_extra->record_typmod=tupTypmod;
138138
my_extra->ncolumns=ncolumns;
@@ -334,8 +334,8 @@ record_out(PG_FUNCTION_ARGS)
334334
{
335335
fcinfo->flinfo->fn_extra=
336336
MemoryContextAlloc(fcinfo->flinfo->fn_mcxt,
337-
sizeof(RecordIOData)-sizeof(ColumnIOData)
338-
+ncolumns*sizeof(ColumnIOData));
337+
offsetof(RecordIOData,columns)+
338+
ncolumns*sizeof(ColumnIOData));
339339
my_extra= (RecordIOData*)fcinfo->flinfo->fn_extra;
340340
my_extra->record_type=InvalidOid;
341341
my_extra->record_typmod=0;
@@ -345,8 +345,8 @@ record_out(PG_FUNCTION_ARGS)
345345
my_extra->record_typmod!=tupTypmod)
346346
{
347347
MemSet(my_extra,0,
348-
sizeof(RecordIOData)-sizeof(ColumnIOData)
349-
+ncolumns*sizeof(ColumnIOData));
348+
offsetof(RecordIOData,columns)+
349+
ncolumns*sizeof(ColumnIOData));
350350
my_extra->record_type=tupType;
351351
my_extra->record_typmod=tupTypmod;
352352
my_extra->ncolumns=ncolumns;
@@ -489,8 +489,8 @@ record_recv(PG_FUNCTION_ARGS)
489489
{
490490
fcinfo->flinfo->fn_extra=
491491
MemoryContextAlloc(fcinfo->flinfo->fn_mcxt,
492-
sizeof(RecordIOData)-sizeof(ColumnIOData)
493-
+ncolumns*sizeof(ColumnIOData));
492+
offsetof(RecordIOData,columns)+
493+
ncolumns*sizeof(ColumnIOData));
494494
my_extra= (RecordIOData*)fcinfo->flinfo->fn_extra;
495495
my_extra->record_type=InvalidOid;
496496
my_extra->record_typmod=0;
@@ -500,8 +500,8 @@ record_recv(PG_FUNCTION_ARGS)
500500
my_extra->record_typmod!=tupTypmod)
501501
{
502502
MemSet(my_extra,0,
503-
sizeof(RecordIOData)-sizeof(ColumnIOData)
504-
+ncolumns*sizeof(ColumnIOData));
503+
offsetof(RecordIOData,columns)+
504+
ncolumns*sizeof(ColumnIOData));
505505
my_extra->record_type=tupType;
506506
my_extra->record_typmod=tupTypmod;
507507
my_extra->ncolumns=ncolumns;
@@ -677,8 +677,8 @@ record_send(PG_FUNCTION_ARGS)
677677
{
678678
fcinfo->flinfo->fn_extra=
679679
MemoryContextAlloc(fcinfo->flinfo->fn_mcxt,
680-
sizeof(RecordIOData)-sizeof(ColumnIOData)
681-
+ncolumns*sizeof(ColumnIOData));
680+
offsetof(RecordIOData,columns)+
681+
ncolumns*sizeof(ColumnIOData));
682682
my_extra= (RecordIOData*)fcinfo->flinfo->fn_extra;
683683
my_extra->record_type=InvalidOid;
684684
my_extra->record_typmod=0;
@@ -688,8 +688,8 @@ record_send(PG_FUNCTION_ARGS)
688688
my_extra->record_typmod!=tupTypmod)
689689
{
690690
MemSet(my_extra,0,
691-
sizeof(RecordIOData)-sizeof(ColumnIOData)
692-
+ncolumns*sizeof(ColumnIOData));
691+
offsetof(RecordIOData,columns)+
692+
ncolumns*sizeof(ColumnIOData));
693693
my_extra->record_type=tupType;
694694
my_extra->record_typmod=tupTypmod;
695695
my_extra->ncolumns=ncolumns;
@@ -829,8 +829,8 @@ record_cmp(FunctionCallInfo fcinfo)
829829
{
830830
fcinfo->flinfo->fn_extra=
831831
MemoryContextAlloc(fcinfo->flinfo->fn_mcxt,
832-
sizeof(RecordCompareData)-sizeof(ColumnCompareData)
833-
+ncols*sizeof(ColumnCompareData));
832+
offsetof(RecordCompareData,columns)+
833+
ncols*sizeof(ColumnCompareData));
834834
my_extra= (RecordCompareData*)fcinfo->flinfo->fn_extra;
835835
my_extra->ncolumns=ncols;
836836
my_extra->record1_type=InvalidOid;
@@ -1065,8 +1065,8 @@ record_eq(PG_FUNCTION_ARGS)
10651065
{
10661066
fcinfo->flinfo->fn_extra=
10671067
MemoryContextAlloc(fcinfo->flinfo->fn_mcxt,
1068-
sizeof(RecordCompareData)-sizeof(ColumnCompareData)
1069-
+ncols*sizeof(ColumnCompareData));
1068+
offsetof(RecordCompareData,columns)+
1069+
ncols*sizeof(ColumnCompareData));
10701070
my_extra= (RecordCompareData*)fcinfo->flinfo->fn_extra;
10711071
my_extra->ncolumns=ncols;
10721072
my_extra->record1_type=InvalidOid;
@@ -1324,8 +1324,8 @@ record_image_cmp(FunctionCallInfo fcinfo)
13241324
{
13251325
fcinfo->flinfo->fn_extra=
13261326
MemoryContextAlloc(fcinfo->flinfo->fn_mcxt,
1327-
sizeof(RecordCompareData)-sizeof(ColumnCompareData)
1328-
+ncols*sizeof(ColumnCompareData));
1327+
offsetof(RecordCompareData,columns)+
1328+
ncols*sizeof(ColumnCompareData));
13291329
my_extra= (RecordCompareData*)fcinfo->flinfo->fn_extra;
13301330
my_extra->ncolumns=ncols;
13311331
my_extra->record1_type=InvalidOid;
@@ -1601,8 +1601,8 @@ record_image_eq(PG_FUNCTION_ARGS)
16011601
{
16021602
fcinfo->flinfo->fn_extra=
16031603
MemoryContextAlloc(fcinfo->flinfo->fn_mcxt,
1604-
sizeof(RecordCompareData)-sizeof(ColumnCompareData)
1605-
+ncols*sizeof(ColumnCompareData));
1604+
offsetof(RecordCompareData,columns)+
1605+
ncols*sizeof(ColumnCompareData));
16061606
my_extra= (RecordCompareData*)fcinfo->flinfo->fn_extra;
16071607
my_extra->ncolumns=ncols;
16081608
my_extra->record1_type=InvalidOid;

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp