Commit Graph

3275 Commits (connection-string-tests-9.2-separate_files)

Author SHA1 Message Date
Hadi Moshayedi 34f91b4aa6 Separate superuser files 2020-03-25 20:42:28 -07:00
Halil Ozan Akgul 7ae7c42775 Changes constr to conninfo 2020-03-24 17:35:36 +03:00
Halil Ozan Akgul 51d857516a Adds comment on normalize_modified.sed 2020-03-24 17:12:43 +03:00
Halil Ozan Akgul b79e5b5287 Changes localhosts with nodeids to worker hosts 2020-03-24 17:09:27 +03:00
Halil Ozan Akgul 13c7c1ad6d Reverts failure tests sqls 2020-03-24 17:06:38 +03:00
Halil Ozan Akgul 742baf78f2 Adds comments describing shadow tests 2020-03-24 16:25:16 +03:00
Halil Ozan Akgul 3a2a30bf88 Adds comment for %functions
This will be a fixup
2020-03-24 14:31:20 +03:00
Halil Ozan Akgul 2a7afd62d8 Changes real to public
The changes made are:
realWorker1Host -> publicWorker1Host
realWorker2Host -> publicWorker2Host
real_master_host -> master_host
real_worker_1_host -> public_worker_1_host
real_worker_2_host -> public_worker_2_host
This commit will be a fixup for Adds real host commit.
2020-03-24 14:20:42 +03:00
Halil Ozan Akgul e54fba6552 Adds changes to expected files 2020-03-16 15:51:03 +03:00
Halil Ozan Akgul 4ced3018fb Adds multi_schedule_hyperscale 2020-03-16 15:51:03 +03:00
Halil Ozan Akgul 12c6204115 Removes failing tests
This task just removes the failing tests. It doesn't mean this tests cannot be saved. It's just a starting point
2020-03-16 15:51:03 +03:00
Halil Ozan Akgul a0b2fec675 Adds check multi hyperscale superuser schedule 2020-03-16 15:51:03 +03:00
Halil Ozan Akgul cd2a606998 Adds real_hosts
Changes "\c - - - :worker_1_port" into "\c - - :real_worker_1_host :worker_1_port", "\c - - - :worker_2_port" into "\c - - :real_worker_2_host :worker_2_port" and "\c - - - :master_port" into "\c - - :real_master_host :master_port" in all input/ and .sql files
2020-03-16 15:51:03 +03:00
Halil Ozan Akgul 5fe2e1c427 Changes localhost to the correct host of the workers
Changes all "'localhost', :worker_1_port" strings into ":'worker_1_host', :worker_1_port" in all .sql files and multi_copy.source file
Changes all "'localhost', :worker_2_port" strings into ":'worker_2_host', :worker_2_port" in all .sql files
2020-03-16 15:51:03 +03:00
Halil Ozan Akgul e0ca43d7aa Adds to normalize.sed file and creates normalize_modified.sed 2020-03-16 15:51:03 +03:00
Halil Ozan Akgul b628eadeaf Changes copy to \copy 2020-03-16 15:51:03 +03:00
Halil Ozan Akgul b7612aa208 Adds a connection string (constr) to run tests on that connection 2020-03-02 16:27:27 +03:00
Onur Tirtir 7188574c62 Update CHANGELOG for 9.2.1 (#3501)
(cherry picked from commit e4dd5ac2ad)
2020-02-14 13:50:54 +03:00
Onur Tirtir d4004a495c Bump version to 9.2.1 2020-02-14 13:08:29 +03:00
Onder Kalaci bcc675cf84 Do not prune shards if the distribution key is NULL
The root of the problem is that, standard_planner() converts the following qual

```
   {OPEXPR
   :opno 98
   :opfuncid 67
   :opresulttype 16
   :opretset false
   :opcollid 0
   :inputcollid 100
   :args (
      {VAR
      :varno 1
      :varattno 1
      :vartype 25
      :vartypmod -1
      :varcollid 100
      :varlevelsup 0
      :varnoold 1
      :varoattno 1
      :location 45
      }
      {CONST
      :consttype 25
      :consttypmod -1
      :constcollid 100
      :constlen -1
      :constbyval false
      :constisnull true
      :location 51
      :constvalue <>
      }
   )
   :location 49
   }
```

To

```
(
   {CONST
   :consttype 16
   :consttypmod -1
   :constcollid 0
   :constlen 1
   :constbyval true
   :constisnull true
   :location -1
   :constvalue <>
   }
)
```

So, Citus doesn't deal with NULL values in real-time or non-fast path router queries.

And, in the FastPathRouter planner, we check constisnull in DistKeyInSimpleOpExpression().
However, in deferred pruning case, we do not check for isnull for const.

Thus, the fix consists of two parts:
- Let PruneShards() not crash when NULL parameter is passed
- For deferred shard pruning in fast-path queries, explicitly check that we have CONST which is not NULL
2020-02-13 17:22:49 +01:00
Onur Tirtir 6522965963 Bump Citus version to 9.2.0 2020-02-10 11:26:21 +03:00
Onur Tirtir e660f4f854 Add changelog entry for 9.2.0 (#3463) 2020-02-10 11:03:39 +03:00
Onur Tirtir 39df51e903
Introduce objects to dist. infrastructure when updating Citus (#3477)
Mark existing objects that are not included in distributed object infrastructure
in older versions of Citus (but now should be) as distributed, after updating
Citus successfully.
2020-02-07 18:07:59 +03:00
Nils Dijk d5433400f9
Fix: Unnecessary repartition on joins with more than 4 tables (#3473)
DESCRIPTION: Fix unnecessary repartition on joins with more than 4 tables

In 9.1 we have introduced support for all CH-benCHmark queries by widening our definitions of joins to include joins with expressions in them. This had the undesired side effect of Q5 regressing on its plan by implementing a repartition join.

It turned out this regression was not directly related to widening of the join clause, nor the schema employed by CH-benCHmark. Instead it had to do with 4 or more tables being joined in a chain. A chain meaning:

```sql
SELECT * FROM a,b,c,d WHERE a.part = b.part AND b.part = c.part AND ....
```

Due to how our join order planner was implemented it would only keep track of 1 of the partition columns when comparing if the join could be executed locally. This manifested in a join chain of 4 tables to _always_ be executed as a repartition join. 3 tables joined in a chain would have the middle table shared by the two outer tables causing the local join possibility to be found.

With this patch we keep a  unique list (or set) of all partition columns participating in the join. When a candidate table is checked for a possibility to execute a local join it will check if there is any partition column in that set that matches an equality join clause on the partition column of the candidate table.

By taking into account all partition columns in the left relation it will now find the local join path on >= 4 tables joined in a chain. 

fixes: #3276
2020-02-06 15:07:07 +01:00
Philip Dubé 345455d765
Merge pull request #3461 from citusdata/fix-adaptive-repartition-join-leak
Fix adaptive repartition join leak
2020-02-05 17:43:23 +00:00
Philip Dubé ecad4aa5e6 Fill in jobIdList field of DistributedExecution
Pass down jobIdList from ExecuteTasksInDependencyOrder

Also clean up comment for ExecuteTaskListOutsideTransaction
2020-02-05 17:32:22 +00:00
Philip Dubé c252811884 dont: don't, wont: won't, acylic: acyclic 2020-02-05 17:32:22 +00:00
Halil Ozan Akgül fff3866844
Merge pull request #3472 from citusdata/grant_on_public_schema
Fixes the bug of grants on public schema propagation
2020-02-05 18:40:45 +03:00
Halil Ozan Akgul 8ce4f20061 Fixes the bug of grants on public schema propagation 2020-02-05 18:05:58 +03:00
SaitTalhaNisanci 89dc7d5e41
remove outdated information in citus upgrade readme (#3471) 2020-02-05 13:31:02 +03:00
Marco Slot 8c972dc614
Merge pull request #3470 from citusdata/insert_select_issue
Rename discarded target list items in repartitioned INSERT/SELECT
2020-02-05 11:21:05 +01:00
Marco Slot 64ca5c9acb Add additional INSERT..SELECT repartition tests 2020-02-05 11:06:44 +01:00
Hadi Moshayedi 9dd14fa90d Rename discarded target list items in repartitioned INSERT/SELECT 2020-02-05 11:06:44 +01:00
Önder Kalacı 1aa89d3242
Merge pull request #3467 from citusdata/fix_crash_numeric
Improve single hash-repartitioning with numeric (or non-int) types
2020-02-05 09:12:41 +01:00
Onder Kalaci c7e2309f4c Improve single hash-repartitioning with numeric (or non-int) types
We used to treat the shard interval array that we passed as numeric[].
However, it should be int[], as the shard ranges are int[].
2020-02-04 20:30:04 +01:00
Hadi Moshayedi 3826e81056
Merge pull request #3460 from citusdata/fix_permissions
Create merge task temporary schemas with current user
2020-02-04 10:05:02 -08:00
Hadi Moshayedi bc1a800f70 Use current user for repartition join temp schemas.
Otherwise when using a less privileged user we might get
errors when trying to create the schema.
2020-02-04 09:48:20 -08:00
Hadi Moshayedi 13d27cb280
Merge pull request #3451 from citusdata/insert_select_partitioned_joins_2
Don't error out when subquery in INSERT/SELECT is not router plannable.
2020-02-03 13:29:04 -08:00
Hadi Moshayedi 890e23e734 Update multi_insert_select_non_pushable_queries 2020-02-03 13:13:30 -08:00
Hadi Moshayedi 5818bcd27e Update with_dml 2020-02-03 13:13:30 -08:00
Hadi Moshayedi 46f60e1ac0 Update multi_insert_select_conflict 2020-02-03 13:13:30 -08:00
Hadi Moshayedi 05f58c9ec5 Update multi_insert_select 2020-02-03 13:13:30 -08:00
Hadi Moshayedi 264530311a Don't use distributed insert/select for repartitioned joins 2020-02-03 13:13:30 -08:00
Marco Slot 2e8c118a8f
Make connection assignment more liberal after parallel join wit… (#3456)
Make connection assignment more liberal after parallel join with reference table
2020-02-03 20:11:20 +01:00
Onder Kalaci 8be1b0112d Add failure test for parallel reference table join 2020-02-03 19:35:07 +01:00
Marco Slot be77d3304f Fixup 2020-02-03 11:59:55 +01:00
Marco Slot a6bd6c657e Add tests that exercise parallel reference table join logic 2020-02-03 11:54:29 +01:00
Marco Slot b0fd6aa006 If reference tables was read over multiple connections, do not assign connection 2020-02-03 11:54:29 +01:00
Önder Kalacı 508b392304
Merge pull request #3454 from citusdata/recursively_check_params
Make sure to recursively go into the functions to search for PARAMs
2020-02-03 11:27:12 +01:00
Onder Kalaci 2f274a4fce Make sure to go deeper into the functions to search for PARAMs
For example, a PARAM might reside inside a function just because
of a casting of a type such as the follows:

```
               {FUNCEXPR
               :funcid 1740
               :funcresulttype 1700
               :funcretset false
               :funcvariadic false
               :funcformat 2
               :funccollid 0
               :inputcollid 0
               :args (
                  {PARAM
                  :paramkind 0
                  :paramid 15
                  :paramtype 23
                  :paramtypmod -1
                  :paramcollid 0
                  :location 356
                  }
               )
```

We should recursively check the expression before bailing out.
2020-02-03 09:36:12 +01:00