Skip to content

Feature Reference

Quick lookup for every button, field, toggle, and UI element in SQL Cor. For detailed explanations see User Guide and Admin Guide.


How to use this document

Use Ctrl+F (or Obsidian search) to find a specific element by name. Each entry answers: what it is · where it lives · what it does · what happens.


SQL Terminal page

Header elements

ElementLocationWhat it doesNotes
AdministrationHeader → rightOpens Administration panelVisible to SysAdmin only. Query preserved on switch.
Theme toggleHeader → rightSwitches Dark / Light themeSaved in localStorage. Per-device preference.
Language buttonHeader → rightSwitches UI language UKR ↔ ENGApplies instantly. Does not affect DB content.
About buttonHeader → rightOpens ABOUT modalShows version, features, contacts. Close: click outside or Esc.

ABOUT modal

ElementWhat it shows
VersionInstalled SQL Cor package version
Features listSecure access · Audit trail · Role-based access control
Contact infoSupport contact details
CloseClick outside modal or press Escape

Toolbar elements

ElementShortcutWhat it doesBehavior
ExecuteF5 / Ctrl+Enter / Cmd+EnterRuns the SQL in the editorBlocked by: blacklist, wrong access level, maintenance mode
ClearEmpties editor, returns focusDoes NOT clear results or footer stats
Dry RunToggles safe-test mode ON/OFFHighlighted when ON. Runs query in transaction → always ROLLBACK.
DB indicatorShows connected database nameDisplay only. Not clickable. Example: Production_DB_Main

Editor elements

FeatureWhat it doesDetail
Line numbersDisplayed left of editorAuto-updates as you type
Syntax highlightingColors SQL keywords, strings, comments, numbersKeywords: cyan · Strings: orange · Comments: gray · Numbers: green
Tab indentationTab key inserts indentFor multi-line query formatting
AutosaveSaves query to localStorage as you typeRestored on page refresh. Last query preserved.
Undo / RedoCtrl+Z / Ctrl+YStandard editor undo/redo
Comment lineCtrl+/Adds/removes -- comment prefix
Select allCtrl+ASelects all editor content
Multi-statementSeparate with ;Executes in sequence. ReadOnly users: rejected if multiple statements detected.

Smart Hints bar

HintTriggerHas INSERT button?
Case-sensitive namesError: “relation X does not exist”✅ Yes — rewrites query with quoted table name
TOP vs LIMITQuery contains SELECT TOP N✅ Yes — converts to SELECT ... LIMIT N
Permission errorDB-level “permission denied”❌ No — informational only
Ambiguous columnError: “column X is ambiguous”✅ Yes — adds table alias to query

INSERT INTO EDITOR button: Replaces your current query with a corrected template. One click — no copy-paste needed.


Results panel elements

ElementWhat it doesDetail
Data tableDisplays SELECT resultsNULL=italic, TRUE=green, FALSE=red, numbers=right-aligned
Row countShows result size and durationSELECT: “X rows returned in Y ms” · DML: “X rows changed in Y ms”
Row limit noticeAppears when results are truncated”Results limited to X rows. Use LIMIT for precise control.”
Export button📥 Downloads results as CSVOnly available after successful SELECT. Filename: sqlcor_export_YYYYMMDD_HHMMSS.csv

IndicatorIconWhat it showsUpdates when
Connection status🟢/🔴/🟡Database reachability: Connected / Disconnected / CheckingAfter each query; after Check Connection
LatencyLast query execution time in msAfter each query execution
MemoryMem %Browser JS heap memory usageContinuously
Session timerSessionTime since Terminal was opened (HH:MM:SS)Every second. Resets on refresh/logout.

Dialogs — Terminal page

Destructive Operation confirmation

PropertyValue
TriggerQuery contains DELETE + Dry Run is OFF
PurposeMandatory confirmation before permanent deletion
ShowsWarning message + preview of query
ButtonAction
ConfirmExecutes the DELETE query
CancelCloses dialog. Query NOT executed. Editor unchanged.

Administration page

ItemTab it opens
Access Control (Контроль доступу)Admin Guide
Blacklist (Чорний список)Admin Guide
Execution Logs (Журнал виконання)Admin Guide
System Settings (Системні налаштування)Admin Guide

Active tab: highlighted with colored accent bar on right edge.


Tab: Access Control

Statistics cards

CardShows
Active rulesCount of currently active rules
UsersCount of individual users with access
RolesCount of roles with access

Filter bar

FilterOptions
SearchName or email text search
CategoryReadOnly / DML / DDL
TypeUser / Group (Role)
StatusActive / Revoked

Access rules table columns

ColumnShows
SubjectAvatar + Name + Email
TypeUser or Group
CategoryReadOnly / DML / DDL
StatusActive (green) or Revoked (gray)
Valid UntilDate or ”—” (permanent)
ActionsButtons (context-dependent)

Action buttons per rule

Rule stateAvailable buttons
Active rule🚫 Revoke · 🗑️ Delete
Revoked rule✏️ Edit (with Activate inside) · 🗑️ Delete
ButtonWhat it does
Revoke 🚫Deactivates rule. Status → Revoked. User loses access immediately. Record stays for audit.
Edit ✏️Opens dialog pre-filled. Change dates/level. Has Activate button to re-enable.
Delete 🗑️Permanently removes record from DB. Cannot be undone.

Grant Access dialog fields

