Skip to content

Commit 9832c71

Browse files
authored
Merge pull request #202 from supabase/docs/pushdown
docs: add pushdown support docs
2 parents f923d0d + 90ddb25 commit 9832c71

File tree

7 files changed

+38
-0
lines changed

7 files changed

+38
-0
lines changed

docs/airtable.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,10 @@ The full list of foreign table options are below:
8787
- `table_id` - Airtable table ID, required.
8888
- `view_id` - Airtable view ID, optional.
8989

90+
## Query Pushdown Support
91+
92+
This FDW doesn't support query pushdown.
93+
9094
## Examples
9195

9296
Some examples on how to use Airtable foreign tables.

docs/bigquery.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -129,6 +129,10 @@ The full list of foreign table options are below:
129129
- `timeout` - Query request timeout in milliseconds, optional. Default is '30000' (30 seconds).
130130
- `rowid_column` - Primary key column name, optional for data scan, required for data modify
131131

132+
## Query Pushdown Support
133+
134+
This FDW supports `where`, `order by` and `limit` clause pushdown.
135+
132136
## Inserting Rows & the Streaming Buffer
133137

134138
This foreign data wrapper uses BigQuery’s `insertAll` API method to create a `streamingBuffer` with an associated partition time. **Within that partition time, the data cannot be updated, deleted, or fully exported**. Only after the time has elapsed (up to 90 minutes according to [BigQuery’s documentation](https://cloud.google.com/bigquery/docs/streaming-data-into-bigquery)); can you perform operations.

docs/clickhouse.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -133,6 +133,10 @@ The full list of foreign table options are below:
133133

134134
- `rowid_column` - Primary key column name, optional for data scan, required for data modify
135135

136+
## Query Pushdown Support
137+
138+
This FDW supports `where`, `order by` and `limit` clause pushdown, as well as parametrized view (see above).
139+
136140
## Examples
137141

138142
Some examples on how to use ClickHouse foreign tables.

docs/firebase.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,10 @@ The full list of foreign table options are below:
106106
- `firestore/my-collection`
107107
- `firestore/my-collection/my-document/another-collection`
108108

109+
## Query Pushdown Support
110+
111+
This FDW doesn't support query pushdown.
112+
109113
## Examples
110114

111115
Some examples on how to use Firebase foreign tables.

docs/logflare.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,10 @@ The full list of foreign table options are below:
9292

9393
- `endpoint` - Logflare endpoint UUID or name, required.
9494

95+
## Query Pushdown Support
96+
97+
This FDW doesn't support query pushdown.
98+
9599
## Examples
96100

97101
Some examples on how to use Logflare foreign tables.

docs/s3.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -140,6 +140,10 @@ The full list of foreign table options are below:
140140
- `has_header` - If the CSV file has header, optional. `true` or `false`, default is `false`
141141
- `compress` - Compression algorithm, optional. One of `gzip`, `bzip2`, `xz`, `zlib`, default is no compression
142142

143+
## Query Pushdown Support
144+
145+
This FDW doesn't support query pushdown.
146+
143147
## Examples
144148

145149
Some examples on how to use S3 foreign tables.

docs/stripe.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -766,6 +766,20 @@ While any column is allowed in a where clause, it is most efficient to filter by
766766
- id
767767
- destination
768768

769+
## Query Pushdown Support
770+
771+
This FDW supports `where` clause pushdown. You can specify a filter in `where` clause and it will be passed to Stripe API call.
772+
773+
For example, this query
774+
775+
```sql
776+
select * from stripe.customers where id = 'cus_xxx';
777+
```
778+
779+
will be translated Stripe API call: `https://api.stripe.com/v1/customers/cus_xxx`.
780+
781+
For supported filter columns for each object, please check out foreign table documents above.
782+
769783
## Examples
770784

771785
Some examples on how to use Stripe foreign tables.

0 commit comments

Comments
 (0)