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

Commit4bdb348

Browse files
committed
Remove 'Array' node type, which has evidently been dead code for
a very long time.
1 parent1afdccc commit4bdb348

File tree

6 files changed

+13
-154
lines changed

6 files changed

+13
-154
lines changed

‎src/backend/nodes/copyfuncs.c‎

Lines changed: 1 addition & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
* Portions Copyright (c) 1994, Regents of the University of California
2020
*
2121
* IDENTIFICATION
22-
* $Header: /cvsroot/pgsql/src/backend/nodes/copyfuncs.c,v 1.117 2000/07/17 03:04:58 tgl Exp $
22+
* $Header: /cvsroot/pgsql/src/backend/nodes/copyfuncs.c,v 1.118 2000/07/2204:22:46 tgl Exp $
2323
*
2424
*-------------------------------------------------------------------------
2525
*/
@@ -933,26 +933,6 @@ _copyCaseWhen(CaseWhen *from)
933933
returnnewnode;
934934
}
935935

936-
staticArray*
937-
_copyArray(Array*from)
938-
{
939-
Array*newnode=makeNode(Array);
940-
941-
/* ----------------
942-
*copy remainder of node
943-
* ----------------
944-
*/
945-
newnode->arrayelemtype=from->arrayelemtype;
946-
newnode->arrayelemlength=from->arrayelemlength;
947-
newnode->arrayelembyval=from->arrayelembyval;
948-
newnode->arrayndim=from->arrayndim;
949-
newnode->arraylow=from->arraylow;
950-
newnode->arrayhigh=from->arrayhigh;
951-
newnode->arraylen=from->arraylen;
952-
953-
returnnewnode;
954-
}
955-
956936
staticArrayRef*
957937
_copyArrayRef(ArrayRef*from)
958938
{
@@ -1724,9 +1704,6 @@ copyObject(void *from)
17241704
caseT_Func:
17251705
retval=_copyFunc(from);
17261706
break;
1727-
caseT_Array:
1728-
retval=_copyArray(from);
1729-
break;
17301707
caseT_ArrayRef:
17311708
retval=_copyArrayRef(from);
17321709
break;

‎src/backend/nodes/equalfuncs.c‎

Lines changed: 1 addition & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
* Portions Copyright (c) 1994, Regents of the University of California
2525
*
2626
* IDENTIFICATION
27-
* $Header: /cvsroot/pgsql/src/backend/nodes/equalfuncs.c,v 1.69 2000/07/17 03:05:01 tgl Exp $
27+
* $Header: /cvsroot/pgsql/src/backend/nodes/equalfuncs.c,v 1.70 2000/07/22 04:22:46 tgl Exp $
2828
*
2929
*-------------------------------------------------------------------------
3030
*/
@@ -293,25 +293,6 @@ _equalRelabelType(RelabelType *a, RelabelType *b)
293293
return true;
294294
}
295295

296-
staticbool
297-
_equalArray(Array*a,Array*b)
298-
{
299-
if (a->arrayelemtype!=b->arrayelemtype)
300-
return false;
301-
/* We need not check arrayelemlength, arrayelembyval if types match */
302-
if (a->arrayndim!=b->arrayndim)
303-
return false;
304-
/* XXX shouldn't we be checking all indices??? */
305-
if (a->arraylow.indx[0]!=b->arraylow.indx[0])
306-
return false;
307-
if (a->arrayhigh.indx[0]!=b->arrayhigh.indx[0])
308-
return false;
309-
if (a->arraylen!=b->arraylen)
310-
return false;
311-
312-
return true;
313-
}
314-
315296
staticbool
316297
_equalArrayRef(ArrayRef*a,ArrayRef*b)
317298
{
@@ -800,9 +781,6 @@ equal(void *a, void *b)
800781
caseT_Func:
801782
retval=_equalFunc(a,b);
802783
break;
803-
caseT_Array:
804-
retval=_equalArray(a,b);
805-
break;
806784
caseT_ArrayRef:
807785
retval=_equalArrayRef(a,b);
808786
break;

‎src/backend/nodes/outfuncs.c‎

Lines changed: 1 addition & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
* Portions Copyright (c) 1996-2000, PostgreSQL, Inc
77
* Portions Copyright (c) 1994, Regents of the University of California
88
*
9-
*$Header: /cvsroot/pgsql/src/backend/nodes/outfuncs.c,v 1.123 2000/07/17 03:05:01 tgl Exp $
9+
*$Header: /cvsroot/pgsql/src/backend/nodes/outfuncs.c,v 1.124 2000/07/22 04:22:46 tgl Exp $
1010
*
1111
* NOTES
1212
* Every (plan) node in POSTGRES has an associated "out" routine which
@@ -770,29 +770,6 @@ _outRelabelType(StringInfo str, RelabelType *node)
770770
node->resulttype,node->resulttypmod);
771771
}
772772

