-
Notifications
You must be signed in to change notification settings - Fork 14
/
ChangeLog
226 lines (175 loc) · 9.22 KB
/
ChangeLog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
Version 4.0 - May 31 2024
This major release allow preloading pgtt in session_preload_libraries
and adds support to Windows operating system. Here is the complete list
of changes.
- Add port to Windows operating system. Note that, for some unknown reasons
it doesn't work at all with PostgreSQL 13. Thanks to Julien Rouhaud for
the patch
- Allow preloading pgtt in session_preload_libraries. The module is now lazily
loaded when it might be needed (after parse analysis, before executor
startup and before utility statements execution), and all the code is simply
bypassed if the underlying extension has not been created. Thanks to Julien
Rouhaud for the patch.
- Fix first query execution after a LOAD command. If the extension is loaded
with a plain LOAD command, the search_path will only be set during the next
query execution. It means that the very first query executed after such a
LOAD wouldn't see the global temporary tables. Thanks to Julien Rouhaud for
the patch.
- Remove the relocation test, the extension is not relocatable anymore.
- Fix crash with RESET ALL. RESET ALL has a NULL "name" field, so we can't use
strcmp in that case. Since the existing code is only interested in SET
commands, just move up the check that the command is a VAR_SET_VALUE to
ensure that we will have a GUC name. Thanks to Julien Rouhaud for the patch.
- Fix various minor whitespace and indent issues. Thanks to Julien Rouhaud for
the patch.
- Add Julen Rouhaud in the authors and maintainers list.
Version 3.2 - Apr 12 2024
This is a maintenance release to fix issues reported by users since latest
release and compatibility with future PG 17.
- Add information about privilege on the pgtt schema.
- Make test on lock compatible with version <= 14
- The temporary table needs to be locked. Thanks to Leo X.M. Zeng for the patch.
- Replace MyBackendId with MyProcNumber for PG > 16
- Check extension when loading pgtt. Thanks to Japin Li for the patch.
- Release lock on global template temporary table. Thanks to Japin Li for the patch.
Version 3.1 - Dec 26 2023
This is a maintenance release to fix issues reported by users since latest
release.
- Fix ERROR: attempt to redefine parameter "pgtt.enabled". Thanks to
Japin Li for the report.
- Forget acquiring lock for temporary table. Thanks to Japin Li for the patch.
- Add temporisation after vacuum in 08_plplgsql test.
- Update main.yml to remove PG versions prior 12.
Version 3.0 - Sep 17 2023
This major release fix several issues related to PostgreSQL v16 port
and remove support to PostgreSQL version prior 12. Here is the complete
list of changes.
- Remove support to PostgreSQL prior v12.
- Fix compilation error: static declaration of get_extension_schema follows
non-static declaration. Thanks to Devrim Gunduz for the report.
- Remove grouping set in regexp.
- Add -Wno-ignored-attributes to CPPFLAGS to avoid compilation warning on
pg_vsnprintf call.
- Replace GetOverrideSearchPath() call by GetSearchPathMatcher() with
PG > 16
- Fix debug information print on Windows. Thanks to Lanlan for the patch.
- Replace reg* regexp function with the pg_reg* function. Thanks to Lanlan
for the report.
- Fix port to PostgreSQL v16. Thanks to Julien Rouhaud for the patch.
Version 2.10 - Feb 23 2023
This is a maintenance release to fix a lock issue in multi parallel process
environment, many locks were generated. Here is the complete list of changes.
- Delegate locks on per session temporary tables to PostgreSQL when the table
will be used.
- Release lock on parent table after temporary table creation based on this
relation. Thanks to jayhsiang and liyaojinli for the report.
- Use vacuum in test 08 to not look at pg_class too early before the temporary
table is remove.
- Fix setting default value of the parent table's persistence that can be
misleading in future development. Thanks to songjinzhou for the patch.
- Fix documentation. Thanks to Luca Ferrari for the patch.
Version 2.9 - Aug 16 2022
This is a maintenance release per CVE-2022-2625 and new PostgreSQL minor
versions updates.
- Remove creation of the pgtt_schema if it not exists from extension
files per CVE-2022-2625. Thanks to Dmitry Ukolov for the report.
- Add regression test for regular table drop.
Version 2.8 - Jun 02 2022
This is a maintenance release to add support to PostgreSQL 15
and fix an error when trying to drop a regular table.
- Add support to PostgreSQL 15.
- Fix impossibility to drop a regular table when the extension is loaded.
Thanks to basildba for the report.
Version 2.7 - Nov 23 2021
This is a maintenance release to fix an issue with parallelism
and improve performances.
- Prevent code to be executed in parallel processes. Thanks to
Dmitry Ukolov for the report.
- Improve performances by not looking for an existing GTT table
if the table is a temporary table or part of the pg_catalog.
- Update ChangeLog to acknowledge patch on PG14 support to Dmitry Ukolov.
- Update copyright year.
Version 2.6 - Sep 22 2021
This is a maintenance release to add support for upcomming PostgreSQL 14
and fixed some issues reported in the past three months.
- Add support to PostgreSQL 14. Thanks to Devrim Gunduz for the report
and Dmitry Ukolov for the patch.
- Remove support to PG 9.5 which obviously was not working. Minimal PG
version for this extension is 9.6.
- Fix documentation menu.
- Fix creation of GTT when there is a CHECK constraint with string
constant.
Version 2.5 - Jun 08 2021
This is a maintenance release to hotfix port on PostgreSQL 9.6.
- Fix port to PostgreSQL 9.6. Thanks to Devrim Gunduz for the report.
Version 2.4 - Jun 04 2021
This version allow use of the extension by non superuser and especially
the creation and maintenance of GTT. It also fixes compatibility with
PostgreSQL v14. Here is the full list of changes:
- Fix FailedAssertion "flags & HASH_STRINGS" with PG14. Thanks to
MigOps for the patch.
- Check for minimum pg version in the C code instead of Makefile.
Thanks to MigOps for the patch.
- Fixed compiling for PostgreSQL 14. Thanks to Dmitry Ukolov for
the patch.
- Fix documentation about privilege to set on pgtt_schema for a
non superuser role.
- Allow creation and maintenance of Global Temporary Tables by non
superuser. This require that the user can use schema pgtt_schema
and can write to table pg_schema.pg_global_temp_tables.
- The library can now be loaded by the user using:
LOAD '$libdir/plugins/pgtt.so';
Thanks to Dmitry Ukolov for the feature request.
- Fix two crashes when --enable-cassert is used. Thanks to hanson69
for the report.
- Fix comment and index on PGTT table. Thanks to Dmitry Ukolov for
the report.
- Fix unexpected error "attempt to create referential integrity
constraint on global temporary table" when creating a regular
table and fix detection of FK and throw an error on create global
temporary table statement. Thanks to Dmitry Ukolov for the report.
- Fix impossibility to recreate GTT if it was dropped in another
session. Thanks to Dmitry Ukolov for the report.
- Remove useless extension's downgrade files. Thanks to MigOps
for the patch.
Version 2.3 - Apr 02 2021
This version fix the compatibility with PostgreSQL 10 and 11.
When use on PostgreSQL 10 and 11 the following was raised
ERROR: unrecognized node type: 375
Thanks to smallcookie086 for the report.
Add upgrade/downgrade SQL files.
Version 2.2 - Nov 08 2020
This release is a port of the extension for PostgreSQL v12 and v13.
Works now on all PostgreSQL version from v9.5 to current. It also
fixes automatic creation of the underlying temporary table after a
rollback.
Other fixes:
- Fix regression test for all supported PG version.
- Replace call to \d in regression tests, they do not report the
same information following PG version.
- Remove test about partitioning as it returns a failure for PG < 10.
- Update regression tests to avoid failure related to temp table id.
- Add regression test for error on rollback issue.
Version 2.1 - May 11 2020
This is a maintenance release to complete the work on the extension
and fix some issues.
* Prevent use of foreign keys with GTT, not that PostgreSQL do not
allow it but just to mimic the behavior of Oracle and other RDBMS
like DB2, SQL Server and MySQL for example.
* Raise an error on an attempt to partition a Global Temporary Table.
This is not supported, again not because PostgreSQL do not allow
partition on temporary table but because other RDBMS like Oracle,
DB2 and MySQL do not support it.
* Add support to comments, constraints and identity columns clauses
when creating the GTT.
Other fixes:
- Add regression tests on partitioning and FK.
- Exclude regression.* files from git scope.
- Improve documentation and add information about constraints.
- Add documentation about unsupported FK and partition on GTT.
- Fix missing files for expected test results.
- Fix exclusion of .out and results directory.
- Update regression tests about changes on CREATE TABLE ... LIKE.
- Fix some typo in documentation and markdown titles.
Version 2.0 - April 19 2020
Initial release.