New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Use %u to format Oid instead of %d #3112
Conversation
573e8ac
to
42df53b
Compare
aggref->aggfnoid, | ||
sort_oid); | ||
"Can't resolve sort operator oid for function \"%s\" and type \"%s\"", | ||
format_procedure(aggref->aggfnoid), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The result is supposed to be a palloc
ed string. Should we maybe explicitly deallocate this or is this a non issue with the current memory context?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It is a non-issue. All those allocations are on error pathes meaning the memory context will be reset anyway.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I guess in many cases, errors return numerical OIDs because the reason for the error was that some of those OIDs didn't correspond to actual types or objects. So, I am wondering if it is a good idea in general to turn lots of error calls into format_...
instead of printing numerical values. I think in case of format_procedure
it is handled by that function, but is this always the case?
This is the reason why cache lookup failures print something like:
cache lookup failed for attribute %d of relation %u
since the whole reason for the cache lookup failure likely was that the relation or attribute didn't exist.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
actually most of these errors are around datatypes not supported with our functions not about general bogus type ids. e.g. time_bucket with decimal or with domains/custom types
src/hypertable_restrict_info.c
Outdated
@@ -442,7 +443,9 @@ dimension_values_create_from_array(Const *c, bool user_or) | |||
/* it's an array type, lets get the base element type */ | |||
base_el_type = get_element_type(c->consttype); | |||
if (base_el_type == InvalidOid) | |||
elog(ERROR, "Couldn't get base element type from array type: %d", c->consttype); | |||
elog(ERROR, | |||
"Couldn't get base element type from array type: \"%s\"", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This change and error doesn't make sense because the type was determined to be InvalidOid
so there is no string representation available. Neither is there any point in printing the OID number. Might as well fix this error string to be conformant as well:
"Couldn't get base element type from array type: \"%s\"", | |
"invalid base element type for array type \"%s\"", |
Still, it is not clear to me this error is even possible. Is it possible to have an array type of invalid types? This should probably be an assertion if anything.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
in theory yes, array types have their own type id and they could have the type of the array elements be something invalid
tsl/src/compression/compression.c
Outdated
@@ -453,7 +453,7 @@ compress_chunk_populate_sort_info_for_column(Oid table, const ColumnCompressionI | |||
|
|||
tp = SearchSysCacheAttName(table, NameStr(column->attname)); | |||
if (!HeapTupleIsValid(tp)) | |||
elog(ERROR, "table %d does not have column \"%s\"", table, NameStr(column->attname)); | |||
elog(ERROR, "table %u does not have column \"%s\"", table, NameStr(column->attname)); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I find it a bit strange to print the column name but not the table name. Cache lookup errors are normally formatted similar to:
cache lookup failed for attribute %d of relation %u
because the reason for the cache lookup is often that either the relation does not exist or the attribute doesn't. I think we should use a similar message for this case.
Otherwise, if we know that the table is valid we should print the table name as well.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
the table is valid at this point
aggref->aggfnoid, | ||
sort_oid); | ||
"Can't resolve sort operator oid for function \"%s\" and type \"%s\"", | ||
format_procedure(aggref->aggfnoid), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I guess in many cases, errors return numerical OIDs because the reason for the error was that some of those OIDs didn't correspond to actual types or objects. So, I am wondering if it is a good idea in general to turn lots of error calls into format_...
instead of printing numerical values. I think in case of format_procedure
it is handled by that function, but is this always the case?
This is the reason why cache lookup failures print something like:
cache lookup failed for attribute %d of relation %u
since the whole reason for the cache lookup failure likely was that the relation or attribute didn't exist.
8c54c9a
to
a80dfcd
Compare
Codecov Report
@@ Coverage Diff @@
## master #3112 +/- ##
==========================================
+ Coverage 90.16% 90.29% +0.12%
==========================================
Files 215 215
Lines 35304 35254 -50
==========================================
Hits 31833 31833
+ Misses 3471 3421 -50
Continue to review full report at Codecov.
|
Since Oid is unsigned int we have to use %u to print it otherwise oids >= 2^31 will not work correctly. This also switches the places that print type oid to use format helper functions to resolve the oids.
This maintenance release contains bugfixes since the 2.1.0 release. We deem it high priority for upgrading. This release adds support for Skip Scan on multinode by enabling the pushdown of `DISTINCT` to data nodes and also fixes a number of bugs in the implementation of Skip Scan. **Features** * timescale#3113 Pushdown "SELECT DISTINCT" in multi-node to allow use of Skip Scan **Bugfixes** * timescale#3101 Use commit date in `get_git_commit()` * timescale#3104 Fix use after free in `add_reorder_policy` * timescale#3106 Fix use after free in `chunk_api_get_chunk_stats` * timescale#3123 Fix crash while using `REINDEX TABLE CONCURRENTLY` * timescale#3135 Fix SkipScan path generation in `DISTINCT` queries with expressions * timescale#3146 Fix SkipScan for IndexPaths without pathkeys * timescale#3151 Fix `fdw_relinfo_get` assertion failure on DELETE * timescale#3155 Inherit CFLAGS from PostgreSQL * timescale#3109 Copy recreated object permissions on update * timescale#3148 Make `SELECT DISTINCT` handle non-var targetlists * timescale#3147 Skip ChunkAppend if AppendPath has no children * timescale#3102 Fix REINDEX TABLE for distributed hypertables * timescale#3118 Fix use after free in cache * timescale#3112 Use `%u` to format Oid instead of `%d` * timescale#3111 Fix `CMAKE_BUILD_TYPE` check **Thanks** * @Dead2, @dv8472 and @einsibjarni for reporting an issue with multinode queries and views * @hperez75 for reporting an issue with Skip Scan
This maintenance release contains bugfixes since the 2.1.0 release. We deem it high priority for upgrading. This release adds support for Skip Scan on multinode by enabling the pushdown of `DISTINCT` to data nodes and also fixes a number of bugs in the implementation of Skip Scan. **Features** * timescale#3113 Pushdown "SELECT DISTINCT" in multi-node to allow use of Skip Scan **Bugfixes** * timescale#3101 Use commit date in `get_git_commit()` * timescale#3104 Fix use after free in `add_reorder_policy` * timescale#3106 Fix use after free in `chunk_api_get_chunk_stats` * timescale#3123 Fix crash while using `REINDEX TABLE CONCURRENTLY` * timescale#3135 Fix SkipScan path generation in `DISTINCT` queries with expressions * timescale#3146 Fix SkipScan for IndexPaths without pathkeys * timescale#3151 Fix `fdw_relinfo_get` assertion failure on DELETE * timescale#3155 Inherit CFLAGS from PostgreSQL * timescale#3109 Copy recreated object permissions on update * timescale#3148 Make `SELECT DISTINCT` handle non-var targetlists * timescale#3147 Skip ChunkAppend if AppendPath has no children * timescale#3102 Fix REINDEX TABLE for distributed hypertables * timescale#3118 Fix use after free in cache * timescale#3112 Use `%u` to format Oid instead of `%d` * timescale#3111 Fix `CMAKE_BUILD_TYPE` check **Thanks** * @Dead2, @dv8472 and @einsibjarni for reporting an issue with multinode queries and views * @hperez75 for reporting an issue with Skip Scan
This maintenance release contains bugfixes since the 2.1.0 release. We deem it high priority for upgrading. This release adds support for Skip Scan on multinode by enabling the pushdown of `DISTINCT` to data nodes and also fixes a number of bugs in the implementation of Skip Scan. **Features** * timescale#3113 Pushdown "SELECT DISTINCT" in multi-node to allow use of Skip Scan **Bugfixes** * timescale#3101 Use commit date in `get_git_commit()` * timescale#3104 Fix use after free in `add_reorder_policy` * timescale#3106 Fix use after free in `chunk_api_get_chunk_stats` * timescale#3123 Fix crash while using `REINDEX TABLE CONCURRENTLY` * timescale#3135 Fix SkipScan path generation in `DISTINCT` queries with expressions * timescale#3146 Fix SkipScan for IndexPaths without pathkeys * timescale#3151 Fix `fdw_relinfo_get` assertion failure on DELETE * timescale#3155 Inherit CFLAGS from PostgreSQL * timescale#3109 Copy recreated object permissions on update * timescale#3148 Make `SELECT DISTINCT` handle non-var targetlists * timescale#3147 Skip ChunkAppend if AppendPath has no children * timescale#3102 Fix REINDEX TABLE for distributed hypertables * timescale#3118 Fix use after free in cache * timescale#3112 Use `%u` to format Oid instead of `%d` * timescale#3111 Fix `CMAKE_BUILD_TYPE` check **Thanks** * @Dead2, @dv8472 and @einsibjarni for reporting an issue with multinode queries and views * @hperez75 for reporting an issue with Skip Scan
This maintenance release contains bugfixes since the 2.1.0 release. We deem it high priority for upgrading. This release adds support for Skip Scan on multinode by enabling the pushdown of `DISTINCT` to data nodes and also fixes a number of bugs in the implementation of Skip Scan. **Features** * timescale#3113 Pushdown "SELECT DISTINCT" in multi-node to allow use of Skip Scan **Bugfixes** * timescale#3101 Use commit date in `get_git_commit()` * timescale#3104 Fix use after free in `add_reorder_policy` * timescale#3106 Fix use after free in `chunk_api_get_chunk_stats` * timescale#3123 Fix crash while using `REINDEX TABLE CONCURRENTLY` * timescale#3135 Fix SkipScan path generation in `DISTINCT` queries with expressions * timescale#3146 Fix SkipScan for IndexPaths without pathkeys * timescale#3151 Fix `fdw_relinfo_get` assertion failure on DELETE * timescale#3155 Inherit CFLAGS from PostgreSQL * timescale#3109 Copy recreated object permissions on update * timescale#3148 Make `SELECT DISTINCT` handle non-var targetlists * timescale#3147 Skip ChunkAppend if AppendPath has no children * timescale#3102 Fix REINDEX TABLE for distributed hypertables * timescale#3118 Fix use after free in cache * timescale#3112 Use `%u` to format Oid instead of `%d` * timescale#3111 Fix `CMAKE_BUILD_TYPE` check **Thanks** * @Dead2, @dv8472 and @einsibjarni for reporting an issue with multinode queries and views * @hperez75 for reporting an issue with Skip Scan
This maintenance release contains bugfixes since the 2.1.0 release. We deem it high priority for upgrading. This release adds support for Skip Scan on multinode by enabling the pushdown of `DISTINCT` to data nodes and also fixes a number of bugs in the implementation of Skip Scan. **Features** * timescale#3113 Pushdown "SELECT DISTINCT" in multi-node to allow use of Skip Scan **Bugfixes** * timescale#3101 Use commit date in `get_git_commit()` * timescale#3104 Fix use after free in `add_reorder_policy` * timescale#3106 Fix use after free in `chunk_api_get_chunk_stats` * timescale#3123 Fix crash while using `REINDEX TABLE CONCURRENTLY` * timescale#3135 Fix SkipScan path generation in `DISTINCT` queries with expressions * timescale#3146 Fix SkipScan for IndexPaths without pathkeys * timescale#3151 Fix `fdw_relinfo_get` assertion failure on DELETE * timescale#3155 Inherit CFLAGS from PostgreSQL * timescale#3109 Copy recreated object permissions on update * timescale#3148 Make `SELECT DISTINCT` handle non-var targetlists * timescale#3147 Skip ChunkAppend if AppendPath has no children * timescale#3102 Fix REINDEX TABLE for distributed hypertables * timescale#3118 Fix use after free in cache * timescale#3112 Use `%u` to format Oid instead of `%d` * timescale#3111 Fix `CMAKE_BUILD_TYPE` check **Thanks** * @Dead2, @dv8472 and @einsibjarni for reporting an issue with multinode queries and views * @hperez75 for reporting an issue with Skip Scan
This maintenance release contains bugfixes since the 2.1.0 release. We deem it high priority for upgrading. This release extends Skip Scan to multinode by enabling the pushdown of `DISTINCT` to data nodes. It also fixes a number of bugs in the implementation of Skip Scan. **Features** * timescale#3113 Pushdown "SELECT DISTINCT" in multi-node to allow use of Skip Scan **Bugfixes** * timescale#3101 Use commit date in `get_git_commit()` * timescale#3102 Fix `REINDEX TABLE` for distributed hypertables * timescale#3104 Fix use after free in `add_reorder_policy` * timescale#3106 Fix use after free in `chunk_api_get_chunk_stats` * timescale#3109 Copy recreated object permissions on update * timescale#3111 Fix `CMAKE_BUILD_TYPE` check * timescale#3112 Use `%u` to format Oid instead of `%d` * timescale#3118 Fix use after free in cache * timescale#3123 Fix crash while using `REINDEX TABLE CONCURRENTLY` * timescale#3135 Fix SkipScan path generation in `DISTINCT` queries with expressions * timescale#3146 Fix SkipScan for IndexPaths without pathkeys * timescale#3147 Skip ChunkAppend if AppendPath has no children * timescale#3148 Make `SELECT DISTINCT` handle non-var targetlists * timescale#3151 Fix `fdw_relinfo_get` assertion failure on `DELETE` * timescale#3155 Inherit `CFLAGS` from PostgreSQL * timescale#3169 Fix incorrect type cast in compression policy **Thanks** * @Dead2, @dv8472 and @einsibjarni for reporting an issue with multinode queries and views * @hperez75 for reporting an issue with Skip Scan * @nathanloisel for reporting an issue with compression on hypertables with integer-based timestamps * @xin-hedera for fixing an issue with compression on hypertables with integer-based timestamps
This maintenance release contains bugfixes since the 2.1.0 release. We deem it high priority for upgrading. This release extends Skip Scan to multinode by enabling the pushdown of `DISTINCT` to data nodes. It also fixes a number of bugs in the implementation of Skip Scan. **Features** * timescale#3113 Pushdown "SELECT DISTINCT" in multi-node to allow use of Skip Scan **Bugfixes** * timescale#3101 Use commit date in `get_git_commit()` * timescale#3102 Fix `REINDEX TABLE` for distributed hypertables * timescale#3104 Fix use after free in `add_reorder_policy` * timescale#3106 Fix use after free in `chunk_api_get_chunk_stats` * timescale#3109 Copy recreated object permissions on update * timescale#3111 Fix `CMAKE_BUILD_TYPE` check * timescale#3112 Use `%u` to format Oid instead of `%d` * timescale#3118 Fix use after free in cache * timescale#3123 Fix crash while using `REINDEX TABLE CONCURRENTLY` * timescale#3135 Fix SkipScan path generation in `DISTINCT` queries with expressions * timescale#3146 Fix SkipScan for IndexPaths without pathkeys * timescale#3147 Skip ChunkAppend if AppendPath has no children * timescale#3148 Make `SELECT DISTINCT` handle non-var targetlists * timescale#3151 Fix `fdw_relinfo_get` assertion failure on `DELETE` * timescale#3155 Inherit `CFLAGS` from PostgreSQL * timescale#3169 Fix incorrect type cast in compression policy **Thanks** * @Dead2, @dv8472 and @einsibjarni for reporting an issue with multinode queries and views * @hperez75 for reporting an issue with Skip Scan * @nathanloisel for reporting an issue with compression on hypertables with integer-based timestamps * @xin-hedera for fixing an issue with compression on hypertables with integer-based timestamps
This maintenance release contains bugfixes since the 2.1.0 release. We deem it high priority for upgrading. This release extends Skip Scan to multinode by enabling the pushdown of `DISTINCT` to data nodes. It also fixes a number of bugs in the implementation of Skip Scan, in distributed hypertables, in creation of indexes, in compression, and in policies. **Features** * timescale#3113 Pushdown "SELECT DISTINCT" in multi-node to allow use of Skip Scan **Bugfixes** * timescale#3101 Use commit date in `get_git_commit()` * timescale#3102 Fix `REINDEX TABLE` for distributed hypertables * timescale#3104 Fix use after free in `add_reorder_policy` * timescale#3106 Fix use after free in `chunk_api_get_chunk_stats` * timescale#3109 Copy recreated object permissions on update * timescale#3111 Fix `CMAKE_BUILD_TYPE` check * timescale#3112 Use `%u` to format Oid instead of `%d` * timescale#3118 Fix use after free in cache * timescale#3123 Fix crash while using `REINDEX TABLE CONCURRENTLY` * timescale#3135 Fix SkipScan path generation in `DISTINCT` queries with expressions * timescale#3146 Fix SkipScan for IndexPaths without pathkeys * timescale#3147 Skip ChunkAppend if AppendPath has no children * timescale#3148 Make `SELECT DISTINCT` handle non-var targetlists * timescale#3151 Fix `fdw_relinfo_get` assertion failure on `DELETE` * timescale#3155 Inherit `CFLAGS` from PostgreSQL * timescale#3169 Fix incorrect type cast in compression policy **Thanks** * @Dead2, @dv8472 and @einsibjarni for reporting an issue with multinode queries and views * @hperez75 for reporting an issue with Skip Scan * @nathanloisel for reporting an issue with compression on hypertables with integer-based timestamps * @xin-hedera for fixing an issue with compression on hypertables with integer-based timestamps
This maintenance release contains bugfixes since the 2.2.0 release. We deem it high priority for upgrading. This release extends Skip Scan to multinode by enabling the pushdown of `DISTINCT` to data nodes. It also fixes a number of bugs in the implementation of Skip Scan, in distributed hypertables, in creation of indexes, in compression, and in policies. **Features** * timescale#3113 Pushdown "SELECT DISTINCT" in multi-node to allow use of Skip Scan **Bugfixes** * timescale#3101 Use commit date in `get_git_commit()` * timescale#3102 Fix `REINDEX TABLE` for distributed hypertables * timescale#3104 Fix use after free in `add_reorder_policy` * timescale#3106 Fix use after free in `chunk_api_get_chunk_stats` * timescale#3109 Copy recreated object permissions on update * timescale#3111 Fix `CMAKE_BUILD_TYPE` check * timescale#3112 Use `%u` to format Oid instead of `%d` * timescale#3118 Fix use after free in cache * timescale#3123 Fix crash while using `REINDEX TABLE CONCURRENTLY` * timescale#3135 Fix SkipScan path generation in `DISTINCT` queries with expressions * timescale#3146 Fix SkipScan for IndexPaths without pathkeys * timescale#3147 Skip ChunkAppend if AppendPath has no children * timescale#3148 Make `SELECT DISTINCT` handle non-var targetlists * timescale#3151 Fix `fdw_relinfo_get` assertion failure on `DELETE` * timescale#3155 Inherit `CFLAGS` from PostgreSQL * timescale#3169 Fix incorrect type cast in compression policy * timescale#3183 Fix segfault in calculate_chunk_interval * timescale#3185 Fix wrong datatype in integer based retention policy **Thanks** * @Dead2, @dv8472 and @einsibjarni for reporting an issue with multinode queries and views * @hperez75 for reporting an issue with Skip Scan * @nathanloisel for reporting an issue with compression on hypertables with integer-based timestamps * @xin-hedera for fixing an issue with compression on hypertables with integer-based timestamps
This maintenance release contains bugfixes since the 2.2.0 release. We deem it high priority for upgrading. This release extends Skip Scan to multinode by enabling the pushdown of `DISTINCT` to data nodes. It also fixes a number of bugs in the implementation of Skip Scan, in distributed hypertables, in creation of indexes, in compression, and in policies. **Features** * #3113 Pushdown "SELECT DISTINCT" in multi-node to allow use of Skip Scan **Bugfixes** * #3101 Use commit date in `get_git_commit()` * #3102 Fix `REINDEX TABLE` for distributed hypertables * #3104 Fix use after free in `add_reorder_policy` * #3106 Fix use after free in `chunk_api_get_chunk_stats` * #3109 Copy recreated object permissions on update * #3111 Fix `CMAKE_BUILD_TYPE` check * #3112 Use `%u` to format Oid instead of `%d` * #3118 Fix use after free in cache * #3123 Fix crash while using `REINDEX TABLE CONCURRENTLY` * #3135 Fix SkipScan path generation in `DISTINCT` queries with expressions * #3146 Fix SkipScan for IndexPaths without pathkeys * #3147 Skip ChunkAppend if AppendPath has no children * #3148 Make `SELECT DISTINCT` handle non-var targetlists * #3151 Fix `fdw_relinfo_get` assertion failure on `DELETE` * #3155 Inherit `CFLAGS` from PostgreSQL * #3169 Fix incorrect type cast in compression policy * #3183 Fix segfault in calculate_chunk_interval * #3185 Fix wrong datatype in integer based retention policy **Thanks** * @Dead2, @dv8472 and @einsibjarni for reporting an issue with multinode queries and views * @hperez75 for reporting an issue with Skip Scan * @nathanloisel for reporting an issue with compression on hypertables with integer-based timestamps * @xin-hedera for fixing an issue with compression on hypertables with integer-based timestamps
This maintenance release contains bugfixes since the 2.2.0 release. We deem it high priority for upgrading. This release extends Skip Scan to multinode by enabling the pushdown of `DISTINCT` to data nodes. It also fixes a number of bugs in the implementation of Skip Scan, in distributed hypertables, in creation of indexes, in compression, and in policies. **Features** * timescale#3113 Pushdown "SELECT DISTINCT" in multi-node to allow use of Skip Scan **Bugfixes** * timescale#3101 Use commit date in `get_git_commit()` * timescale#3102 Fix `REINDEX TABLE` for distributed hypertables * timescale#3104 Fix use after free in `add_reorder_policy` * timescale#3106 Fix use after free in `chunk_api_get_chunk_stats` * timescale#3109 Copy recreated object permissions on update * timescale#3111 Fix `CMAKE_BUILD_TYPE` check * timescale#3112 Use `%u` to format Oid instead of `%d` * timescale#3118 Fix use after free in cache * timescale#3123 Fix crash while using `REINDEX TABLE CONCURRENTLY` * timescale#3135 Fix SkipScan path generation in `DISTINCT` queries with expressions * timescale#3146 Fix SkipScan for IndexPaths without pathkeys * timescale#3147 Skip ChunkAppend if AppendPath has no children * timescale#3148 Make `SELECT DISTINCT` handle non-var targetlists * timescale#3151 Fix `fdw_relinfo_get` assertion failure on `DELETE` * timescale#3155 Inherit `CFLAGS` from PostgreSQL * timescale#3169 Fix incorrect type cast in compression policy * timescale#3183 Fix segfault in calculate_chunk_interval * timescale#3185 Fix wrong datatype in integer based retention policy **Thanks** * @Dead2, @dv8472 and @einsibjarni for reporting an issue with multinode queries and views * @hperez75 for reporting an issue with Skip Scan * @nathanloisel for reporting an issue with compression on hypertables with integer-based timestamps * @xin-hedera for fixing an issue with compression on hypertables with integer-based timestamps
This maintenance release contains bugfixes since the 2.2.0 release. We deem it high priority for upgrading. This release extends Skip Scan to multinode by enabling the pushdown of `DISTINCT` to data nodes. It also fixes a number of bugs in the implementation of Skip Scan, in distributed hypertables, in creation of indexes, in compression, and in policies. **Features** * #3113 Pushdown "SELECT DISTINCT" in multi-node to allow use of Skip Scan **Bugfixes** * #3101 Use commit date in `get_git_commit()` * #3102 Fix `REINDEX TABLE` for distributed hypertables * #3104 Fix use after free in `add_reorder_policy` * #3106 Fix use after free in `chunk_api_get_chunk_stats` * #3109 Copy recreated object permissions on update * #3111 Fix `CMAKE_BUILD_TYPE` check * #3112 Use `%u` to format Oid instead of `%d` * #3118 Fix use after free in cache * #3123 Fix crash while using `REINDEX TABLE CONCURRENTLY` * #3135 Fix SkipScan path generation in `DISTINCT` queries with expressions * #3146 Fix SkipScan for IndexPaths without pathkeys * #3147 Skip ChunkAppend if AppendPath has no children * #3148 Make `SELECT DISTINCT` handle non-var targetlists * #3151 Fix `fdw_relinfo_get` assertion failure on `DELETE` * #3155 Inherit `CFLAGS` from PostgreSQL * #3169 Fix incorrect type cast in compression policy * #3183 Fix segfault in calculate_chunk_interval * #3185 Fix wrong datatype in integer based retention policy **Thanks** * @Dead2, @dv8472 and @einsibjarni for reporting an issue with multinode queries and views * @hperez75 for reporting an issue with Skip Scan * @nathanloisel for reporting an issue with compression on hypertables with integer-based timestamps * @xin-hedera for fixing an issue with compression on hypertables with integer-based timestamps
Since Oid is unsigned int we have to use %u to print it otherwise
oids >= 2^31 will not work correctly.