Skip to content
6 changes: 6 additions & 0 deletions .changeset/sharp-phones-travel.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
"@hyperdx/common-utils": patch
"@hyperdx/app": patch
---

fix: Fix sidebar when selecting JSON property
2 changes: 1 addition & 1 deletion packages/app/src/hooks/useRowWhere.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ export function processRowToWhereClause(

// Currently we can't distinguish null or 'null'
if (value === 'null') {
return SqlString.format(`isNull(??)`, [column]);
return SqlString.format(`isNull(??)`, [valueExpr]);
}
if (value.length > 1000 || column.length > 1000) {
console.warn('Search value/object key too large.');
Expand Down
21 changes: 21 additions & 0 deletions packages/common-utils/src/__tests__/clickhouse.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -200,6 +200,27 @@ describe('chSqlToAliasMap - alias unit test', () => {
};
expect(res).toEqual(aliasMap);
});

it('Alias, with JSON expressions', () => {
const chSqlInput: ChSql = {
sql: "SELECT Timestamp as ts,ResourceAttributes.service.name as service,toStartOfDay(LogAttributes.start.`time`) as start_time,Body,TimestampTime,ServiceName,TimestampTime FROM {HYPERDX_PARAM_1544803905:Identifier}.{HYPERDX_PARAM_129845054:Identifier} WHERE (TimestampTime >= fromUnixTimestamp64Milli({HYPERDX_PARAM_1456399765:Int64}) AND TimestampTime <= fromUnixTimestamp64Milli({HYPERDX_PARAM_1719057412:Int64})) AND (`ResourceAttributes`.`service`.`name` = 'serviceName') ORDER BY TimestampTime DESC LIMIT {HYPERDX_PARAM_49586:Int32} OFFSET {HYPERDX_PARAM_48:Int32}",
params: {
HYPERDX_PARAM_1544803905: 'default',
HYPERDX_PARAM_129845054: 'otel_logs',
HYPERDX_PARAM_1456399765: 1743038742000,
HYPERDX_PARAM_1719057412: 1743040542000,
HYPERDX_PARAM_49586: 200,
HYPERDX_PARAM_48: 0,
},
};
const res = chSqlToAliasMap(chSqlInput);
const aliasMap = {
ts: 'Timestamp',
service: 'ResourceAttributes.service.name',
start_time: 'toStartOfDay(LogAttributes.start.`time`)',
};
expect(res).toEqual(aliasMap);
});
});

describe('computeRatio', () => {
Expand Down
Loading
Loading