Skip to content
Merged
Show file tree
Hide file tree
Changes from 141 commits
Commits
Show all changes
154 commits
Select commit Hold shift + click to select a range
aff6953
TSQL initial commit
matt-aitken Nov 28, 2025
df2c347
Use antlr4ts
matt-aitken Nov 28, 2025
bae9954
Fix for improper casing and added gitignore
matt-aitken Dec 1, 2025
27e90cb
First generated parser
matt-aitken Dec 1, 2025
f25a411
First set of tests working
matt-aitken Dec 3, 2025
74bbce2
Converting TSQL to CH draft 1
matt-aitken Dec 9, 2025
304050f
Latest lockfile
matt-aitken Dec 9, 2025
2386a22
Custom intermediate format
matt-aitken Dec 10, 2025
a728387
Incomplete port of PostHog Python code
matt-aitken Dec 10, 2025
a940a4e
WIP fixing parser
matt-aitken Dec 11, 2025
a8768c3
Adding stronger types
matt-aitken Dec 11, 2025
23bd04e
Added stronger types to parser.ts
matt-aitken Dec 11, 2025
b463618
WIP adding strong return type to visitor…
matt-aitken Dec 11, 2025
b883db7
Casting
matt-aitken Dec 12, 2025
8a84e66
Fixes and test improvements
matt-aitken Dec 14, 2025
6216cfe
Simplified test
matt-aitken Dec 14, 2025
22e5901
Made the tests cleaner
matt-aitken Dec 15, 2025
b42a782
Port of PostHog AST to CH
matt-aitken Dec 15, 2025
f039eda
Fix types
matt-aitken Dec 15, 2025
169a375
Latest lockfile
matt-aitken Dec 15, 2025
8c5ef1c
Actual query function
matt-aitken Dec 15, 2025
1008a69
Added some specific security tests
matt-aitken Dec 15, 2025
e29243f
E2E clickhouse query tests using tsql
matt-aitken Dec 15, 2025
6d8a267
Added column/table mapping
matt-aitken Dec 15, 2025
0962367
Formatting
matt-aitken Dec 15, 2025
0012430
TRQL editor WIP
matt-aitken Dec 15, 2025
2c2d9f2
Type fixes
matt-aitken Dec 16, 2025
300d089
Storybook is available only to admins (but now when deployed)
matt-aitken Dec 16, 2025
256a6ce
Fix for codemirror versions
matt-aitken Dec 16, 2025
9dfe4ab
Fix for TS compilation errors in the web app
matt-aitken Dec 16, 2025
f7afdb0
Fix for test
matt-aitken Dec 16, 2025
63645a0
Lints now based on possible tables, columns and values
matt-aitken Dec 16, 2025
a299114
Unneeded ts-expects
matt-aitken Dec 17, 2025
3e3cb70
Changed some HogQL reference to TSQL
matt-aitken Dec 17, 2025
1f81493
Allow mapping values to user friendly names
matt-aitken Dec 17, 2025
8bc198a
Allow querying just using org id, project and env are optional
matt-aitken Dec 17, 2025
0c006d5
Added virtual column support
matt-aitken Dec 17, 2025
8e40630
Linter now works with AS queries
matt-aitken Dec 17, 2025
7a4d470
Query page WIP
matt-aitken Dec 17, 2025
4b16258
Style improvements to the query page
matt-aitken Dec 17, 2025
691f39b
WIP on inferring types for the Table so we can do nice rendering
matt-aitken Dec 18, 2025
e054daa
Custom inferers early version
matt-aitken Dec 18, 2025
f70f6ce
Transform values for the Query page, removed hardcoded runStatus
matt-aitken Dec 18, 2025
6078abc
Do the type inference inside the tsql engine
matt-aitken Dec 18, 2025
d7d3c64
Added type inference tests
matt-aitken Dec 18, 2025
5dba349
runStatus working
matt-aitken Dec 18, 2025
c3be394
Fixed the layout scrolling issues
matt-aitken Dec 18, 2025
dd870a2
Pretty formatting working
matt-aitken Dec 18, 2025
22fb934
Expose ClickHouse query stats from tsql queries
matt-aitken Dec 18, 2025
1029aae
Show query stats
matt-aitken Dec 18, 2025
3070b91
Improved formatting
matt-aitken Dec 18, 2025
3431c27
Fixed handling when we rename colums to friendly names
matt-aitken Dec 18, 2025
efa6320
Run redirect route and link to runs from Query page
matt-aitken Dec 18, 2025
27d7c07
Run status now has a tooltip
matt-aitken Dec 18, 2025
63082a9
Improved the schema with some computed columns
matt-aitken Dec 18, 2025
319a7ef
Custom cells for machine and environment
matt-aitken Dec 18, 2025
5382f1b
Column descriptions
matt-aitken Dec 18, 2025
a152420
Added a "Format" button
matt-aitken Dec 18, 2025
08d605d
Added a help panel
matt-aitken Dec 18, 2025
7fb9941
First version of inline docs
matt-aitken Dec 18, 2025
9c35ca4
Better help and added byte seconds stat
matt-aitken Dec 19, 2025
9e5d519
Make columns right aligned if they're numbers
matt-aitken Dec 19, 2025
6818a04
Export/copy as CSV and JSON
matt-aitken Dec 19, 2025
d773846
Added tests for arithmetic operations on expression columns
matt-aitken Dec 20, 2025
84d1003
Fix for incorrect display of invocation cost
matt-aitken Dec 20, 2025
3002f7c
Added CopyableTableCell
matt-aitken Dec 20, 2025
0c2737a
The copy button is further over
matt-aitken Dec 20, 2025
ab8a513
Better column descriptions
matt-aitken Dec 20, 2025
b3b191f
Treat `{}` as NULL for the error column
matt-aitken Dec 20, 2025
a94cfe5
Fix for IS NOT NULL
matt-aitken Dec 20, 2025
a1dea14
Support fieldMapping for TSQL queries. Used to map ids to more user f…
matt-aitken Dec 20, 2025
0fccc81
Added a project table cell
matt-aitken Dec 20, 2025
6ccaa84
Fix for number right alignment
matt-aitken Dec 20, 2025
23b9d2b
Generate implicit column names when using functions with AS, like `co…
matt-aitken Dec 20, 2025
829a69b
Don't include () when generating implicit column names
matt-aitken Dec 20, 2025
1e0a321
The syntax validator now supports the implicit column naming
matt-aitken Dec 20, 2025
dc66ab2
Add nice environment column with mapping to slug
matt-aitken Dec 20, 2025
e986aa5
Record each query
matt-aitken Dec 20, 2025
0a992dd
Query history popover
matt-aitken Dec 20, 2025
94868db
Style improvements
matt-aitken Dec 20, 2025
b5bd878
Added tabbed help
matt-aitken Dec 20, 2025
ceb5563
Better UI for trying queries
matt-aitken Dec 20, 2025
7e9c962
More comprehensive function docs
matt-aitken Dec 20, 2025
9011fd3
Document each fn
matt-aitken Dec 21, 2025
5fc4bb8
Column improvements
matt-aitken Dec 21, 2025
cbf4a60
WIP adding TRQL graphs
matt-aitken Dec 23, 2025
80ea437
Auto-formatting of axis labels for graphs
matt-aitken Dec 23, 2025
d6dac3d
Better display group by dropdown
matt-aitken Dec 23, 2025
aae59f4
Only reset the graph settings if the result columns change
matt-aitken Dec 23, 2025
003ff92
Added order by support for graphs
matt-aitken Dec 23, 2025
f7b95e1
Line chart isn't smoothed
matt-aitken Dec 23, 2025
5d82afe
Fix for layout issues
matt-aitken Dec 27, 2025
17df4a0
Improved graph config styles
matt-aitken Dec 27, 2025
3554ff1
More layout fixes
matt-aitken Dec 27, 2025
dd65a7c
Area chart when line and stacking
matt-aitken Dec 27, 2025
8059faf
Line chart removed circles
matt-aitken Dec 27, 2025
980b2ff
Added compulsory engine V2 filter
matt-aitken Dec 28, 2025
663ea74
whereTransform allows adding prefixes etc for where clauses
matt-aitken Dec 28, 2025
da367e2
Fix for aliases with transforms
matt-aitken Dec 28, 2025
b4b476e
Removed debug logs
matt-aitken Dec 28, 2025
2b96c80
Don't use expressions in the group by clause
matt-aitken Dec 28, 2025
9b452b3
Treat an empty object as null for output
matt-aitken Dec 28, 2025
4b9ba53
Select * support, better small number formatting
matt-aitken Dec 31, 2025
78b3b3f
If the region is a cuid don't show it – they're "Dev"
matt-aitken Dec 31, 2025
e81126b
Types fix and infer the rendering type when using percentiles
matt-aitken Jan 5, 2026
8ea1f10
Minor improvements to the layout
matt-aitken Jan 5, 2026
0c6850f
Improved some booleans types
matt-aitken Jan 5, 2026
702caac
Added nice queue cell rendering
matt-aitken Jan 5, 2026
19febd5
Added lots more useful columns including virtual ones
matt-aitken Jan 5, 2026
109e8c6
More query schema improvements and some layout tweaks
matt-aitken Jan 6, 2026
5fee4b9
Added max_duration_in_seconds to ClickHouse
matt-aitken Jan 6, 2026
d66786c
Added max duration
matt-aitken Jan 6, 2026
22c1775
Better bg colours
matt-aitken Jan 6, 2026
087087f
Clip columns to 64 characters max
matt-aitken Jan 6, 2026
1f2bed4
AI writing TSQL
matt-aitken Jan 6, 2026
3856fbc
Use streamdown to show the thinking as it happens
matt-aitken Jan 6, 2026
1b3e56c
Style improvements
matt-aitken Jan 6, 2026
d86d6cb
Org level feature flag for query access
matt-aitken Jan 6, 2026
da1e21e
The AI supports editing queries now
matt-aitken Jan 7, 2026
9a9226d
Better group by support with aliases
matt-aitken Jan 7, 2026
539da4e
Added is_finished virtual column
matt-aitken Jan 7, 2026
3b3405d
Log TSQL execution errors
matt-aitken Jan 7, 2026
e848f6d
Removed unused import
matt-aitken Jan 7, 2026
34749d5
Transform JSON null checks
matt-aitken Jan 7, 2026
a684ce5
Fix for subpath access to JSON fields
matt-aitken Jan 7, 2026
e7453fe
Type fixes for the evals
matt-aitken Jan 7, 2026
4f48b07
Tidied the sidebar layout up a lot
matt-aitken Jan 7, 2026
b94e3f0
Allow props on `tr`
matt-aitken Jan 8, 2026
54be648
Improving rendering performance of the Table
matt-aitken Jan 8, 2026
9b81c41
Don't show the environment icon, just the coloured label
matt-aitken Jan 8, 2026
3767503
Only render the header Tooltip components when it's being hovered
matt-aitken Jan 8, 2026
9b1ce0b
Only render DateTime tooltip on cell hover
matt-aitken Jan 8, 2026
6ac735c
Only render the status tooltip on hover
matt-aitken Jan 8, 2026
e4d86dd
DateTime cache local timezone
matt-aitken Jan 8, 2026
c05fc0d
Major rendering performance improvements
matt-aitken Jan 8, 2026
5c67061
More reliable date parsing if seconds not ms
matt-aitken Jan 8, 2026
1fa49c3
If the x-axis is a date sort asc it for graphs
matt-aitken Jan 8, 2026
ecb2e27
Nice scrollbars on the streamdown code blocks
matt-aitken Jan 8, 2026
3332b37
Graphing of dates on x-axis fills in the blanks
matt-aitken Jan 8, 2026
ad3f65f
Fill in blank data for graphs
matt-aitken Jan 8, 2026
eb5ad2b
On page load use the most recent query (fallback to default)
matt-aitken Jan 8, 2026
2ca9d15
Autoformat AI generated queries before setting them
matt-aitken Jan 8, 2026
5cef0b4
Fix for ChartConfigPanel dependency issue
matt-aitken Jan 8, 2026
7e5a0cb
Added aggregation mode
matt-aitken Jan 8, 2026
546c1c3
Sorting change when x axis is a date
matt-aitken Jan 9, 2026
7e6673b
TSQLEditor onBlur uses the internal state now
matt-aitken Jan 9, 2026
ed058eb
Improved formatBytes fn
matt-aitken Jan 9, 2026
c6d1de6
Switch cases wrapped in blocks
matt-aitken Jan 9, 2026
cbd0bcd
Deal with queries with 0 bytes of data
matt-aitken Jan 9, 2026
8d93fcd
Log level and guard against divide by zero
matt-aitken Jan 9, 2026
d7f0287
Explicitly add vitest imports
matt-aitken Jan 9, 2026
80455bc
Was missing an expression_type
matt-aitken Jan 9, 2026
907f22a
Better handling of timezones in dates, with tests
matt-aitken Jan 9, 2026
9d0ceb4
Don't shadow the global SyntaxError
matt-aitken Jan 9, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 32 additions & 0 deletions apps/webapp/app/components/AlphaBadge.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
import { cn } from "~/utils/cn";
import { Badge } from "./primitives/Badge";
import { SimpleTooltip } from "./primitives/Tooltip";

export function AlphaBadge({
inline = false,
className,
}: {
inline?: boolean;
className?: string;
}) {
return (
<SimpleTooltip
button={
<Badge variant="extra-small" className={cn(inline ? "inline-grid" : "", className)}>
Alpha
</Badge>
}
content="This feature is in Alpha."
disableHoverableContent
/>
);
}

export function AlphaTitle({ children }: { children: React.ReactNode }) {
return (
<>
<span>{children}</span>
<AlphaBadge />
</>
);
}
Loading