Skip to content

feat(datagrid): generate UUIDs in Set Value and mark SQL functions - #3446

Merged
datlechin merged 3 commits into
mainfrom
feat/generate-uuid-value
Oct 16, 2026
Merged

datlechin merged 3 commits into
mainfrom
feat/generate-uuid-value

Conversation

@datlechin

@datlechin datlechin commented Oct 16, 2026 •

Copy link
Copy Markdown
Member

Why

A uuid key with no default could only be filled by writing SQL: Set Value showed nothing on it. The inspector listed gen_random_uuid(), but functions outside a temporal allow-list were saved as quoted text, and four plugin writers quoted all of them. Writers guessed SQL from the text, so stored text that spelled a function could run.

Change

  • Generate UUID and Generate UUIDv7 in Set Value, the inspector, Fill Column and a new Edit > Set Value, a fresh value per cell. Add Row, Duplicate and Paste fill a UUID key the server does not.
  • Set Value acts on the whole selection.
  • A picked function is a per-cell mark carried through undo, the clipboard, Copy as, Rewind and PluginKit 39 (additive), checked against a per-engine list before it goes out unquoted.
  • timeuuid no longer a timestamp, MariaDB uuid no longer CHAR, Default on a saved row refused where the engine has no SET c = DEFAULT.
  • Hub ratchet: ShortcutAction 98 to 103 for the five Set Value rows in Settings > Keyboard.

Verified

Unit plan green. Changed on purpose: SQLStatementGeneratorTests, RowWriteOperationBuilderTests, SQLEscapingTests, MultiRowEditStateTests, DataGridRowViewSetValueTests, MySQLVariantSupportTests, FillColumnTests, ClearedCellCommitTests, ShortcutUniquenessTests.

Screenshots

Right-click on a uuid primary key with no default, before and after:

Before, light
After, light
Before, dark
After, dark

Not in this PR

  • MSSQL, Oracle, Cassandra, Teradata, Spanner, BigQuery and DynamoDB need a plugin release; until then their function saves are refused.
  • MongoDB Generate UUID needs a PluginKit hook for its UUID("…") cells.
  • ClickHouse saved-row UPDATE fails on MergeTree; four plugin writers never run.

Docs: TableProApp/docs#28

Fixes #3443

@datlechin
datlechin merged commit 0f64226 into main Oct 16, 2026
9 checks passed
@datlechin
datlechin deleted the feat/generate-uuid-value branch October 16, 2026 13:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Auto-Generate UUID from context menu

1 participant