You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Describe the bug
If ref cursor has BINARY_DOUBLE or BINARY_FLOAT columns, cursor comparison fails with ORA-00907.
Provide version info
Information about utPLSQL and Database version,
SQL>set serveroutput on
SQL> declare
2 l_version varchar2(255);
3 l_compatibility varchar2(255);
4begin5dbms_utility.db_version( l_version, l_compatibility );
6dbms_output.put_line( l_version );
7dbms_output.put_line( l_compatibility );
8 end;
9/12.2.0.1.012.2.0
PL/SQL procedure successfully completed
SQL>select substr(ut.version(),1,60) as ut_version from dual;
UT_VERSION
------------------------------------------------------------v3.1.6.2729
SQL>select*from v$version;
BANNER CON_ID
-------------------------------------------------------------------------------- ----------
Oracle Database 12c Standard Edition Release 12.2.0.1.0- 64bit Production 0
PL/SQL Release 12.2.0.1.0- Production 0
CORE 12.2.0.1.0 Production 0
TNS for Linux: Version 12.2.0.1.0- Production 0
NLSRTL Version 12.2.0.1.0- Production 0
SQL>select*from nls_session_parameters;
PARAMETER VALUE
------------------------------ ----------------------------------------------------------------
NLS_LANGUAGE AMERICAN
NLS_TERRITORY AMERICA
NLS_CURRENCY $
NLS_ISO_CURRENCY AMERICA
NLS_NUMERIC_CHARACTERS .,
NLS_CALENDAR GREGORIAN
NLS_DATE_FORMAT DD-MON-RR
NLS_DATE_LANGUAGE AMERICAN
NLS_SORT BINARY
NLS_TIME_FORMAT HH.MI.SSXFF AM
NLS_TIMESTAMP_FORMAT DD-MON-RR HH.MI.SSXFF AM
NLS_TIME_TZ_FORMAT HH.MI.SSXFF AM TZR
NLS_TIMESTAMP_TZ_FORMAT DD-MON-RR HH.MI.SSXFF AM TZR
NLS_DUAL_CURRENCY $
NLS_COMP BINARY
NLS_LENGTH_SEMANTICS BYTE
NLS_NCHAR_CONV_EXCP FALSE
17 rows selected
SQL>select substr(dbms_utility.port_string,1,60) as port_string from dual;
PORT_STRING
------------------------------------------------------------
x86_64/Linux 2.4.xx
Information about client software
Executed using ut.run('UT_TEST'); from PLSQL Developer.
To Reproduce
begin
ut.run('UT_TEST');
end;
/
test utplsql
Gives success for identical data with floats [.016 sec] (FAILED - 1)
Failures:
1) success_on_same_data_float
ORA-00907: missing right parenthesis
ORA-06512: at "UT3.UT_DATA_VALUE_REFCURSOR", line 318
ORA-06512: at "UT3.UT_COMPOUND_DATA_HELPER", line 596
ORA-06512: at "UT3.UT_DATA_VALUE_REFCURSOR", line 309
ORA-06512: at "UT3.UT_DATA_VALUE_REFCURSOR", line 366
ORA-06512: at "UT3.UT_EQUAL", line 225
ORA-06512: at "UT3.UT_EXPECTATION", line 26
ORA-06512: at "UT3.UT_EXPECTATION", line 138
ORA-06512: at "TDS2.UT_TEST", line 17
ORA-06512: at "UT3.UT_DATA_VALUE_REFCURSOR", line 318
ORA-06512: at "UT3.UT_COMPOUND_DATA_HELPER", line 596
ORA-06512: at "UT3.UT_DATA_VALUE_REFCURSOR", line 309
ORA-06512: at "UT3.UT_DATA_VALUE_REFCURSOR", line 366
ORA-06512: at "UT3.UT_EQUAL", line 225
ORA-06512: at "UT3.UT_EXPECTATION", line 26
ORA-06512: at "UT3.UT_EXPECTATION", line 138
ORA-06512: at "TDS2.UT_TEST", line 17
ORA-06512: at line 6
Finished in .020824 seconds
1 tests, 0 failed, 1 errored, 0 disabled, 0 warning(s)
Expected behavior
Test should succeed.
Example code
Content of UT_TEST.pks:
create or replace package ut_test is
--%suite(test for utplsql float)
--%test(Gives success for identical data with floats)
procedure success_on_same_data_float;
end ut_test;
Content of UT_TEST.pkb:
create or replace package body ut_test is
procedure success_on_same_data_float
as
l_expected sys_refcursor;
l_actual sys_refcursor;
begin
open l_expected for
select cast(3.14 as binary_double) as pi_double,
cast(3.14 as binary_float) as pi_float
from dual;
open l_actual for
select cast(3.14 as binary_double) as pi_double,
cast(3.14 as binary_float) as pi_float
from dual;
--Act
ut3.ut.expect( l_actual ).to_equal( l_expected );
end;
end ut_test;
The text was updated successfully, but these errors were encountered:
Describe the bug
If ref cursor has BINARY_DOUBLE or BINARY_FLOAT columns, cursor comparison fails with ORA-00907.
Provide version info
Information about utPLSQL and Database version,
Information about client software
Executed using
ut.run('UT_TEST');
from PLSQL Developer.To Reproduce
Expected behavior
Test should succeed.
Example code
Content of UT_TEST.pks:
Content of UT_TEST.pkb:
The text was updated successfully, but these errors were encountered: