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

Commit4681ad4

Browse files
Use construct_array_builtin for FLOAT8OID instead of construct_array.
Commitd746021 introduced construct_array_builtin() for built-indata types, but forgot some replacements linked to FLOAT8OID.Author: Bertrand DrouvotReviewed-by: Peter EisentrautDiscussion:https://postgr.es/m/CAD21AoCERkwmttY44dqUw%3Dm_9QCctu7W%2Bp6B7w_VqxRJA1Qq_Q%40mail.gmail.com
1 parentc594f1a commit4681ad4

File tree

2 files changed

+11
-15
lines changed

2 files changed

+11
-15
lines changed

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

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3404,6 +3404,12 @@ construct_array_builtin(Datum *elems, int nelems, Oid elmtype)
34043404
elmalign=TYPALIGN_INT;
34053405
break;
34063406

3407+
caseFLOAT8OID:
3408+
elmlen=sizeof(float8);
3409+
elmbyval=FLOAT8PASSBYVAL;
3410+
elmalign=TYPALIGN_DOUBLE;
3411+
break;
3412+
34073413
caseINT2OID:
34083414
elmlen=sizeof(int16);
34093415
elmbyval= true;

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

Lines changed: 5 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -2946,9 +2946,7 @@ float8_combine(PG_FUNCTION_ARGS)
29462946
transdatums[1]=Float8GetDatumFast(Sx);
29472947
transdatums[2]=Float8GetDatumFast(Sxx);
29482948

2949-
result=construct_array(transdatums,3,
2950-
FLOAT8OID,
2951-
sizeof(float8),FLOAT8PASSBYVAL,TYPALIGN_DOUBLE);
2949+
result=construct_array_builtin(transdatums,3,FLOAT8OID);
29522950

29532951
PG_RETURN_ARRAYTYPE_P(result);
29542952
}
@@ -3029,9 +3027,7 @@ float8_accum(PG_FUNCTION_ARGS)
30293027
transdatums[1]=Float8GetDatumFast(Sx);
30303028
transdatums[2]=Float8GetDatumFast(Sxx);
30313029

3032-
result=construct_array(transdatums,3,
3033-
FLOAT8OID,
3034-
sizeof(float8),FLOAT8PASSBYVAL,TYPALIGN_DOUBLE);
3030+
result=construct_array_builtin(transdatums,3,FLOAT8OID);
30353031

30363032
PG_RETURN_ARRAYTYPE_P(result);
30373033
}
@@ -3114,9 +3110,7 @@ float4_accum(PG_FUNCTION_ARGS)
31143110
transdatums[1]=Float8GetDatumFast(Sx);
31153111
transdatums[2]=Float8GetDatumFast(Sxx);
31163112

3117-
result=construct_array(transdatums,3,
3118-
FLOAT8OID,
3119-
sizeof(float8),FLOAT8PASSBYVAL,TYPALIGN_DOUBLE);
3113+
result=construct_array_builtin(transdatums,3,FLOAT8OID);
31203114

31213115
PG_RETURN_ARRAYTYPE_P(result);
31223116
}
@@ -3359,9 +3353,7 @@ float8_regr_accum(PG_FUNCTION_ARGS)
33593353
transdatums[4]=Float8GetDatumFast(Syy);
33603354
transdatums[5]=Float8GetDatumFast(Sxy);
33613355

3362-
result=construct_array(transdatums,6,
3363-
FLOAT8OID,
3364-
sizeof(float8),FLOAT8PASSBYVAL,TYPALIGN_DOUBLE);
3356+
result=construct_array_builtin(transdatums,6,FLOAT8OID);
33653357

33663358
PG_RETURN_ARRAYTYPE_P(result);
33673359
}
@@ -3500,9 +3492,7 @@ float8_regr_combine(PG_FUNCTION_ARGS)
35003492
transdatums[4]=Float8GetDatumFast(Syy);
35013493
transdatums[5]=Float8GetDatumFast(Sxy);
35023494

3503-
result=construct_array(transdatums,6,
3504-
FLOAT8OID,
3505-
sizeof(float8),FLOAT8PASSBYVAL,TYPALIGN_DOUBLE);
3495+
result=construct_array_builtin(transdatums,6,FLOAT8OID);
35063496

35073497
PG_RETURN_ARRAYTYPE_P(result);
35083498
}

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp