Skip to content

Commit cb8e763

Browse files
committed
fix: Don’t abort database queries
It doesn’t help the server, and it ends up causing more duplicated queries at the moment. We can revisit this later if the need arises. https://harperdb.atlassian.net/browse/STUDIO-508 https://harperdb.atlassian.net/browse/STUDIO-622
1 parent cda6036 commit cb8e763

File tree

8 files changed

+25
-15
lines changed

8 files changed

+25
-15
lines changed

src/config/useInstanceClient.tsx

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import { getInstanceClient } from '@/config/getInstanceClient';
33
import { InstanceClientConfig, InstanceClientIdConfig, InstanceTypeConfig } from '@/config/instanceClientConfig';
44
import { OverallAppSignIn } from '@/features/auth/store/authStore';
55
import { useParams } from '@tanstack/react-router';
6+
import { useMemo } from 'react';
67

78
export function useInstanceClient(operationsUrl?: string | null, port?: number, secure?: boolean) {
89
const { instanceId, clusterId }: { instanceId?: string; clusterId?: string } = useParams({ strict: false });
@@ -29,7 +30,12 @@ export function useInstanceClientIdParams(
2930
secure?: boolean,
3031
): InstanceClientIdConfig & InstanceTypeConfig {
3132
const params: { instanceId?: string; clusterId?: string } = useParams({ strict: false });
32-
return getInstanceClientIdFromParams({ ...params, operationsUrl, port, secure });
33+
return useMemo(() => getInstanceClientIdFromParams({ ...params, operationsUrl, port, secure }), [
34+
params,
35+
operationsUrl,
36+
port,
37+
secure,
38+
]);
3339
}
3440

3541
export function getInstanceClientIdFromParams({

src/features/instance/databases/components/TableView.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -165,7 +165,7 @@ export function TableView<TData, TValue>({
165165
setPageSize(Number(value));
166166
}}
167167
>
168-
<SelectTrigger className="h-10 w-[80px]">
168+
<SelectTrigger className="h-10 w-20">
169169
<SelectValue />
170170
</SelectTrigger>
171171
<SelectContent side="top">

src/features/instance/databases/index.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ export function Databases() {
4242
}
4343

4444
return (
45-
<main className="grid grid-cols-1 gap-4 md:grid-cols-12 min-h-[calc(100vh-theme(spacing.36))]">
45+
<main className="grid grid-cols-1 gap-4 md:grid-cols-12 min-h-[calc(100vh-(--spacing(36)))]">
4646
<section className="col-span-1 text-white md:col-span-4 lg:col-span-3">
4747
<DatabasesSidebar instanceDatabaseMap={instanceDatabaseMap} />
4848
</section>

src/integrations/api/instance/database/getDescribeAll.ts

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,14 @@ import { queryOptions } from '@tanstack/react-query';
55
export function getDescribeAllQueryOptions({ entityId, instanceClient }: InstanceClientIdConfig) {
66
return queryOptions({
77
queryKey: [entityId, 'describe_all'] as const,
8-
queryFn: async ({ signal }) => {
8+
queryFn: async () => {
99
const { data } = await instanceClient.post<InstanceDatabaseMap>('/', {
1010
operation: 'describe_all',
11-
}, { signal });
11+
});
1212
return data;
1313
},
14-
staleTime: 60 * 1000,
14+
staleTime: 60_000,
15+
gcTime: 5_000,
1516
retry: false,
1617
});
1718
}

src/integrations/api/instance/database/getDescribeTable.ts

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,15 +15,16 @@ export function getDescribeTableQueryOptions({
1515
}: GetDescribeTableParams) {
1616
return queryOptions({
1717
queryKey: [entityId, databaseName, tableName, 'describe_table'] as const,
18-
queryFn: async ({ signal }) => {
18+
queryFn: async () => {
1919
const { data } = await instanceClient.post<InstanceTable>('/', {
2020
operation: 'describe_table',
2121
database: databaseName,
2222
table: tableName,
23-
}, { signal });
23+
});
2424
return data;
2525
},
26-
staleTime: 60 * 1000,
26+
staleTime: 60_000,
27+
gcTime: 5_000,
2728
enabled: !!databaseName && !!tableName,
2829
retry: false,
2930
});

src/integrations/api/instance/database/getSearchByConditions.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -76,9 +76,10 @@ export function getSearchByConditionsOptions({
7676
onlyIfCached,
7777
] as const,
7878
staleTime: 60_000,
79+
gcTime: 5_000,
7980

8081
retry: false,
81-
queryFn: ({ signal }) =>
82+
queryFn: () =>
8283
instanceClient.post<Record<string, unknown>[]>(
8384
'/',
8485
{
@@ -93,7 +94,7 @@ export function getSearchByConditionsOptions({
9394
onlyIfCached: onlyIfCached,
9495
noCacheStore: onlyIfCached,
9596
} satisfies SearchByConditionsRequest,
96-
{ timeout: 0, signal },
97+
{ timeout: 0 },
9798
),
9899
});
99100
}

src/integrations/api/instance/database/getSearchById.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ export function getSearchByIdOptions(
1313
) {
1414
return queryOptions({
1515
queryKey: [entityId, 'search_by_id', databaseName, tableName, ids] as const,
16-
queryFn: ({ signal }) =>
16+
queryFn: () =>
1717
instanceClient.post('/', {
1818
get_attributes: ['*'],
1919
ids,
@@ -22,7 +22,7 @@ export function getSearchByIdOptions(
2222
operation: 'search_by_id',
2323
database: databaseName,
2424
table: tableName,
25-
}, { signal }),
25+
}),
2626
enabled: enabled && !!ids?.length,
2727
retry: false,
2828
});

src/integrations/api/instance/database/getSearchByValue.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,8 @@ export function getSearchByValueOptions({
5454
] as const,
5555
retry: false,
5656
staleTime: 60_000,
57-
queryFn: ({ signal }) => {
57+
gcTime: 5_000,
58+
queryFn: () => {
5859
const customizedSort = sort.attribute.length && !(sort.attribute === searchAttribute && !sort.descending);
5960
return instanceClient.post<Record<string, unknown>[]>(
6061
'/',
@@ -71,7 +72,7 @@ export function getSearchByValueOptions({
7172
onlyIfCached: onlyIfCached,
7273
noCacheStore: onlyIfCached,
7374
} satisfies SearchByValueRequest,
74-
{ timeout: 0, signal },
75+
{ timeout: 0 },
7576
);
7677
},
7778
});

0 commit comments

Comments
 (0)