Skip to content
Merged
Show file tree
Hide file tree
Changes from 27 commits
Commits
Show all changes
33 commits
Select commit Hold shift + click to select a range
46c1cf6
feat(dar): add Granted lifecycle, filters, sort, and self-service cre…
harshach May 11, 2026
cbaa5f8
Update generated TypeScript types
github-actions[bot] May 11, 2026
add13b3
refactor(dar): address PR review — derive approver capture from targe…
harshach May 11, 2026
519e05c
Merge branch 'main' into harshach/dar-filters-granted-status
harshach May 11, 2026
9fcbef6
fix(dar): authorize DAR list, document statusGroup, idempotent MySQL …
harshach May 11, 2026
df57477
fix(dar): add approvedBy/At fields to UI Task type and preserve appro…
harshach May 11, 2026
1e28ab5
fix header test
anuj-kumary May 12, 2026
5d935de
Merge branch 'main' into harshach/dar-filters-granted-status
anuj-kumary May 12, 2026
5aa07f6
Resolved merge confclits
anuj-kumary May 12, 2026
e19fe9b
fix unti test
anuj-kumary May 12, 2026
fd3452f
fix lint checks
anuj-kumary May 12, 2026
cec17ef
fix(dar): inline approvedById column in 2.0.0 task_entity, drop unnee…
harshach May 12, 2026
5be09b7
Merge branch 'main' into harshach/dar-filters-granted-status
harshach May 12, 2026
298b972
fix(dar): upgrade 2.0.0 task_entity with approvedById ALTER, gate re-…
harshach May 12, 2026
26485da
fix(dar): reorder postgres approvedbyid ALTER before its index, unify…
harshach May 12, 2026
e311329
docs(dar): correct taskCount.approved/granted descriptions to reflect…
harshach May 12, 2026
eed6e64
Update generated TypeScript types
github-actions[bot] May 12, 2026
66ba992
Merge branch 'main' into harshach/dar-filters-granted-status
anuj-kumary May 13, 2026
9b2fa8e
feat(dar): add search, multi-select filters, and assignee filter to /…
harshach May 13, 2026
6bbe6fc
fix(dar): escape `%` in q search input, replace fully-qualified java.…
harshach May 13, 2026
96f308b
Merge branch 'main' into harshach/dar-filters-granted-status
harshach May 13, 2026
45723b5
test(dar): wrap revoke-from-Granted in awaitility retry to absorb Flo…
harshach May 13, 2026
e105ffb
Java checkstyle
yan-3005 May 14, 2026
ee37a0d
Merge branch 'main' into harshach/dar-filters-granted-status
anuj-kumary May 14, 2026
fb6d7f2
Merge branch 'main' into harshach/dar-filters-granted-status
anuj-kumary May 15, 2026
77bc638
nit
anuj-kumary May 15, 2026
60c42c8
fix all type error
anuj-kumary May 15, 2026
c598200
Merge branch 'main' into harshach/dar-filters-granted-status
anuj-kumary May 15, 2026
e3229ce
fix lint issue
anuj-kumary May 15, 2026
2607189
Merge branch 'main' into harshach/dar-filters-granted-status
ShaileshParmar11 May 15, 2026
175ef09
docs(dar): clarify resolveResolutionType convention and buildFqnPrefi…
harshach May 15, 2026
e19653d
fix(dar): remove stale listTasks mock, import ApiException, gate isDa…
harshach May 15, 2026
451649c
Merge branch 'main' into harshach/dar-filters-granted-status
harshach May 16, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
44 changes: 43 additions & 1 deletion bootstrap/sql/migrations/native/2.0.0/mysql/schemaChanges.sql
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ CREATE TABLE IF NOT EXISTS task_entity (
deleted tinyint(1) GENERATED ALWAYS AS (json_extract(`json`,_utf8mb4'$.deleted')) STORED,
aboutFqnHash varchar(256) GENERATED ALWAYS AS (json_unquote(json_extract(`json`,_utf8mb4'$.aboutFqnHash'))) STORED,
createdById varchar(36) GENERATED ALWAYS AS (json_unquote(json_extract(`json`,_utf8mb4'$.createdById'))) STORED,
approvedById varchar(36) GENERATED ALWAYS AS (json_unquote(json_extract(`json`,_utf8mb4'$.approvedById'))) STORED,
PRIMARY KEY (id),
UNIQUE KEY uk_fqn_hash (fqnHash),
KEY idx_task_id (taskId),
Expand All @@ -30,9 +31,50 @@ CREATE TABLE IF NOT EXISTS task_entity (
KEY idx_about_fqn_hash (aboutFqnHash),
KEY idx_status_about (status, aboutFqnHash),
KEY idx_created_by_id (createdById),
KEY idx_created_by_category (createdById, category)
KEY idx_created_by_category (createdById, category),
KEY idx_approved_by_id (approvedById)
Comment thread
harshach marked this conversation as resolved.
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

-- For 2.0.0 environments that ran the CREATE TABLE above before the
-- approvedById generated column was added inline, attach it now. CREATE TABLE
-- IF NOT EXISTS is a no-op on those environments so the column would never
-- appear otherwise. MySQL doesn't reliably support `ADD COLUMN IF NOT EXISTS`
-- across 8.0 versions and has no `ADD KEY IF NOT EXISTS`, so guard both via
-- information_schema.
SET @ddl = (
Comment thread
harshach marked this conversation as resolved.
SELECT IF(
EXISTS (
SELECT 1
FROM information_schema.columns
WHERE table_schema = DATABASE()
AND table_name = 'task_entity'
AND column_name = 'approvedById'
),
'SELECT 1',
'ALTER TABLE task_entity ADD COLUMN approvedById varchar(36) GENERATED ALWAYS AS (json_unquote(json_extract(`json`,_utf8mb4''$.approvedById''))) STORED'
)
);
PREPARE stmt FROM @ddl;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;

SET @ddl = (
SELECT IF(
EXISTS (
SELECT 1
FROM information_schema.statistics
WHERE table_schema = DATABASE()
AND table_name = 'task_entity'
AND index_name = 'idx_approved_by_id'
),
'SELECT 1',
'ALTER TABLE task_entity ADD KEY idx_approved_by_id (approvedById)'
)
);
PREPARE stmt FROM @ddl;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;

CREATE TABLE IF NOT EXISTS new_task_sequence (
id bigint NOT NULL DEFAULT 0
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
Expand Down
14 changes: 14 additions & 0 deletions bootstrap/sql/migrations/native/2.0.0/postgres/schemaChanges.sql
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ CREATE TABLE IF NOT EXISTS task_entity (
deleted boolean GENERATED ALWAYS AS (((json ->> 'deleted'::text))::boolean) STORED,
aboutfqnhash character varying(256) GENERATED ALWAYS AS ((json ->> 'aboutFqnHash'::text)) STORED,
createdbyid character varying(36) GENERATED ALWAYS AS ((json ->> 'createdById'::text)) STORED,
approvedbyid character varying(36) GENERATED ALWAYS AS ((json ->> 'approvedById'::text)) STORED,
PRIMARY KEY (id),
CONSTRAINT uk_task_fqn_hash UNIQUE (fqnhash)
);
Expand All @@ -34,6 +35,19 @@ CREATE INDEX IF NOT EXISTS idx_task_status_about ON task_entity (status, aboutfq
CREATE INDEX IF NOT EXISTS idx_task_created_by_id ON task_entity (createdbyid);
CREATE INDEX IF NOT EXISTS idx_task_created_by_category ON task_entity (createdbyid, category);

-- For 2.0.0 environments that ran the CREATE TABLE above before the
-- approvedbyid generated column was added inline, attach it now. CREATE TABLE
-- IF NOT EXISTS is a no-op on those environments so the column would never
-- appear otherwise. Postgres supports `ADD COLUMN IF NOT EXISTS` natively.
-- The ALTER must run before idx_task_approved_by_id is created — otherwise
-- existing-2.0.0 deployments would fail the CREATE INDEX with "column does
-- not exist" before the ADD COLUMN ever runs.
ALTER TABLE task_entity
ADD COLUMN IF NOT EXISTS approvedbyid character varying(36)
GENERATED ALWAYS AS ((json ->> 'approvedById'::text)) STORED;

CREATE INDEX IF NOT EXISTS idx_task_approved_by_id ON task_entity (approvedbyid);
Comment thread
harshach marked this conversation as resolved.

CREATE TABLE IF NOT EXISTS new_task_sequence (
id bigint NOT NULL DEFAULT 0
);
Expand Down
19 changes: 19 additions & 0 deletions openmetadata-integration-tests/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -241,6 +241,25 @@
<version>2.3.0</version>
<scope>test</scope>
</dependency>
<!-- Required by DriveFileUploadIT (test fixture generation: PDF + XLSX). -->
<dependency>
<groupId>org.apache.pdfbox</groupId>
<artifactId>pdfbox</artifactId>
<version>2.0.31</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>5.4.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>5.4.1</version>
<scope>test</scope>
</dependency>
</dependencies>
<profiles>
<!-- MySQL + Elasticsearch (default) -->
Expand Down
Loading
Loading