Skip to content

Conversation

@diegoimbert
Copy link
Contributor

@diegoimbert diegoimbert commented Jan 6, 2026

image

@cloudflare-workers-and-pages
Copy link

cloudflare-workers-and-pages bot commented Jan 6, 2026

Deploying windmill with  Cloudflare Pages  Cloudflare Pages

Latest commit: 639ae88
Status: ✅  Deploy successful!
Preview URL: https://9831b4cb.windmill.pages.dev
Branch Preview URL: https://di-ducklake-extra-arsg.windmill.pages.dev

View logs

@diegoimbert diegoimbert marked this pull request as ready for review January 6, 2026 17:18
@claude
Copy link
Contributor

claude bot commented Jan 6, 2026

Claude finished @diegoimbert's task in 2m 22s —— View job


PR Review: Ducklake default extra_args

Summary

This PR adds support for configuring default extra_args on Ducklake settings, which are automatically appended to the ATTACH command when attaching a ducklake in DuckDB scripts. This is a clean, well-implemented feature.

Changes Overview

  • OpenAPI spec: Added extra_args string field to DucklakeSettings schema
  • Backend (workspaces.rs): Added extra_args field to Ducklake and DucklakeWithConnData structs
  • Backend (duckdb_executor.rs): Modified transform_attach_ducklake to append default extra_args to the ATTACH command
  • Frontend (DucklakeSettings.svelte): Added a settings popover with a textarea input for configuring extra_args per ducklake

Code Quality ✅

  • Clean implementation following existing patterns
  • Proper use of Option<String> with #[serde(skip_serializing_if = "Option::is_none")] for optional field
  • Good comment explaining the assumption about extra_args format in duckdb_executor.rs:578-580
  • Frontend follows project patterns with Popover and Label components

No Issues Found

  • No bugs detected
  • No security concerns
  • No performance issues
  • Consistent with existing codebase patterns

Minor Suggestions (Non-blocking)

  1. UX Enhancement: Consider adding a visual indicator on the settings icon when extra_args is configured, so users can see at a glance that extra args are set
  2. Documentation: Consider documenting behavior when conflicting args are provided both in the ducklake settings and inline in the ATTACH statement

Testing Instructions

Navigate to Workspace Settings > Ducklake section. Create or edit an existing ducklake configuration. Click the new settings icon (gear) that appears in the row to access the "Extra args" popover. Enter ducklake-specific arguments in the textarea (e.g., METADATA_SCHEMA 'abc'). Save the ducklake settings, then create a DuckDB script that attaches the ducklake with ATTACH 'ducklake://name' AS dl; and verify the extra args are applied by checking the ducklake's metadata schema or other configured options.

format!("{},{}", extra_args, default_extra_args)
} else {
extra_args
};
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice implementation! The approach of appending default extra_args after the OVERRIDE_DATA_PATH handling is correct. The comment explaining the premise is helpful.

One minor consideration: if the user provides conflicting extra_args (e.g., the same argument is set in both the ducklake default and the inline ATTACH statement), DuckDB will either:

  1. Use the last value specified
  2. Throw an error for certain arguments

This is probably acceptable behavior since the user can always remove the default extra_args if they want to override them inline. Just something to note in documentation if not already covered.

</Label>
</svelte:fragment>
<svelte:fragment slot="content">Please save settings first</svelte:fragment>
</Popover>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good use of a Popover with a settings icon to keep the main UI clean while providing access to advanced options. The implementation is clean and follows the project patterns well.

Minor UX suggestion: Consider adding a visual indicator (e.g., a small dot on the settings icon) when extra_args has a value, so users know at a glance that extra args are configured. This would help avoid surprises when someone modifies a ducklake without realizing it has default extra args set.

@rubenfiszel rubenfiszel merged commit e675799 into main Jan 6, 2026
5 checks passed
@rubenfiszel rubenfiszel deleted the di/ducklake-extra-arsg branch January 6, 2026 17:55
@github-actions github-actions bot locked and limited conversation to collaborators Jan 6, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants