mirror of
https://github.com/dbeaver/cloudbeaver.git
synced 2026-03-04 08:52:27 -05:00
PL/SQL blocks that use Oracle's DBMS_OUTPUT.PUT_LINE() function are not returning the contents passed to that function #489
Labels
No labels
AS
can't reproduce
can't reproduce
deployment
development
documentation
duplicate
duplicate
ee
enhancement
external
new driver
performance
third party issue
wait for response
wait for review
wontfix
x:Oracle
x:cassandra
x:clickhouse
x:db2
x:duckdb
x:greenplum
x:h2
x:h2gis
x:hana
x:hive
x:intersystems
x:kyuubi
x:maria
x:mongo
x:mysql
x:postgresql
x:presto
x:sql server
x:sqlite
x:teradata
x:trino
xf:accessibility
xf:administration
xf:authentication
xf:aws
xf:commit-mode
xf:connection
xf:data editor
xf:datatransfer
xf:dba
xf:driver management
xf:erd
xf:filters
xf:i18n
xf:i18n
xf:installer
xf:json
xf:ldap
xf:local config
xf:log viewer
xf:metadata
xf:metadata editor
xf:navigator
xf:okta
xf:query manager
xf:resource manager
xf:scripts
xf:sql editor
xf:tasks
xf:ui/uix
xo: Firefox
xo:eclipse
xo:internet explorer
xo:macos
xp:major
xrn:internal
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/cloudbeaver#489
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @DanHartman on GitHub (Apr 17, 2023).
Describe the bug
PL/SQLblocks that use Oracle'sDBMS_OUTPUT.PUT_LINE()function are not returning the contents passed to that function.Context
Issue 1432: https://github.com/dbeaver/cloudbeaver/issues/1432 was closed and rolled into version
23.0.0. That ticket encompassed the failure to compilePL/SQLblocks specifically connected to an Oracle database. This ticket is a result of testing PL/SQL on the new version. I can observe, that while the code compiles and makes transactions as necessary, I do not see it print any information back to cloudbeaver's GUI that had been passed to theDBMS_OUTPUT.PUT_LINE()functionTo Reproduce
Here is an example that creates a user with minimal provisioning, creates a table, and inserts a row of data in that table.
Steps to reproduce the behavior:
Highlight the above script and press
CTRL+ENTERto executeObserve the results window, it echos the script, but produces no further output

Create the table
Highlight the above script and press
CTRL+ENTERto executeObserve the results window, it echos the script, but produces no further output

Insert a row
Highlight the above script and press
CTRL+ENTERto executeObserve the results window, it echos the script, but produces no further output

Issue
SELECTquery to view that tableObserve that a single row exists

An attempt was made to make these blocks idempotent. If you run the insert block again, you will see that the PL/SQL blocks are correctly identifying that there is already a row, and not inserting more.
Now, here's something interesting
The behavior described above is similar to what would happen if you executed the blocks with
sqlplusAND you did NOT issue the statementIf you execute these blocks in their entirety with
sqlplusyou will see that it acknowledges the statements, compiles, executes, but does not print anything.Returns:
So let's re-run it with the SET statement
You can see the output of each
DBMS_OUTPUT.PUT_LINE()function intermingled with the "success" responsesI would expect that information passed to this function would display in cloudbeaver for analysis and/or debugging purposes
I tried executing the

SETstatement via cloudbeaver, but it returns the following errorDesktop (please complete the following information):
6.2.10-arch1-123.0.0 && 23.0.2