You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 798f358
Browse filesBrowse the repository at this point in the historyBrowse files
Copy file name to clipboardExpand all lines: README.md
+35-1Lines changed: 35 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -78,6 +78,11 @@ proper entry in the **Get Data** dialog instead of the generic ODBC one.
78
78
2. In **File > Options > Security**, allow any extension to load.
79
79
3. Restart Power BI Desktop. **Stackable Trino** now appears under **Get Data**.
80
80
81
+
For incremental refresh on a `timestamp with time zone` column, Trino compares
82
+
the `RangeStart` and `RangeEnd` bounds in the session time zone (`TimeZone`),
83
+
so partition boundaries follow that zone. Changing `TimeZone` on a dataset that
84
+
already has partitions moves the boundaries.
85
+
81
86
### Your first query
82
87
83
88
Assuming a Trino instance is reachable on the given host and port:
@@ -148,7 +153,7 @@ The authoritative list is `src/backend/types/connect_params.rs`.
148
153
|`Roles`| No | Authorisation role per catalog, `{catalog:role;catalog2:ALL}`|
149
154
|`SessionUser`| No | User statements run as, while `User` still authenticates. JDBC's `sessionUser`|
150
155
|`Path`| No | Default SQL path for resolving unqualified function names |
151
-
|`TimeZone`| No | IANA session time zone (`Europe/Berlin`). Unset leaves the coordinator's |
156
+
|`TimeZone`| No | IANA session time zone (`Europe/Berlin`). Unset leaves the coordinator's default. `timestamp with time zone` and `time with time zone` values are delivered as wall time in the session zone, which a later `SET TIME ZONE` changes |
152
157
|`Locale`| No | Locale for locale-dependent formatting, sent as `X-Trino-Language`|
153
158
|`ClientInfo`| No | Free-form client metadata Trino records against the query |
154
159
|`TraceToken`| No | Correlation token Trino records against the query |
@@ -259,6 +264,19 @@ ignored, so the tool can react instead of trusting a wrong answer.
259
264
somewhere you never asked for. Set `Catalog` when you connect.
260
265
-**Row and field size limits are not faked.** Trino can only limit a result set
261
266
through `LIMIT` in the SQL you wrote.
267
+
-**Power BI cannot filter on a time column in DirectQuery.** Picking a value
268
+
in a slicer on a `time` column fails with "We couldn't fold the expression to
269
+
the data source". Power BI would filter by casting the column to a timestamp
270
+
and comparing it with that time on 30 December 1899, while Trino, like ODBC
271
+
itself, puts a cast time on today's date, so the filter could never match.
272
+
The connector declares the cast unsupported so you see an error instead of an
273
+
empty report. To slice on a time of day, expose it as text in a Trino view,
274
+
for example `CAST(col_time AS VARCHAR) AS col_time_text`, and slice on that
275
+
column. Selecting "(Blank)" still works. Users who cannot create views can
276
+
switch the table to Import mode, where the slicer filters Power BI's own copy
277
+
of the data. That copy is only as fresh as its last refresh, and Power BI
278
+
treats a blank time as equal to midnight, so selecting 12:00:00 AM also shows
279
+
rows without a time.
262
280
-**One isolation level.** Trino catalogs disagree about which levels they
263
281
accept, so the driver offers the one they all support and refuses the rest up
264
282
front, rather than letting a query fail later for a reason nobody can see.
@@ -307,6 +325,22 @@ the coordinator's chain is refused even when the machine trusts that chain.
307
325
**Only the first session property applies.** Wrap the value in braces. See
308
326
[Values that contain a semicolon](#values-that-contain-a-semicolon).
309
327
328
+
**A Power BI slicer misses a timestamp from the night the clocks go back.**
329
+
`timestamp with time zone` values are shown in the session time zone, and in
330
+
the hour that repeats, two instants share one wall time. Power BI filters on the
331
+
wall time it showed and Trino reads that as the later of the two instants, so a
332
+
value from the first of the repeated hours is not selected.
333
+
334
+
**Large reads fail with `ABANDONED_QUERY` or `Query not found`.** Trino
335
+
abandons a query whose results the client has not fetched within
336
+
`query.client.timeout` (5 minutes by default), and later forgets it altogether,
337
+
after which the next fetch returns `404 Not Found: Query not found`. A client
338
+
that reads slowly enough gets there on a large result. One cause on
339
+
Windows is ODBC tracing left switched on: it writes every call to a file and
340
+
slows reads down considerably. Turn it off in the ODBC Data Source
341
+
Administrator (Tracing tab, **Stop Tracing Now**), including on an on-premises
342
+
data gateway.
343
+
310
344
**The browser login never opens.** Some tools, `pyodbc` among them, tell the
311
345
driver it may not display anything. The driver reports this rather than hanging.
312
346
Use `AccessToken` with those tools, or connect through one that allows a prompt.
0 commit comments