16 Commits

Author SHA1 Message Date
Sven Klemm
eab4efa323 Move metrics_dist1 out of shared_setup
The table metrics_dist1 was only used by a single test and therefore
should not be part of shared_setup but instead be created in the
test that actually uses it. This reduces executed time of
regresscheck-shared when that test is not run.
2022-05-19 21:33:33 +02:00
Sven Klemm
4988dac273 Fix sqlsmith CI workflow
Commit 3b35da76 changed the setup script for regresscheck-shared
to no longer be usable directly by the sqlsmith workflow. This
patch set TEST_DBNAME at the top of the script so it is easier
to use the script outside of regression check environment.
2022-05-18 11:47:07 +02:00
Fabrízio de Royes Mello
047d6b175b Revert "Pushdown of gapfill to data nodes"
This reverts commit eaf3a38fe9553659e515fac72aaad86cf1a06d1e.
2022-05-16 15:21:32 -03:00
Alexander Kuzmenkov
3b35da7607 More tests for errors when fetching from data nodes
Add a special function that allows to inject these errors.
2022-05-16 18:57:42 +05:30
Alexander Kuzmenkov
6e26a1187a Use binary format in row-by-row fetcher
The general idea is to have two types of fetcher: "fast" and "general
purpose". We use the row-by-row fetcher as the "fast" one. This commit
removes support of text protocol in this fetcher, because it's only
needed for some niche types that don't have a binary serialization, and
is also slower than binary one. Because the row-by-row fetcher now only
understands binary protocol, we must check that the binary
serialization is actually available for the participating data types.
If not, we have to revert to using the cursor fetcher unless row-by-row
was explicitly requested by the user. This happens at execution time,
precisely, at creation of TupleFactory, because that's when we look up
the conversion functions.

The rest of the commit is removing the text protocol support
from row-by-row, plus EXPLAIN changes (we don't know the fetcher type
at the planning stage anymore, so not showing it).
2022-05-06 22:13:17 +05:30
Rafia Sabih
eaf3a38fe9 Pushdown of gapfill to data nodes
Allow the calls of time_bucket_gapfill to be executed at the
data nodes for improved query performance. With this, time_bucket_gapfill
is pushed to data nodes in the following conditions,

1. when only one data node has all the chunks
2. when space dimension does not overlap across data nodes
3. when group-by matches space dimension
2022-04-07 21:09:49 +02:00
Alexander Kuzmenkov
f1e103fab1 Fix DISTINCT ON queries for distributed hyperatbles
Previously, we would push DISTINCT ON down to the data nodes even when
the pathkeys of the resulting paths on the data nodes were not
compatible with the given DISTINCT ON columns. This commit disables
pushdown when the sorting is not compatible.

Fixes #3784
2021-11-17 15:42:40 +03:00
Erik Nordström
f071f89ade Fix issues in the dist_chunk test
This change fixes issues in the shared `dist_chunk` test that caused
flakiness. Since the test shares a database and state with other tests
running in parallel, it should modify the database (e.g., creating new
tables and chunks) while the test runs. Such modifications will cause
non-deterministic behavior that varies depending on the order the
tests are run in.

To fix this issue, all the table creations have been moved into the
shared setup script and the test itself has been made less dependent
on hard-coded IDs and chunk names. One of the tables used in the has
been changed to use space-partitioning to make chunk placement on
nodes more predictible.
2021-07-29 16:53:12 +03:00
Nikhil
3651e6e102 Move related tests into dist_chunk
The "chunk_drop_replica" test is part of the overall chunk copy/move
functionality. All related tests will go into this dist_chunk test.

Also, fix the earlier flakiness in dist_chunk test by moving the
compress_chunk calls into the shared setup
2021-07-29 16:53:12 +03:00
Ruslan Fomkin
404f1cdbad Create chunk table from access node
Creates a table for chunk replica on the given data node. The table
gets the same schema and name as the chunk. The created chunk replica
table is not added into metadata on the access node or data node.

The primary goal is to use it during copy/move chunk.
2021-07-29 16:53:12 +03:00
Sven Klemm
7b67f72f86 Move timestamp_limits and with_clause_parser test
Move the timestamp_limits and with_clause_parser test to
regresscheck-shared since those tests don't need a private
database incurring less overhead to run those tests.
Also add missing ORDER BY clauses to some of the queries
in timestamp_limits to make the output more stable.
2021-06-23 14:51:09 +02:00
Ruslan Fomkin
3448bcf2af Move gapfill tests into using shared database 2020-12-15 13:16:53 +01:00
Sven Klemm
02d715f216 Add distributed hypertable to regresscheck-shared
This patch sets up a distributed hypertable in the regresscheck-shared
environment to enable running distributed tests.
2020-08-12 21:46:31 +02:00
Sven Klemm
68ba6e073c Add regresscheck-shared sql files to license check
This adds the directories used by regresscheck-shared to the license
check and adds a license where it is currently missing.
2020-07-03 13:00:36 +02:00
Ruslan Fomkin
7a0d6e7c23 Fix compression order in a test
Add missing ORDER BY clause to sort chunks for compression in
deterministic order for the constraint exclusion test.
2020-04-14 23:12:15 +02:00
Sven Klemm
819414df02 Add test infrastructure with shared tables
This PR adds test infrastructure for running tests with shared tables.
This allows having hypertables with specific configurations usable for
all tests. Since these tests also don't require creating a new database
for each test case some of the overhead of the normal tests is removed.
While this will lead to much faster query tests some tests will still
require their own database to test things, but most queres could be moved
to this infrastructure to improve test coverage and speed them up.
2019-10-29 19:02:58 -04:00