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

Commit0bdd0cd

Browse files
committed
Update fmgr to allow 32 arguments.
1 parent8a093d0 commit0bdd0cd

File tree

2 files changed

+248
-3
lines changed

2 files changed

+248
-3
lines changed

‎src/backend/utils/fmgr/fmgr.c

Lines changed: 242 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
*
88
*
99
* IDENTIFICATION
10-
* $Header: /cvsroot/pgsql/src/backend/utils/fmgr/fmgr.c,v 1.34 2000/01/1017:14:39 momjian Exp $
10+
* $Header: /cvsroot/pgsql/src/backend/utils/fmgr/fmgr.c,v 1.35 2000/01/1018:18:30 momjian Exp $
1111
*
1212
*-------------------------------------------------------------------------
1313
*/
@@ -233,6 +233,238 @@ fmgr_c(FmgrInfo *finfo,
233233
values->data[14],values->data[15]);
234234
break;
235235
case17:
236+
returnValue= (*user_fn) (values->data[0],values->data[1],
237+
values->data[2],values->data[3],
238+
values->data[4],values->data[5],
239+
values->data[6],values->data[7],
240+
values->data[8],values->data[9],
241+
values->data[10],values->data[11],
242+
values->data[12],values->data[13],
243+
values->data[14],values->data[15],
244+
values->data[16]);
245+
break;
246+
case18:
247+
returnValue= (*user_fn) (values->data[0],values->data[1],
248+
values->data[2],values->data[3],
249+
values->data[4],values->data[5],
250+
values->data[6],values->data[7],
251+
values->data[8],values->data[9],
252+
values->data[10],values->data[11],
253+
values->data[12],values->data[13],
254+
values->data[14],values->data[15],
255+
values->data[16],values->data[17]);
256+
break;
257+
case19:
258+
returnValue= (*user_fn) (values->data[0],values->data[1],
259+
values->data[2],values->data[3],
260+
values->data[4],values->data[5],
261+
values->data[6],values->data[7],
262+
values->data[8],values->data[9],
263+
values->data[10],values->data[11],
264+
values->data[12],values->data[13],
265+
values->data[14],values->data[15],
266+
values->data[16],values->data[17],
267+
values->data[18]);
268+
break;
269+
case20:
270+
returnValue= (*user_fn) (values->data[0],values->data[1],
271+
values->data[2],values->data[3],
272+
values->data[4],values->data[5],
273+
values->data[6],values->data[7],
274+
values->data[8],values->data[9],
275+
values->data[10],values->data[11],
276+
values->data[12],values->data[13],
277+
values->data[14],values->data[15],
278+
values->data[16],values->data[17],
279+
values->data[18],values->data[19]);
280+
break;
281+
case21:
282+
returnValue= (*user_fn) (values->data[0],values->data[1],
283+
values->data[2],values->data[3],
284+
values->data[4],values->data[5],
285+
values->data[6],values->data[7],
286+
values->data[8],values->data[9],
287+
values->data[10],values->data[11],
288+
values->data[12],values->data[13],
289+
values->data[14],values->data[15],
290+
values->data[16],values->data[17],
291+
values->data[18],values->data[19],
292+
values->data[20]);
293+
break;
294+
case22:
295+
returnValue= (*user_fn) (values->data[0],values->data[1],
296+
values->data[2],values->data[3],
297+
values->data[4],values->data[5],
298+
values->data[6],values->data[7],
299+
values->data[8],values->data[9],
300+
values->data[10],values->data[11],
301+
values->data[12],values->data[13],
302+
values->data[14],values->data[15],
303+
values->data[16],values->data[17],
304+
values->data[18],values->data[19],
305+
values->data[20],values->data[21]);
306+
break;
307+
case23:
308+
returnValue= (*user_fn) (values->data[0],values->data[1],
309+
values->data[2],values->data[3],
310+
values->data[4],values->data[5],
311+
values->data[6],values->data[7],
312+
values->data[8],values->data[9],
313+
values->data[10],values->data[11],
314+
values->data[12],values->data[13],
315+
values->data[14],values->data[15],
316+
values->data[16],values->data[17],
317+
values->data[18],values->data[19],
318+
values->data[20],values->data[21],
319+
values->data[22]);
320+
break;
321+
case24:
322+
returnValue= (*user_fn) (values->data[0],values->data[1],
323+
values->data[2],values->data[3],
324+
values->data[4],values->data[5],
325+
values->data[6],values->data[7],
326+
values->data[8],values->data[9],
327+
values->data[10],values->data[11],
328+
values->data[12],values->data[13],
329+
values->data[14],values->data[15],
330+
values->data[16],values->data[17],
331+
values->data[18],values->data[19],
332+
values->data[20],values->data[21],
333+
values->data[22],values->data[23]);
334+
break;
335+
case25:
336+
returnValue= (*user_fn) (values->data[0],values->data[1],
337+
values->data[2],values->data[3],
338+
values->data[4],values->data[5],
339+
values->data[6],values->data[7],
340+
values->data[8],values->data[9],
341+
values->data[10],values->data[11],
342+
values->data[12],values->data[13],
343+
values->data[14],values->data[15],
344+
values->data[16],values->data[17],
345+
values->data[18],values->data[19],
346+
values->data[20],values->data[21],
347+
values->data[22],values->data[23],
348+
values->data[24]);
349+
break;
350+
case26:
351+
returnValue= (*user_fn) (values->data[0],values->data[1],
352+
values->data[2],values->data[3],
353+
values->data[4],values->data[5],
354+
values->data[6],values->data[7],
355+
values->data[8],values->data[9],
356+
values->data[10],values->data[11],
357+
values->data[12],values->data[13],
358+
values->data[14],values->data[15],
359+
values->data[16],values->data[17],
360+
values->data[18],values->data[19],
361+
values->data[20],values->data[21],
362+
values->data[22],values->data[23],
363+
values->data[24],values->data[25]);
364+
break;
365+
case27:
366+
returnValue= (*user_fn) (values->data[0],values->data[1],
367+
values->data[2],values->data[3],
368+
values->data[4],values->data[5],
369+
values->data[6],values->data[7],
370+
values->data[8],values->data[9],
371+
values->data[10],values->data[11],
372+
values->data[12],values->data[13],
373+
values->data[14],values->data[15],
374+
values->data[16],values->data[17],
375+
values->data[18],values->data[19],
376+
values->data[20],values->data[21],
377+
values->data[22],values->data[23],
378+
values->data[24],values->data[25],
379+
values->data[26]);
380+
break;
381+
case28:
382+
returnValue= (*user_fn) (values->data[0],values->data[1],
383+
values->data[2],values->data[3],
384+
values->data[4],values->data[5],
385+
values->data[6],values->data[7],
386+
values->data[8],values->data[9],
387+
values->data[10],values->data[11],
388+
values->data[12],values->data[13],
389+
values->data[14],values->data[15],
390+
values->data[16],values->data[17],
391+
values->data[18],values->data[19],
392+
values->data[20],values->data[21],
393+
values->data[22],values->data[23],
394+
values->data[24],values->data[25],
395+
values->data[26],values->data[27]);
396+
break;
397+
case29:
398+
returnValue= (*user_fn) (values->data[0],values->data[1],
399+
values->data[2],values->data[3],
400+
values->data[4],values->data[5],
401+
values->data[6],values->data[7],
402+
values->data[8],values->data[9],
403+
values->data[10],values->data[11],
404+
values->data[12],values->data[13],
405+
values->data[14],values->data[15],
406+
values->data[16],values->data[17],
407+
values->data[18],values->data[19],
408+
values->data[20],values->data[21],
409+
values->data[22],values->data[23],
410+
values->data[24],values->data[25],
411+
values->data[26],values->data[27],
412+
values->data[28]);
413+
break;
414+
case30:
415+
returnValue= (*user_fn) (values->data[0],values->data[1],
416+
values->data[2],values->data[3],
417+
values->data[4],values->data[5],
418+
values->data[6],values->data[7],
419+
values->data[8],values->data[9],
420+
values->data[10],values->data[11],
421+
values->data[12],values->data[13],
422+
values->data[14],values->data[15],
423+
values->data[16],values->data[17],
424+
values->data[18],values->data[19],
425+
values->data[20],values->data[21],
426+
values->data[22],values->data[23],
427+
values->data[24],values->data[25],
428+
values->data[26],values->data[27],
429+
values->data[28],values->data[29]);
430+
break;
431+
case31:
432+
returnValue= (*user_fn) (values->data[0],values->data[1],
433+
values->data[2],values->data[3],
434+
values->data[4],values->data[5],
435+
values->data[6],values->data[7],
436+
values->data[8],values->data[9],
437+
values->data[10],values->data[11],
438+
values->data[12],values->data[13],
439+
values->data[14],values->data[15],
440+
values->data[16],values->data[17],
441+
values->data[18],values->data[19],
442+
values->data[20],values->data[21],
443+
values->data[22],values->data[23],
444+
values->data[24],values->data[25],
445+
values->data[26],values->data[27],
446+
values->data[28],values->data[29],
447+
values->data[30]);
448+
break;
449+
case32:
450+
returnValue= (*user_fn) (values->data[0],values->data[1],
451+
values->data[2],values->data[3],
452+
values->data[4],values->data[5],
453+
values->data[6],values->data[7],
454+
values->data[8],values->data[9],
455+
values->data[10],values->data[11],
456+
values->data[12],values->data[13],
457+
values->data[14],values->data[15],
458+
values->data[16],values->data[17],
459+
values->data[18],values->data[19],
460+
values->data[20],values->data[21],
461+
values->data[22],values->data[23],
462+
values->data[24],values->data[25],
463+
values->data[26],values->data[27],
464+
values->data[28],values->data[29],
465+
values->data[30],values->data[31]);
466+
break;
467+
default:
236468

