Skip to content

Commit 2f143bd

Browse files
committed
pathman: cleanup
1 parent d1362a6 commit 2f143bd

File tree

5 files changed

+12
-18
lines changed

5 files changed

+12
-18
lines changed

contrib/pg_pathman/README.md

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,9 +32,11 @@ Based on partitioning type and operator the `pg_pathman` searches corresponding
3232

3333
## Roadmap
3434

35-
* Optimize the execution of the NestedLoop join method;
36-
* LIST-partitioning;
37-
* HASH-partitioning for non integer attributes.
35+
* Execute time sections selections (useful for nested loops and prepared statements);
36+
* Optimization of ordering output from patitioned tables (useful for merge join and order by);
37+
* Optimization of hash join when both tables are patitioned by join key;
38+
* LIST-patitioning;
39+
* HASH-patitioning by non integer attribtes.
3840

3941
## Installation
4042

contrib/pg_pathman/README.rus.md

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -34,9 +34,11 @@ WHERE id = 150
3434

3535
## Roadmap
3636

37-
* Оптимизация поиска секции для соединения (join) таблиц методом NestedLoop;
38-
* LIST-секционирование;
39-
* HASH-секционирование по ключевому аттрибуту с типом, отличным от INTEGER.
37+
* Выбор секций на этапе выполнения запроса (полезно для nested loop join, prepared statements);
38+
* Оптимизация выдачи упорядоченных результатов из секционированных таблиц (полезно для merge join, order by);
39+
* Оптимизация hash join для случая, когда обе таблицы секционированы по ключу join’а;
40+
* LIST-секционирование;
41+
* HASH-секционирование по ключевому атрибуту с типом, отличным от INTEGER.
4042

4143
## Установка
4244

contrib/pg_pathman/init.c

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,6 @@
1313
#include "utils/bytea.h"
1414
#include "utils/snapmgr.h"
1515

16-
#include "miscadmin.h"
17-
1816

1917
HTAB *relations = NULL;
2018
HTAB *range_restrictions = NULL;

contrib/pg_pathman/pathman.h

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -105,6 +105,8 @@ typedef struct PathmanState
105105
LWLock *edit_partitions_lock;
106106
} PathmanState;
107107

108+
PathmanState *pmstate;
109+
108110
#define PATHMAN_GET_DATUM(value, by_val) ( (by_val) ? (value) : PointerGetDatum(&value) )
109111

110112
typedef int IndexRange;
@@ -139,12 +141,6 @@ List *irange_list_intersect(List *a, List *b);
139141
int irange_list_length(List *rangeset);
140142
bool irange_list_find(List *rangeset, int index, bool *lossy);
141143

142-
143-
// LWLock *load_config_lock;
144-
// LWLock *dsm_init_lock;
145-
// LWLock *edit_partitions_lock;
146-
PathmanState *pmstate;
147-
148144
/* Dynamic shared memory functions */
149145
void init_dsm_config(void);
150146
bool init_dsm_segment(size_t blocks_count, size_t block_size);

contrib/pg_pathman/pl_funcs.c

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -361,17 +361,13 @@ check_overlap(PG_FUNCTION_ARGS)
361361
Datum
362362
acquire_partitions_lock(PG_FUNCTION_ARGS)
363363
{
364-
// int relid = DatumGetInt32(PG_GETARG_DATUM(0));
365-
// LockRelationOid(relid, AccessExclusiveLock);
366364
LWLockAcquire(pmstate->edit_partitions_lock, LW_EXCLUSIVE);
367365
PG_RETURN_NULL();
368366
}
369367

370368
Datum
371369
release_partitions_lock(PG_FUNCTION_ARGS)
372370
{
373-
// int relid = DatumGetInt32(PG_GETARG_DATUM(0));
374-
// UnlockRelationOid(relid, AccessExclusiveLock);
375371
LWLockRelease(pmstate->edit_partitions_lock);
376372
PG_RETURN_NULL();
377373
}

0 commit comments

Comments
 (0)