Skip to content

Commit

Permalink
MySQL FDW REL-2_5_5-2
Browse files Browse the repository at this point in the history
Support JOIN pushdown (LEFT,RIGHT,INNER)
Support direct modification (UPDATE/DELETE)
Support GROUP BY, HAVING clause pushdown
Support Aggregate function pushdown
Support LIMIT OFFSET clause pushdown
Refactored tests
Bug fixings
- Fix crash issue in tlist function pushdown
- Fix unintended behavior by conflicting public function names
- Fix time interval calculation with AVG, SUM, COUNT functions
- Fix BIG_AND/BIT_OR incompatible results
  • Loading branch information
hrkuma authored May 26, 2021
1 parent 65364c3 commit 0268545
Show file tree
Hide file tree
Showing 52 changed files with 59,580 additions and 979 deletions.
207 changes: 72 additions & 135 deletions Jenkinsfile

Large diffs are not rendered by default.

10 changes: 9 additions & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ OBJS = connection.o option.o deparse.o mysql_query.o mysql_fdw.o
EXTENSION = mysql_fdw
DATA = mysql_fdw--1.0.sql mysql_fdw--1.1.sql mysql_fdw--1.0--1.1.sql

REGRESS = server_options connection_validation dml select pushdown selectfunc
REGRESS = server_options connection_validation dml select pushdown selectfunc mysql_fdw_post extra/aggregates

MYSQL_CONFIG = mysql_config
PG_CPPFLAGS := $(shell $(MYSQL_CONFIG) --include)
Expand Down Expand Up @@ -51,3 +51,11 @@ include $(top_builddir)/src/Makefile.global
include $(top_srcdir)/contrib/contrib-global.mk
endif

ifdef REGRESS_PREFIX
REGRESS_PREFIX_SUB = $(REGRESS_PREFIX)
else
REGRESS_PREFIX_SUB = $(VERSION)
endif

REGRESS := $(addprefix $(REGRESS_PREFIX_SUB)/,$(REGRESS))
$(shell mkdir -p results/$(REGRESS_PREFIX_SUB)/extra)
13 changes: 13 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,19 @@ foreign table. The latest version does the column push-down and only
brings back the columns that are part of the select target list. This is
a performance feature.
### GROUP BY, HAVING clause push-down
The group by, having clause will be pushed-down to the foreign server that reduce the row and column to bring across to PostgreSQL.
### LIMIT OFFSET clause push-down
The limit offset clause will be pushed-down to the foreign server that will enhance performance.
### Aggregation function push-down
List of aggregate functions push-down:
```
avg, bit_and, bit_or, count, json_agg, json_object_agg, max, min, stddev, stddev_pop, stddev_samp, sum, var_pop, var_samp, variance.
```
### JOIN clause push-down
The latest version will push-down the foreign table join clauses (LEFT JOIN, RIGHT JOIN and JOIN_INNER) to
the foreign server.
### Prepared Statement
(Refactoring for `select` queries to use prepared statement)
Expand Down
Loading

0 comments on commit 0268545

Please sign in to comment.