hyperdx/.gitignore
Vineet Ahirkar 6936ef8e29
Optimize materialized column lookup for expression aliases (#1959)
## Summary
Improve the materialized column optimization by allowing it to be applied when `WITH` clauses are expression aliases (i.e., `isSubquery: false`). Previously, any `WITH` clause would disable this optimization. This change ensures that materialized columns are still considered for performance benefits when the `WITH` clause does not represent a subquery.

### Screenshots or video



| Before | After |
| :----- | :---- |
|        |       |

### How to test locally or on Vercel


1. Create a ClickHouse table with a materialized column, e.g.:
   ```sql
   ALTER TABLE otel_logs ADD COLUMN awesome_attribute String MATERIALIZED LogAttributes['awesome_attribute']
   ```
2. Open the Explore view for logs (`/search`)
3. Add a filter for `awesome_attribute` (or `LogAttributes['awesome_attribute']`)
4. Inspect the POST body of `/clickhouse-proxy` requests in the network tab:
    - Before fix: The histogram (time chart) query contains `LogAttributes['awesome_attribute']` (full map scan), while the search results query correctly uses `awesome_attribute`.
    - After fix: Both the histogram and search results queries use `awesome_attribute` (the materialized column).


### References



- Linear Issue: #1957
- Related PRs:
2026-03-22 22:54:18 +00:00

96 lines
1.3 KiB
Text

# Claude Code user-local settings (not project config)
.claude/settings.local.json
# Override global .gitignore to track project-level AI tooling configs
!.cursor
!.cursor/mcp.json
.worktrees
# Playwright MCP scratch files
seed.spec.ts
specs/
# misc
**/.DS_Store
**/*.pem
**/keys
# logs
**/*.log
**/npm-debug.log*
**/lerna-debug.log*
# yarn
**/yarn-debug.log*
**/yarn-error.log*
.yarn/*
!.yarn/cache
!.yarn/patches
!.yarn/plugins
!.yarn/releases
!.yarn/sdks
!.yarn/versions
# dotenv environment variable files
**/.env.development.local
**/.env.test.local
**/.env.production.local
**/.env.local
**/.dockerhub.env
**/.ghcr.env
# Next.js build output
packages/app/.next
packages/app/.pnp
packages/app/.pnp.js
packages/app/.vercel
packages/app/coverage
packages/app/out
packages/app/tmp
packages/app/next-env.d.ts
# optional npm cache directory
**/.npm
package-lock.json
# dependency directories
**/node_modules
# build output
**/dist
**/build
**/tsconfig.tsbuildinfo
# jest coverage report
**/coverage
# e2e
e2e/cypress/screenshots/
e2e/cypress/videos/
e2e/cypress/results
# playwright
**/test-results/
**/playwright-report/
**/playwright/.cache/
**/.auth/
# storybook
**/storybook-static/
# scripts
scripts/*.csv
**/venv
**/__pycache__/
*.py[cod]
*$py.class
# docker
docker-compose.prod.yml
.volumes
# NX
.nx/
# webstorm
.idea