File tree Expand file tree Collapse file tree 3 files changed +11
-18
lines changed Expand file tree Collapse file tree 3 files changed +11
-18
lines changed Original file line number Diff line number Diff line change @@ -32,9 +32,11 @@ Based on partitioning type and operator the `pg_pathman` searches corresponding
32
32
33
33
## Roadmap
34
34
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.
38
40
39
41
## Installation
40
42
Original file line number Diff line number Diff line change @@ -34,9 +34,11 @@ WHERE id = 150
34
34
35
35
## Roadmap
36
36
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.
40
42
41
43
## Установка
42
44
Original file line number Diff line number Diff line change @@ -18,12 +18,6 @@ HTAB *relations = NULL;
18
18
HTAB * range_restrictions = NULL ;
19
19
bool initialization_needed = true;
20
20
21
- typedef struct ShmemConfig
22
- {
23
- bool config_loaded ;
24
- } ShmemConfig ;
25
- ShmemConfig * shmem_cfg ;
26
-
27
21
static FmgrInfo * qsort_type_cmp_func ;
28
22
static bool globalByVal ;
29
23
@@ -34,12 +28,8 @@ static int cmp_range_entries(const void *p1, const void *p2);
34
28
void
35
29
init_shmem_config ()
36
30
{
37
- bool found ;
38
31
create_relations_hashtable ();
39
32
create_range_restrictions_hashtable ();
40
- shmem_cfg = (ShmemConfig * )
41
- ShmemInitStruct ("pathman shmem config" , sizeof (ShmemConfig ), & found );
42
- shmem_cfg -> config_loaded = false;
43
33
}
44
34
45
35
/*
@@ -54,12 +44,11 @@ load_config(void)
54
44
new_segment_created = init_dsm_segment (INITIAL_BLOCKS_COUNT , 32 );
55
45
56
46
/* if config is not loaded */
57
- if (shmem_cfg && ! shmem_cfg -> config_loaded )
47
+ if (new_segment_created )
58
48
{
59
49
LWLockAcquire (load_config_lock , LW_EXCLUSIVE );
60
50
load_relations_hashtable (new_segment_created );
61
51
LWLockRelease (load_config_lock );
62
- shmem_cfg -> config_loaded = true;
63
52
}
64
53
}
65
54
You can’t perform that action at this time.
0 commit comments