773-
/*
774-
*Array is a subclass of Expr
775-
*/
776-
staticvoid
777-
_outArray(StringInfostr,Array*node)
778-
{
779-
inti;
780-
781-
appendStringInfo(str,
782-
" ARRAY :arrayelemtype %u :arrayelemlength %d :arrayelembyval %c ",
783-
node->arrayelemtype,
784-
node->arrayelemlength,
785-
node->arrayelembyval ?'t' :'f');
786-
787-
appendStringInfo(str," :arrayndim %d :arraylow ",node->arrayndim);
788-
for (i=0;i<node->arrayndim;i++)
789-
appendStringInfo(str," %d ",node->arraylow.indx[i]);
790-
appendStringInfo(str," :arrayhigh ");
791-
for (i=0;i<node->arrayndim;i++)
792-
appendStringInfo(str," %d ",node->arrayhigh.indx[i]);
793-
appendStringInfo(str," :arraylen %d ",node->arraylen);
794-
}
795-
796773
/*
797774
*ArrayRef is a subclass of Expr
798775
*/
@@ -1508,9 +1485,6 @@ _outNode(StringInfo str, void *obj)
15081485
caseT_RelabelType:
15091486
_outRelabelType(str,obj);
15101487
break;
1511-
caseT_Array:
1512-
_outArray(str,obj);
1513-
break;
15141488
caseT_ArrayRef:
15151489
_outArrayRef(str,obj);
15161490
break;

‎src/backend/nodes/readfuncs.c‎

Lines changed: 1 addition & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
*
99
*
1010
* IDENTIFICATION
11-
* $Header: /cvsroot/pgsql/src/backend/nodes/readfuncs.c,v 1.93 2000/07/17 03:05:01 tgl Exp $
11+
* $Header: /cvsroot/pgsql/src/backend/nodes/readfuncs.c,v 1.94 2000/07/22 04:22:46 tgl Exp $
1212
*
1313
* NOTES
1414
* Most of the read functions for plan nodes are tested. (In fact, they
@@ -814,48 +814,6 @@ _readVar()
814814
returnlocal_node;
815815
}
816816

817-
/* ----------------
818-
* _readArray
819-
*
820-
* Array is a subclass of Expr
821-
* ----------------
822-
*/
823-
staticArray*
824-
_readArray()
825-
{
826-
Array*local_node;
827-
char*token;
828-
intlength;
829-
830-
local_node=makeNode(Array);
831-
832-
token=lsptok(NULL,&length);/* eat :arrayelemtype */
833-
token=lsptok(NULL,&length);/* get arrayelemtype */
834-
local_node->arrayelemtype=strtoul(token,NULL,10);
835-
836-
token=lsptok(NULL,&length);/* eat :arrayelemlength */
837-
token=lsptok(NULL,&length);/* get arrayelemlength */
838-
local_node->arrayelemlength=atoi(token);
839-
840-
token=lsptok(NULL,&length);/* eat :arrayelembyval */
841-
token=lsptok(NULL,&length);/* get arrayelembyval */
842-
local_node->arrayelembyval= (token[0]=='t') ? true : false;
843-
844-
token=lsptok(NULL,&length);/* eat :arraylow */
845-
token=lsptok(NULL,&length);/* get arraylow */
846-
local_node->arraylow.indx[0]=atoi(token);
847-
848-
token=lsptok(NULL,&length);/* eat :arrayhigh */
849-
token=lsptok(NULL,&length);/* get arrayhigh */
850-
local_node->arrayhigh.indx[0]=atoi(token);
851-
852-
token=lsptok(NULL,&length);/* eat :arraylen */
853-
token=lsptok(NULL,&length);/* get arraylen */
854-
local_node->arraylen=atoi(token);
855-
856-
returnlocal_node;
857-
}
858-
859817
/* ----------------
860818
* _readArrayRef
861819
*
@@ -1835,8 +1793,6 @@ parsePlanString(void)
18351793
return_value=_readExpr();
18361794
elseif (length==8&&strncmp(token,"ARRAYREF",length)==0)
18371795
return_value=_readArrayRef();
1838-
elseif (length==5&&strncmp(token,"ARRAY",length)==0)
1839-
return_value=_readArray();
18401796
elseif (length==3&&strncmp(token,"VAR",length)==0)
18411797
return_value=_readVar();
18421798
elseif (length==4&&strncmp(token,"ATTR",length)==0)

‎src/include/nodes/nodes.h‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
* Portions Copyright (c) 1996-2000, PostgreSQL, Inc
88
* Portions Copyright (c) 1994, Regents of the University of California
99
*
10-
* $Id: nodes.h,v 1.71 2000/07/14 15:43:51 thomas Exp $
10+
* $Id: nodes.h,v 1.72 2000/07/22 04:22:47 tgl Exp $
1111
*
1212
*-------------------------------------------------------------------------
1313
*/
@@ -64,7 +64,7 @@ typedef enum NodeTag
6464
T_Aggref,
6565
T_SubLink,
6666
T_Func,
67-
T_Array,
67+
T_ArrayXXX,/* not used anymore; this tag# is available */
6868
T_ArrayRef,
6969
T_Iter,
7070
T_RelabelType,

