( conn: DuckDBConnection, workspaceId: string )
| 761 | } |
| 762 | |
| 763 | export async function clearWorkspaceAnalyticsState( |
| 764 | conn: DuckDBConnection, |
| 765 | workspaceId: string |
| 766 | ): Promise<void> { |
| 767 | assert(workspaceId.trim().length > 0, "clearWorkspaceAnalyticsState: workspaceId is required"); |
| 768 | |
| 769 | await conn.run("BEGIN TRANSACTION"); |
| 770 | try { |
| 771 | await conn.run("DELETE FROM events WHERE workspace_id = ?", [workspaceId]); |
| 772 | await conn.run("DELETE FROM ingest_watermarks WHERE workspace_id = ?", [workspaceId]); |
| 773 | await conn.run("DELETE FROM delegation_rollups WHERE parent_workspace_id = ?", [workspaceId]); |
| 774 | await conn.run("COMMIT"); |
| 775 | } catch (error) { |
| 776 | await conn.run("ROLLBACK"); |
| 777 | throw error; |
| 778 | } |
| 779 | } |
| 780 | |
| 781 | function serializeHeadSignatureValue(value: string | number | null): string { |
| 782 | if (value === null) { |
no test coverage detected