File: ChangeLog

package info (click to toggle)
pgtt 4.4-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 536 kB
  • sloc: ansic: 1,547; sql: 569; makefile: 27; sh: 1
file content (283 lines) | stat: -rw-r--r-- 11,931 bytes parent folder | download | duplicates (2)
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
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
Version 4.4 - July 02 2025

This is a maintenance release to fix a search_path error when using pg_dump.


  - Fix pg_dump error with invalid search_path. pg_dump set search_path to
    empty string, appending the pgtt schema in this case make it fail.
  - Update regression test expected output file related to search_path test.

Version 4.3 - June 09 2025

This is a quick maintenance release to fix an issue introduced in latest
release.

  - Drop extension before running tests on search_path.
  - Fix invalid search_path error. When pgtt isn't preloaded and pg_catalog
    is the last element in search_path, results in error message "invalid
    value for parameter 'search_path'" due to invalid list syntax. Thanks
    to Japin Li for the patch.

Version 4.2 - June 08 2025

This is a maintenance release to fix issues reported by users since latest
release and especially a search_path modification issue.

  - Preserve pg_catalog at end of search path if it is the case to allow
    pg_catalog overloaded function to be executed.
  - Add regression test on search_path forcing.
  - Preserve $user and other elements in search_path. Thanks to Japin Li
    for the patch.
  - Remove the LOAD command from documentation. Thanks to Li Jianping for the
    patch.
  - Fix session_preload_libraries documentation for non-superusers. Thanks
    to Japin Li for the patch.
  - Resolve a warning regarding incompatible pointer types. Thanks to Li
    Jianping for the patch.

Version 4.1 - March 18 2025

This is a maintenance release to fix issues reported by users since latest
release.

  - Use query instead of \d to list indexes in regression tests.
  - Fix wrong complain about temporary table created and active when a
    regular temporary table is created with (LIKE ... INCLUDING INDEXES).
    Thanks to Benjamin Wirth for the report.
  - Remove documentation for non-superuser configuration. Thanks to Julien
    Rouhaud for the patch.
  - Fix config in README. The concrete path to the shared library is not
    needed in postgresql.conf. Thanks to Simon Martin for the patch.
  - Install docs to a non-generic name, add a symlink to README.md that is
    referenced in DOCS. Thanks to Christoph Berg for the patch.
  - Add vaccum pg_class + pg_sleep(1) after each drop table in regression
    tests to wait that the temporary table is really removed.
  - Add missing PGDLLEXPORT tags on callback functions, those are needed on
    windows. Thanks to Julien Rouhaud for the patch.

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.