Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to content

Commit 25a2eec

Browse files
committed
Merge branch 'master' of github.com:postgrespro/pg_pathman
2 parents 299d025 + 8447815 commit 25a2eec

File tree

3 files changed

+11
-18
lines changed

3 files changed

+11
-18
lines changed

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

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

init.c

Lines changed: 1 addition & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -18,12 +18,6 @@ HTAB *relations = NULL;
1818
HTAB *range_restrictions = NULL;
1919
bool initialization_needed = true;
2020

21-
typedef struct ShmemConfig
22-
{
23-
bool config_loaded;
24-
} ShmemConfig;
25-
ShmemConfig *shmem_cfg;
26-
2721
static FmgrInfo *qsort_type_cmp_func;
2822
static bool globalByVal;
2923

@@ -34,12 +28,8 @@ static int cmp_range_entries(const void *p1, const void *p2);
3428
void
3529
init_shmem_config()
3630
{
37-
bool found;
3831
create_relations_hashtable();
3932
create_range_restrictions_hashtable();
40-
shmem_cfg = (ShmemConfig *)
41-
ShmemInitStruct("pathman shmem config", sizeof(ShmemConfig), &found);
42-
shmem_cfg->config_loaded = false;
4333
}
4434

4535
/*
@@ -54,12 +44,11 @@ load_config(void)
5444
new_segment_created = init_dsm_segment(INITIAL_BLOCKS_COUNT, 32);
5545

5646
/* if config is not loaded */
57-
if (shmem_cfg && !shmem_cfg->config_loaded)
47+
if (new_segment_created)
5848
{
5949
LWLockAcquire(load_config_lock, LW_EXCLUSIVE);
6050
load_relations_hashtable(new_segment_created);
6151
LWLockRelease(load_config_lock);
62-
shmem_cfg->config_loaded = true;
6352
}
6453
}
6554

0 commit comments

Comments
 (0)