dbx/agents/drivers/oracle-go
Yy-702 e749bdd42c
feat(oracle): Ctrl/Cmd+click 打开存储过程源码
* feat(oracle): open procedure source via Ctrl/Cmd+click in SQL editor

Allow navigating from SQL identifiers to routine source like DataGrip/DBeaver.
Call sites open immediately without a global ALL_OBJECTS scan, and query-tab
views wrap bare Oracle ALL_SOURCE as CREATE OR REPLACE for editable DDL.

Close #5290

* fix(oracle): harden Ctrl/Cmd+click navigation identity model

Address review feedback on routine navigation correctness:
- Distinguish relation column lists (INSERT INTO t(...)) from routine calls
- Resolve schema.routine vs package.member before optimistic open
- Preserve quoted mixed-case identities for Oracle ALL_SOURCE lookup
- Try exact then uppercase name candidates in the Oracle Go agent
2026-08-05 23:57:50 +08:00
..
.gitignore feat(agents): move agents into dbx repo 2026-06-23 11:38:16 +08:00
README.md feat(agents): move agents into dbx repo 2026-06-23 11:38:16 +08:00
go.mod fix(oracle): add GB18030 charset fallback 2026-07-07 17:54:52 +08:00
go.sum fix(oracle): add GB18030 charset fallback 2026-07-07 17:54:52 +08:00
main.go feat(oracle): Ctrl/Cmd+click 打开存储过程源码 2026-08-05 23:57:50 +08:00
main_test.go feat(oracle): Ctrl/Cmd+click 打开存储过程源码 2026-08-05 23:57:50 +08:00
tns.go feat(oracle): add TNS connections and trigger editing 2026-07-23 23:03:45 +08:00
tns_test.go feat(oracle): add TNS connections and trigger editing 2026-07-23 23:03:45 +08:00

README.md

DBX Oracle Go Agent

Experimental native Oracle agent for DBX using github.com/sijms/go-ora/v2.

Build

go build -o agent .

Cross-compile release builds use pure Go output:

CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -trimpath -ldflags="-s -w" -o dbx-agent-oracle-linux-x64 .
CGO_ENABLED=0 GOOS=darwin GOARCH=arm64 go build -trimpath -ldflags="-s -w" -o dbx-agent-oracle-macos-aarch64 .
CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build -trimpath -ldflags="-s -w" -o dbx-agent-oracle-windows-x64.exe .

Local DBX Test

Build the binary, then copy it into DBX's installed Oracle driver directory:

mkdir -p ~/.dbx/agents/drivers/oracle
cp agent ~/.dbx/agents/drivers/oracle/agent
chmod +x ~/.dbx/agents/drivers/oracle/agent

DBX prefers agent over agent.jar, so Oracle connections will use this Go agent until the file is removed.

To restore the Java agent:

rm ~/.dbx/agents/drivers/oracle/agent