237469
/*
238470
* XXX Note that functions with >FUNC_MAX_ARGS arguments can only be
@@ -247,7 +479,15 @@ fmgr_c(FmgrInfo *finfo,
247479
values->data[8],values->data[9],
248480
values->data[10],values->data[11],
249481
values->data[12],values->data[13],
250-
values->data[14],values->data[15]);
482+
values->data[14],values->data[15],
483+
values->data[16],values->data[17],
484+
values->data[18],values->data[19],
485+
values->data[20],values->data[21],
486+
values->data[22],values->data[23],
487+
values->data[24],values->data[25],
488+
values->data[26],values->data[27],
489+
values->data[28],values->data[29],
490+
values->data[30],values->data[31]);
251491
break;
252492
default:
253493
elog(ERROR,"fmgr_c: function %u: too many arguments (%d > %d)",

‎src/include/config.h.in

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -93,8 +93,13 @@
9393
#defineINDEXSCAN_PATCH
9494

9595
/*
96-
* Maximum number of columns in an index and maximum number ofargs
96+
* Maximum number of columns in an index and maximum number ofarguments
9797
* to a function. They must be the same value.
98+
*
99+
* There is no maximum value, though if you want to pass more than 32
100+
* arguments to a function, you will have to modify
101+
* pgsql/src/backend/utils/fmgr/fmgr.c and add additional entries
102+
* to the 'case' statement for the additional arguments.
98103
*/
99104
#defineINDEX_MAX_KEYS8
100105
#defineFUNC_MAX_ARGSINDEX_MAX_KEYS

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp