@@ -238,15 +238,14 @@ static XLogRelDesc *_xlrelarr = NULL;
238238static Form_pg_class _xlpgcarr = NULL ;
239239static int _xlast = 0 ;
240240static int _xlcnt = 0 ;
241- #define _XLOG_INITRELCACHESIZE 32
242- #define _XLOG_MAXRELCACHESIZE 512
241+ #define _XLOG_RELCACHESIZE 512
243242
244243static void
245244_xl_init_rel_cache (void )
246245{
247246HASHCTL ctl ;
248247
249- _xlcnt = _XLOG_INITRELCACHESIZE ;
248+ _xlcnt = _XLOG_RELCACHESIZE ;
250249_xlast = 0 ;
251250_xlrelarr = (XLogRelDesc * )malloc (sizeof (XLogRelDesc )* _xlcnt );
252251memset (_xlrelarr ,0 ,sizeof (XLogRelDesc )* _xlcnt );
@@ -261,7 +260,7 @@ _xl_init_rel_cache(void)
261260ctl .datasize = sizeof (XLogRelDesc * );
262261ctl .hash = tag_hash ;
263262
264- _xlrelcache = hash_create (_XLOG_INITRELCACHESIZE ,& ctl ,
263+ _xlrelcache = hash_create (_XLOG_RELCACHESIZE ,& ctl ,
265264HASH_ELEM |HASH_FUNCTION );
266265}
267266
@@ -297,34 +296,22 @@ _xl_remove_hash_entry(XLogRelDesc **edata, int dummy)
297296static XLogRelDesc *
298297_xl_new_reldesc (void )
299298{
299+ XLogRelDesc * res ;
300+
300301_xlast ++ ;
301302if (_xlast < _xlcnt )
302303{
303304_xlrelarr [_xlast ].reldata .rd_rel = & (_xlpgcarr [_xlast ]);
304305return (& (_xlrelarr [_xlast ]));
305306}
306307
307- if (2 * _xlcnt <=_XLOG_MAXRELCACHESIZE )
308- {
309- _xlrelarr = (XLogRelDesc * )realloc (_xlrelarr ,
310- 2 * sizeof (XLogRelDesc )* _xlcnt );
311- memset (& (_xlrelarr [_xlcnt ]),0 ,sizeof (XLogRelDesc )* _xlcnt );
312- _xlpgcarr = (Form_pg_class )realloc (_xlpgcarr ,
313- 2 * sizeof (FormData_pg_class )* _xlcnt );
314- memset (& (_xlpgcarr [_xlcnt ]),0 ,sizeof (FormData_pg_class )* _xlcnt );
315- _xlcnt += _xlcnt ;
316- _xlrelarr [_xlast ].reldata .rd_rel = & (_xlpgcarr [_xlast ]);
317- return (& (_xlrelarr [_xlast ]));
318- }
319- else /* reuse */
320- {
321- XLogRelDesc * res = _xlrelarr [0 ].moreRecently ;
308+ /* reuse */
309+ res = _xlrelarr [0 ].moreRecently ;
322310
323- _xl_remove_hash_entry (& res ,0 );
311+ _xl_remove_hash_entry (& res ,0 );
324312
325- _xlast -- ;
326- return (res );
327- }
313+ _xlast -- ;
314+ return (res );
328315}
329316
330317extern void CreateDummyCaches (void );