Commit graph

312 commits

Author SHA1 Message Date
Julien Rouhaud
479d857ae1 Document official .deb packages. 2021-09-24 15:11:46 +08:00
Xiaozhe Yao
3bc3e856aa
Fix a typo (#59)
"which should should be" --> "which should be"
2021-08-02 17:46:21 +02:00
ibrahim edib kokdemir
5ef563fd8b
sql code mistakes (#53)
there was no val field in the created tables.
2020-07-10 06:53:10 +02:00
Julien Rouhaud
aad72af055 Add forgotten include 2020-03-31 18:03:42 +02:00
Julien Rouhaud
ea1fd27765 Fix some compatibility issue with pg12.
Based on 3bb72b7492 and
4e6fce31c7.  A lot more is still needed to get
the hypothetical partitionning part compatible with pg12.
2020-03-31 18:01:20 +02:00
Christoph Matthies
6435708a96
Fix typos in hypothetical_objects.rst (#47) 2020-02-23 17:03:14 +01:00
Julien Rouhaud
723adb4bb9 Warn about broken hypothetical BRIN indexes in some minor versions.
Hypothetical BRIN indexes are broken in some minor versions of pg10, pg11 and
pg12.  Detect those versions and warn users with a useful error message
recommending to update their minor versions of postgres.

Also add regression tests to make sure that support BRIN hypothetical indexes
doesn't get broken again.
2020-02-22 14:42:31 +01:00
Julien Rouhaud
e7022704db Fix failure with hypo index on unexisting table for pg10+. 2020-02-22 13:51:50 +01:00
Julien Rouhaud
b41bd64e69 Handle hypothetical object size greater than 2^32B.
hypopg_relation_size wasn't careful when converting the number of blocks to
bytes, as the result can overflow an int32.

Per report from Jan Koßmann.
2020-02-20 21:52:39 +01:00
Julien Rouhaud
8827086cb2 Update contributors. 2019-11-24 07:37:04 +01:00
Julien Rouhaud
db7c6a38d8 Use ResolveOpClass for pg10+ instead of imported GetIndexOpClass. 2019-07-14 20:47:21 +02:00
Julien Rouhaud
76b9bbbec5 Document limitations with hypothetical partitioning 2019-07-13 09:36:01 +02:00
Yuzuko Hosoya
4aefb2de9b Disable runtime partition pruning on hypothetical partitioned table
Unfortunately, the runtime partition pruning code in v11 is written in such a
way that it can't be made compatible with hypothetical partitioning.
2019-07-13 09:13:58 +02:00
Julien Rouhaud
951ea5fed2 Add regression test for rutime partitiong pruning, pg11+
This unfortunately can't be supported in pg11.  Current code is currently
broken, so later commit will add a proper fix to disable runtime partition
pruning on hypothetically partitioned tables.
2019-06-26 21:53:20 +02:00
Julien Rouhaud
ad1cc8319e Add unique identifier in regression tests comments
Some tests were previously too similar, making it hard to distinguish which
test was exactly failing.  This will help a little bit in such cases.
2019-06-26 20:22:29 +02:00
Joel Van Horn
03dfdaf5e2 Fix typos and formatting (#38) 2019-05-10 20:49:45 +02:00
Michael Kröll
25d65ba413 SET LOCAL client_encoding to retain the scope inside CREATE EXTENSION
Leaving CLIENT_ENCODING to UTF-8 will break pg_restore for non UTF-8 databases.  Use SET LOCAL so that the setting is retained in the CREATE EXTENSION only.
2019-04-23 09:43:20 +02:00
Julien Rouhaud
19af48499e Use ctelevelsup in lieu of values_lists for saving hypo table oid.
An upcoming patch to fix runtime partition pruning issue will need a field that
will survive planning time.
2019-04-11 11:15:53 +02:00
Julien Rouhaud
b5e50e6429 Split imported code in multiple files in a dedicated directory 2019-04-09 21:34:35 +02:00
Julien Rouhaud
55d96e715d Declare hypo_index_check_uniqueness_compatibility for pg11+ only 2019-01-20 19:41:33 +01:00
Julien Rouhaud
acd87ef01a pgindent run and update changelog for last msvc commit.
Also update typedefs.list.
2019-01-20 19:40:45 +01:00
Godwottery
4a5dc56169 Compile and use on Windows (#36)
* Add PGDLLEXPORT to functions called externally

* Make it compile with Visual Studio (it doesn't support #ifdef in macros)

* Add explicit type-cast so silence compiler warnings.

* Replace {INT_MAX | INT32_MAX } with PG_INT32_MAX
2019-01-20 19:24:16 +01:00
Julien Rouhaud
8424300cb9 Stamp 2.0.0beta 2018-12-11 05:08:27 +01:00
Julien Rouhaud
75c8987e2b Check for (hypo) constraint compatibility with (hypo) partitioning 2018-12-09 11:25:53 +01:00
Julien Rouhaud
f472fb12aa Fix typo in documentation. 2018-12-04 09:43:03 +01:00
Julien Rouhaud
c19cbe30f9 Add forgotten regression tests for pg10. 2018-12-04 09:23:58 +01:00
Julien Rouhaud
a3d05bc157 Add changelog for upcoming version 2.0.0 2018-12-04 09:10:37 +01:00
Julien Rouhaud
4576b0af11 Make sure that hypoTables is initialized in hypopg_add_partition. 2018-12-04 07:49:18 +01:00
Julien Rouhaud
54665eeb1b Add minimal documentation for hypothetical partitioning. 2018-12-03 15:23:31 +01:00
yuzupy
12bc46965e Fix hypothetical partitioning expansion for pg10 2018-12-03 14:13:03 +01:00
Julien Rouhaud
1c87601182 Fix hypo_get_partition_constraints to follow upstream behavior. 2018-11-24 11:32:21 +01:00
Julien Rouhaud
908fcbaee5 Only use set_rel_pathlist_hook for pg10. 2018-11-24 11:26:54 +01:00
Julien Rouhaud
c79bebd1c6 Remove some forgotten pieces of default partition for pg10 2018-11-23 21:53:38 +01:00
Julien Rouhaud
3531c0973d Reintroduce childrel expanding order for pg10
The partitions has to be sorted by bound order, otherwise many things
can break.

This commit also introduce specific regression tests for pg10, for which
the duplucate sanity check would not exhibit the expected error without
the expanded order.

Some of these new regression tests still fails, due to minor change in
the join or partition order, we'll see if we can fix the behavior or change
the expected results.
2018-11-23 21:44:42 +01:00
Julien Rouhaud
db266cb458 Add real partitioning for sanity checks regressino tests. 2018-11-23 21:21:59 +01:00
Julien Rouhaud
31308194d5 Comment long #if blocks 2018-11-23 21:21:17 +01:00
Julien Rouhaud
8b40761842 Fix tests for hypothetical indexes on (hypothetical) partition 2018-11-23 20:45:57 +01:00
yuzupy
d1cacda2a0 Fix expanding childrel order for pg10 2018-11-23 08:29:56 +01:00
yuzupy
2928af312d Add PartitionedChildRelInfo and fix the way of expanding RTE for pg10 2018-11-23 08:29:56 +01:00
Julien Rouhaud
0df360e61e Fix typo in a pg version check 2018-11-19 10:46:49 +01:00
yuzupy
7033609dfe Fix for pg10 partition pruning 2018-11-19 08:46:38 +01:00
Julien Rouhaud
1a9d1876bf Fix various compilation warnings 2018-11-17 20:44:27 +01:00
Julien Rouhaud
b2f8fc6c48 Hide rte->values_lists usage with (ugly) macros 2018-11-17 20:22:00 +01:00
Julien Rouhaud
171c51bba9 Allow hypothetical index on hypothetical partition
Regression tests updated.  Also only authorize hypothetical indexes on
root partition for pg11+ to get the same behavior as postgres.
2018-11-17 15:49:57 +01:00
Julien Rouhaud
bd547d694a Fix hypo index on real partition for pg11+ 2018-11-17 12:46:49 +01:00
Julien Rouhaud
a0d7faefc2 Check for real table first in hypopg_add_partition()
For now, hypo_table_name_get_entry() can be quite slow if many hypoTable
are present, so perform cheaper check before it.
2018-11-17 12:33:30 +01:00
Julien Rouhaud
aa8948d579 Fix pending inval process with hypo_table_reset() 2018-11-17 12:31:05 +01:00
Julien Rouhaud
3a18286a5c Add specific regression tests for pg10- versions 2018-11-17 12:01:11 +01:00
yuzupy
777b757c18 Handle PartitionScheme 2018-11-17 10:41:31 +01:00
Julien Rouhaud
eefa430ed9 Start working on hypothetical partitioning pg10 compatibility.
This is the easy part: get rid of the features added in pg11 such as
hash partitioning or default partition, and adapt the required imports.

There are still a lot of errors due to the lack of PartitionScheme and
many fields in RelOptInfo in pg10.
2018-11-17 10:41:31 +01:00