FieldTypeRequiredDescription
Subject typeRadio: User / RoleWho the rule applies to
User/RoleDropdown (dynamic)Search by name. Loads based on Subject type.
Access LevelRadio: ReadOnly / DML / DDLWhat operations are permitted
Valid UntilDate pickerEmpty = permanent. Date = auto-expires.
CommentText inputReason for granting. Shown in audit trail.
ButtonAction
SaveCreates rule immediately. Access granted instantly.
CancelCloses dialog. No changes made.

Tab: Blacklist

Statistics cards

CardIconShows
System limits🔒 CubeBuilt-in hardcoded rules (cannot be changed)
Manual rules👤 UserAdmin-created rules
Total📊 LayersAll active entries combined

Blacklist table columns

ColumnShows
IconObject type (table / field / keyword)
NamePattern or value
SourceSystem 🔒 or Manual
TypeTable / Field / Keyword
ReasonDescription shown to users on block
ActionsEdit / Delete (System rules: no buttons)

Add Rule dialog fields

FieldTypeRequiredDescription
Record typeRadio: Table / Field / KeywordWhat kind of pattern to block
ValueText inputThe name to block (e.g. SysUser, Account.SecretKey, DROP)
DescriptionText inputMessage shown to users when their query is blocked
ButtonAction
SaveCreates rule. Active immediately.
CancelCloses dialog. No changes.

Tab: Execution Logs

Filter controls

ControlTypeOptions
SearchTextQuery text, username, status
FromDate pickerStart of time range
ToDate pickerEnd of time range
DayQuick preset buttonLast 24 hours
WeekQuick preset buttonLast 7 days
MonthQuick preset buttonLast 30 days

Log table columns

ColumnShows
TimeTimestamp (local timezone)
UserCreatio username
QueryTruncated query text (~60 chars)
DurationExecution time in ms
RowsRows returned or affected
StatusSuccess 🟢 / Error 🔴 / Syntax ⚠️

Pagination: 50 records per page. Full server-side pagination.

Query Detail popup

Opened by clicking any row in the log table.

ElementShows
MetadataUser · timestamp · duration · row count · status
Error textRed text, if Status = Error
Full queryComplete query with syntax highlighting
Copy buttonCopies full query to clipboard

Tab: System Settings

System Information block (read-only)

FieldShows
Package versionInstalled SQL Cor version
DBMSPostgreSQL or MSSQL
Active rulesCount of active access rules
DB ping latencyRound-trip time to database in ms

Sliders

SliderKeyRangeDefaultEffect
Query TimeoutDnSqlDefaultTimeout5s — 300s30sMax time before query is killed
Log RetentionDnSqlLogRetentionDays0 — 365 days90 daysHow long audit logs are kept
Max RowsDnSqlMaxRowLimit100 — 10,0001,000Max rows per SELECT. Auto-injected as LIMIT.

Changes apply immediately. No Save button needed.

Feature toggles

ToggleEffect when ON
Auto-Abort Heavy QueriesKills queries consuming >1GB RAM

Maintenance Mode

ElementDescription
ToggleLarge ON/OFF switch
IndicatorINACTIVE (gray) or ACTIVE (yellow)
Custom message fieldText shown to users when they try to execute during maintenance
Effect when ACTIVEAll non-SysAdmin users cannot execute queries
SysAdmins affected?No — they can still execute queries
Auto-expires?No — must be turned OFF manually

Service Actions

ButtonWhat it doesToast result
Check ConnectionPings database🟢 “Database connection established (X ms)” or 🔴 “No database connection”
Check Access LevelVerifies current admin roleToast showing current role and access level
Clear LogsBulk-deletes ALL audit log recordsRequires confirmation · 🟢 “Deleted: X records”

Access level comparison

OperationReadOnly (10)DML (20)DDL (30)
SELECT
INSERT
UPDATE
DELETE
CREATE TABLE
ALTER TABLE
DROP TABLE (non-system)
Auto-LIMIT injection
Multi-statement block✅ blocked
Hardcoded blocks❌ always❌ always❌ always
Blacklist rules❌ blocked❌ blocked❌ blocked
DnSql* table protection❌ blocked❌ blocked❌ blocked

Security features summary

FeatureWhere configuredWho can override
Access level checkAccess Control tabAdmin
Blacklist (manual rules)Blacklist tabAdmin
Hardcoded blacklistBackend (DnSqlQueryParser.cs)Nobody
DnSql* table protectionBackendNobody
Multi-statement block (ReadOnly)BackendNobody
LIMIT/TOP auto-injectionBackendNobody
Literal maskingBackendNobody
Destructive operation dialogFrontendUser (can confirm)
Maintenance modeSystem SettingsAdmin
Audit loggingBackendAdmin (Clear Logs only)

Quick navigation

I want to…Go to
Run a queryUser Guide
Export resultsUser Guide
Test a DELETE safelyUser Guide
Grant someone accessAdmin Guide
Block a table or keywordAdmin Guide
Review query historyAdmin Guide
Enable maintenance modeAdmin Guide
Clear all logsAdmin Guide
Find keyboard shortcutsKeyboard Shortcuts
Understand an error messageMessage Reference
Fix a common problemTroubleshooting

SQL Cor — Secure SQL Workbench for Creatio. Free and open source. License: MIT.

Document v1.0 · Applies to SQL Cor v1.0 · Last updated 1 June 2026