Skip to content

Conversation

@SanjulaGanepola
Copy link
Member

@SanjulaGanepola SanjulaGanepola commented Sep 25, 2025

Changes

  • Add more database object types to the schema browser (Column Masks, Constraints, Journal Recievers, Journals, Row Permissions, Sequences, SQL Packages)
    image
  • Add Filter Database Object Types button to Schema Browser
    image
  • Store which database objects types are selected in the extension settings
    image
  • Re-ordered database object types by alphabetical order
  • Fix right-click actions for new database objects

Signed-off-by: Sanjula Ganepola <Sanjula.Ganepola@ibm.com>
Signed-off-by: Sanjula Ganepola <Sanjula.Ganepola@ibm.com>
Signed-off-by: Sanjula Ganepola <Sanjula.Ganepola@ibm.com>
Signed-off-by: Sanjula Ganepola <Sanjula.Ganepola@ibm.com>
@SanjulaGanepola SanjulaGanepola marked this pull request as draft September 25, 2025 00:23
@github-actions
Copy link

github-actions bot commented Sep 25, 2025

👋 A new build is available for this PR based on 45704f7.

@SanjulaGanepola SanjulaGanepola linked an issue Sep 25, 2025 that may be closed by this pull request
@SanjulaGanepola SanjulaGanepola changed the title Feature/more object types Add more database object types to the Schema Browser Sep 25, 2025
Signed-off-by: Sanjula Ganepola <Sanjula.Ganepola@ibm.com>
Signed-off-by: Sanjula Ganepola <Sanjula.Ganepola@ibm.com>
Signed-off-by: Sanjula Ganepola <Sanjula.Ganepola@ibm.com>
Signed-off-by: Sanjula Ganepola <Sanjula.Ganepola@ibm.com>
Signed-off-by: Sanjula Ganepola <Sanjula.Ganepola@ibm.com>
@SanjulaGanepola SanjulaGanepola marked this pull request as ready for review September 29, 2025 19:09
@SanjulaGanepola
Copy link
Member Author

@forstie @julesyan PR is ready for review

@SanjulaGanepola SanjulaGanepola self-assigned this Oct 10, 2025
Signed-off-by: Sanjula Ganepola <Sanjula.Ganepola@ibm.com>
Signed-off-by: Sanjula Ganepola <Sanjula.Ganepola@ibm.com>
@forstie
Copy link
Collaborator

forstie commented Jan 15, 2026

Hi @SanjulaGanepola
For the newly added SQL Packages, the "Get Authorities" action is super duper slow performer.

Could you please change:

SELECT authorization_name "User profile name", object_authority "Object authority",
owner "Object owner", authorization_list "Authorization list", primary_group "Primary group",
authorization_list_management "Authorization list management",
object_owner "User is object owner", object_operational "Object operational authority",
object_management "Object management authority",
object_existence "Object existence authority", object_alter "Object alter authority",
object_reference "Object reference authority", data_read "Data read authority",
data_add "Data add authority", data_update "Data update authority",
data_delete "Data delete authority", data_execute "Data execute authority",
text_description "Description"
FROM qsys2.object_privileges
WHERE object_schema = 'QSYS' AND object_name = 'QSQLPKG2' AND sql_object_type = 'PACKAGE'

To

SELECT authorization_name "User profile name", object_authority "Object authority",
owner "Object owner", authorization_list "Authorization list", primary_group "Primary group",
authorization_list_management "Authorization list management",
object_owner "User is object owner", object_operational "Object operational authority",
object_management "Object management authority",
object_existence "Object existence authority", object_alter "Object alter authority",
object_reference "Object reference authority", data_read "Data read authority",
data_add "Data add authority", data_update "Data update authority",
data_delete "Data delete authority", data_execute "Data execute authority",
text_description "Description"
FROM qsys2.object_privileges
*WHERE system_object_schema = 'QSYS' AND system_object_name = 'QSQLPKG2' AND object_type = 'SQLPKG'

The predicate approach is a game-changer for performance.

@forstie
Copy link
Collaborator

forstie commented Jan 15, 2026

Also, same comment on object locks for the "Get Object Locks" action.
The current predication is super slow.
SELECT system_table_member "Member", member_lock_type "Member Lock Type", lock_state "Lock State",
lock_status "Lock Status", lock_scope "Scope",
SUBSTR(job_name, LOCATE_IN_STRING(job_name, '/', -1) + 1) "Job Name",
SUBSTR(
job_name, LOCATE_IN_STRING(job_name, '/', 1) + 1, LOCATE_IN_STRING(job_name, '/', -1) -
LOCATE_IN_STRING(job_name, '/', 1) - 1) "Job User",
SUBSTR(job_name, 1, LOCATE_IN_STRING(job_name, '/', 1) - 1) "Job Number", thread_id "Thread",
lock_space_id "Lock Space", lock_count "Lock Count", program_library_name "Program Library",
program_name "Program Name", module_library_name "Module Library", module_name "Module Name",
procedure_name "Procedure Name", statement_id "Statement ID",
machine_instruction "Instruction"
FROM qsys2.object_lock_info
WHERE object_schema = ? AND object_name = ? AND sql_object_type = ?

If you change these to use system_object_schema , system_object_name, and object_type... the performance improvement will be amazing.

Copy link
Collaborator

@forstie forstie left a comment

Choose a reason for hiding this comment

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

Please change the predication of actions as noted in the comments that I posted.

@SanjulaGanepola SanjulaGanepola mentioned this pull request Jan 16, 2026
11 tasks
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.

Add additional object types to the Schema Browser

3 participants