EBVWP6OGDMJZZOCALJU46LHFBF54MGNJADQ7ADJSZIQFNVPK7CFQC IFLKNMMP2NMJG46W3MKRLCUSPAW73N7QSDXQLJBAWPYNVEQP6KXQC T2WZBTVFHVWPKL6AKEWSEVQBR3HWWWUPUNUP2MULF4WXEAZP46KQC KZKLAINJJWZ64T5MUZT34LJVQIKBTKZ6EJGD7C7TTSSDGCHEDPMAC AVQ66WO4R4KVXAVP4YPEF65CPHJJY55H7ZOVPZ2BHFMGEBTWRUQQC GPQSOVBPY7VTPHD75R6VWSNITPOL3AECF4DHJB32MF5Z72NV7YMQC JAT3DXOLENZZGXE2NYFF3TVQAQIXMMNYO234ETKQGC2CRHJVZERQC E27ZWCDPESXDEHYZONCAKYL2U4K4ZLVXWX4453ICWSH4TGMQI4KQC // writer is the local interface for write operations in export.// Defined here per project convention: each consumer defines its own minimal interface.// Uses Context variants exclusively so interfaces compose as compatible subsets of *sql.DB.type writer interface {ExecContext(ctx context.Context, query string, args ...any) (sql.Result, error)QueryRowContext(ctx context.Context, query string, args ...any) *sql.Row}
func countAllTableRows(ctx context.Context, sourceDB *sql.DB, tables []TableRelationship, datasetID string, output *ExportDatasetOutput) error {
func countAllTableRows(ctx context.Context, q db.Querier, tables []TableRelationship, datasetID string, output *ExportDatasetOutput) error {
func copyDataToOutput(ctx context.Context, outputDB *sql.DB, tables []TableRelationship, datasetID string, sourceDBPath string) error {_, err := outputDB.ExecContext(ctx, fmt.Sprintf("ATTACH '%s' AS source", sourceDBPath))
func copyDataToOutput(ctx context.Context, w writer, tables []TableRelationship, datasetID string, sourceDBPath string) error {_, err := w.ExecContext(ctx, fmt.Sprintf("ATTACH '%s' AS source", sourceDBPath))
err := db.WithWriteTx(ctx, resolveDBPath(input.DBPath), "create_or_update_cluster", func(database *sql.DB, tx *db.LoggedTx) error {
err := db.WithWriteTx(ctx, resolveDBPath(input.DBPath), "create_or_update_cluster", func(_ *sql.DB, tx *db.LoggedTx) error {
func validateClusterActive(database *sql.DB, clusterID string) error {return db.ClusterExistsAndActive(database, clusterID)
func validateClusterActive(q db.Querier, clusterID string) error {return db.ClusterExistsAndActive(q, clusterID)
err = db.WithWriteTx(ctx, resolveDBPath(input.DBPath), "create_or_update_cluster", func(database *sql.DB, tx *db.LoggedTx) error {if err := validateClusterActive(database, clusterID); err != nil {
err = db.WithWriteTx(ctx, resolveDBPath(input.DBPath), "create_or_update_cluster", func(_ *sql.DB, tx *db.LoggedTx) error {if err := validateClusterActive(tx, clusterID); err != nil {