‎src/include/nodes/primnodes.h‎

Lines changed: 7 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
* Portions Copyright (c) 1996-2000, PostgreSQL, Inc
88
* Portions Copyright (c) 1994, Regents of the University of California
99
*
10-
* $Id: primnodes.h,v 1.44 2000/07/17 03:05:27 tgl Exp $
10+
* $Id: primnodes.h,v 1.45 2000/07/22 04:22:47 tgl Exp $
1111
*
1212
*-------------------------------------------------------------------------
1313
*/
@@ -389,45 +389,19 @@ typedef struct SubLink
389389
Node*subselect;
390390
}SubLink;
391391

392-
/* ----------------
393-
* Array
394-
*arrayelemtype- type of the array's elements (homogenous!)
395-
*arrayelemlength - length of that type
396-
*arrayelembyval- is the element type pass-by-value?
397-
*arrayndim- number of dimensions of the array
398-
*arraylow- base for array indexing
399-
*arrayhigh- limit for array indexing
400-
*arraylen- total length of array object
401-
* ----------------
402-
*
403-
*memo from mao:the array support we inherited from 3.1 is just
404-
*wrong.when time exists, we should redesign this stuff to get
405-
*around a bunch of unfortunate implementation decisions made there.
406-
*/
407-
typedefstructArray
408-
{
409-
NodeTagtype;
410-
Oidarrayelemtype;
411-
intarrayelemlength;
412-
boolarrayelembyval;
413-
intarrayndim;
414-
IntArrayarraylow;
415-
IntArrayarrayhigh;
416-
intarraylen;
417-
}Array;
418-
419392
/* ----------------
420393
*ArrayRef: describes an array subscripting operation
421394
*
422395
* An ArrayRef can describe fetching a single element from an array,
423396
* fetching a subarray (array slice), storing a single element into
424397
* an array, or storing a slice. The "store" cases work with an
425398
* initial array value and a source value that is inserted into the
426-
* appropriate part of the array.
399+
* appropriate part of the array; the result of the operation is an
400+
* entire new modified array value.
427401
*
428-
*refattrlength-total lengthof arrayobject
429-
*refelemtype- type of the result of thesubscript operation
430-
*refelemlength-length of the array element type
402+
*refattrlength-typlenof arraytype
403+
*refelemtype- type of the result of theArrayRef operation
404+
*refelemlength-typlen of the array element type
431405
*refelembyval- is the element type pass-by-value?
432406
*refupperindexpr - expressions that evaluate to upper array indexes
433407
*reflowerindexpr - expressions that evaluate to lower array indexes
@@ -449,7 +423,7 @@ typedef struct Array
449423
* Note: currently, refelemtype is NOT the element type, but the array type,
450424
* when doing subarray fetch or either type of store. It would be cleaner
451425
* to add more fields so we can distinguish the array element type from the
452-
* result type of thesubscript operator...
426+
* result type of theArrayRef operator...
453427
* ----------------
454428
*/
455429
typedefstructArrayRef

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp