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

Commita040281

Browse files
committed
Move fixes for >8 indexed fields.
1 parentb99f300 commita040281

File tree

5 files changed

+268
-268
lines changed

5 files changed

+268
-268
lines changed

‎src/backend/parser/analyze.c

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
*
66
* Copyright (c) 1994, Regents of the University of California
77
*
8-
*$Id: analyze.c,v 1.127 2000/01/0620:46:49 wieck Exp $
8+
*$Id: analyze.c,v 1.128 2000/01/10 05:20:21 momjian Exp $
99
*
1010
*-------------------------------------------------------------------------
1111
*/
@@ -674,7 +674,7 @@ transformCreateStmt(ParseState *pstate, CreateStmt *stmt)
674674

675675
fkconstraint= (FkConstraint*)constraint;
676676
fkconstraint->fk_attrs=lappend(NIL,id);
677-
677+
678678
fkconstraints=lappend(fkconstraints,constraint);
679679
continue;
680680
}
@@ -960,7 +960,7 @@ transformCreateStmt(ParseState *pstate, CreateStmt *stmt)
960960
*/
961961
if (fkconstraint->fk_attrs!=NIL&&fkconstraint->pk_attrs==NIL)
962962
transformFkeyGetPrimaryKey(fkconstraint);
963-
963+
964964
/*
965965
* Build a CREATE CONSTRAINT TRIGGER statement for the CHECK
966966
* action.
@@ -1016,7 +1016,7 @@ transformCreateStmt(ParseState *pstate, CreateStmt *stmt)
10161016
extras_after=lappend(extras_after, (Node*)fk_trigger);
10171017

10181018
/*
1019-
* Build a CREATE CONSTRAINT TRIGGER statement for the
1019+
* Build a CREATE CONSTRAINT TRIGGER statement for the
10201020
* ON DELETE action fired on the PK table !!!
10211021
*
10221022
*/
@@ -1084,7 +1084,7 @@ transformCreateStmt(ParseState *pstate, CreateStmt *stmt)
10841084
extras_after=lappend(extras_after, (Node*)fk_trigger);
10851085

10861086
/*
1087-
* Build a CREATE CONSTRAINT TRIGGER statement for the
1087+
* Build a CREATE CONSTRAINT TRIGGER statement for the
10881088
* ON UPDATE action fired on the PK table !!!
10891089
*
10901090
*/
@@ -1679,7 +1679,7 @@ transformFkeyGetPrimaryKey(FkConstraint *fkconstraint)
16791679
* using the attribute names of the PK relation descriptor
16801680
* ----------
16811681
*/
1682-
for (i=0;i<8&&indexStruct->indkey[i]!=0;i++)
1682+
for (i=0;i<INDEX_MAX_KEYS&&indexStruct->indkey[i]!=0;i++)
16831683
{
16841684
pkattno=indexStruct->indkey[i];
16851685
pkattr= (Ident*)makeNode(Ident);

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

Lines changed: 17 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
*
88
*
99
* IDENTIFICATION
10-
* $Header: /cvsroot/pgsql/src/backend/utils/adt/int.c,v 1.27 1999/07/1720:17:56 momjian Exp $
10+
* $Header: /cvsroot/pgsql/src/backend/utils/adt/int.c,v 1.28 2000/01/10 05:20:23 momjian Exp $
1111
*
1212
*-------------------------------------------------------------------------
1313
*/
@@ -76,29 +76,26 @@ int2out(int16 sh)
7676
*Fills any nonexistent digits with NULLs.
7777
*/
7878
int16*
79-
int28in(char*shs)
79+
int28in(char*intString)
8080
{
8181
int16*result;
82-
intnums;
82+
intslot;
8383

84-
if (shs==NULL)
84+
if (intString==NULL)
8585
returnNULL;
8686

87-
result= (int16*)palloc(sizeof(int16[8]));
88-
if ((nums=sscanf(shs,"%hd%hd%hd%hd%hd%hd%hd%hd",
89-
&result[0],
90-
&result[1],
91-
&result[2],
92-
&result[3],
93-
&result[4],
94-
&result[5],
95-
&result[6],
96-
&result[7]))!=8)
87+
result= (int16*)palloc(sizeof(int16[INDEX_MAX_KEYS]));
88+
89+
for (slot=0;*intString&&slot<INDEX_MAX_KEYS;slot++)
9790
{
98-
do
99-
result[nums++]=0;
100-
while (nums<8);
91+
if (sscanf(intString,"%hd",&result[slot])!=1)
92+
break;
93+
while (*intString&&*intString!=' ')
94+
intString++;
10195
}
96+
while (slot<INDEX_MAX_KEYS)
97+
result[slot++]=0;
98+
10299
returnresult;
103100
}
104101

@@ -120,10 +117,10 @@ int28out(int16 *shs)
120117
result[1]='\0';
121118
returnresult;
122119
}
123-
rp=result= (char*)palloc(8*7);/* assumes sign, 5 digits,
124-
* ' ' */
120+
rp=result= (char*)palloc(INDEX_MAX_KEYS*7);
121+
/* assumes sign, 5 digits, ' ' */
125122
sp=shs;
126-
for (num=8;num!=0;num--)
123+
for (num=INDEX_MAX_KEYS;num!=0;num--)
127124
{
128125
itoa(*sp++,rp);
129126
while (*++rp!='\0')

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp