ALTIBASE HDB 6.5.1.5.6 Patch Notes
목차 BUG-45643 암호화컬럼의경우, 이중화환경에서 DDL 수행시 Replication HandShake 가실패하는문제가있어수정하였습니다... 4 BUG-45652 이중화에서 Active Server 와 Standby Server 의 List Partition 테이블의범위조건이다른경우에 Handshake 가성공되는문제가있어, 이를수정하였습니다... 5 BUG-45732 ALTER DATABASE LINKER STOP FORCE 수행으로 altilinker 가종료되어 autocommit 이동작할때, 예외처리에누락이있어수정하였습니다.... 6 BUG-46095 Adapter 에 Propagation 기능이필요합니다... 7 BUG-46113 NCHAR, NVARCHAR 스키마에 SQLSetDescField() 를사용했을때 Segmentation fault 가발생하는문제가있어, 이를수정하였습니다.... 8 BUG-46119 정상적인에러상황에서 altibase_error.log 에에러로그를남기는문제가있어, 이를수정하였습니다... 9 BUG-46123 JDBC 에서 DatabaseMetaData.getTypeInfo() 함수의결과의타입변환시에러발생... 10 BUG-46130 dumptrc 가 powerpc linux 에서정상동작하지않습니다... 12 BUG-46152 Trigger 가정의되어있는 Table 에 Function 을통해 DML 을수행하는경우, 비정상종료할수있는문제가수정되었습니다.. 13 BUG-46154 DBMS_OUTPUT subprogram print_enable/print_disable 지원... 16 BUG-46157 create replication 시 propagation 관련구문을 APRE 와 AEXPORT 에도추가해야합니다... 17 BUG-46184 계층형쿼리에서 order sibling by 절에정상컬럼과무의미한컬럼을함께사용하는경우, 비정상종료되는경우가있어수정하였습니다.... 18 BUG-46190 [dblink] altilinker 가구동중이지않는경우원격서버에 commit 을시도할때, 에러메시지를출력하도록수정하였습니다... 20 2 / 23
BUG-46197 altilinker 가구동중이지않은경우에 disconnect 을수행하면, altilinker 를다시 connect 하는문제가있어수정하였습니다.... 21 BUG-46202 v$event_name 에중복된항목이있습니다.... 22 3 / 23
BUG-45643 암호화컬럼의경우, 이중화환경에서 DDL 수행시 Replication HandShake 가실패하는문제가있어수정하였습니다. 증상변경사항 rp-sender Functional Error 재현절차 수행결과 예상결과 이중화환경에서 DDL 수행시, 암호화컴럼의경우가고려되어있지않아 Replication Handshake 실패하는문제가있습니다. 이에암호화컬럼이있는경우이중화환경에서 DDL 수행시, 암호화컬럼에대한메타정보를올바르게재구축하여 Replication HandShake 가실패하지않도록수정하였습니다. 4 / 23
BUG-45652 이중화에서 Active Server 와 Standby Server 의 List Partition 테이블의범위조건이다른경우에 Handshake 가성공되는 문제가있어, 이를수정하였습니다. 증상변경사항 rp-receiver Functional Error 재현절차 수행결과 예상결과 이중화에서 Active Server 와 Standby Server 의 List Partition 테이블의범위가포함관계에있는경우, 두 partition 의범위가달라도 HandShake 가성공하는문제가있습니다. 이에, List Partition 테이블의경우 Active Server 와 Standby Server 의범위가같은경우에만 HandShake 가성공하도록수정하였습니다. 5 / 23
BUG-45732 ALTER DATABASE LINKER STOP FORCE 수행으로 altilinker 가 종료되어 autocommit 이동작할때, 예외처리에누락이있어 수정하였습니다. 증상변경사항 dblink Testcase Fail 재현절차 수행결과 예상결과 ALTER DATABASE LINKER STOP FORCE 수행으로 altilinker 가종료되어 autocommit 이동작할때, [ERR-C1057 : [FAILURE] Altilinker process disconnected] 가발생하도록수정하였습니다. 6 / 23
BUG-46095 Adapter 에 Propagation 기능이필요합니다. 증상변경사항 rp-ala Other 재현절차 수행결과 예상결과 CREATE REPLICATION 시이중화수신자가전송받은로그를복제하기위해 FOR PROPAGABLE LOGGING 을사용하여로그를기록한후, 복제된로그가 Adapter 를통해다른원격서버로전송하기위해 FOR ANALYSIS PROPAGATION 을사용할수있습니다. 7 / 23
BUG-46113 NCHAR, NVARCHAR 스키마에 SQLSetDescField() 를사용했을 때 Segmentation fault 가발생하는문제가있어, 이를 수정하였습니다. 증상변경사항 mm-cli Fatal 재현절차 수행결과 예상결과 NCHAR, NVARCHAR 스키마에 SQLSetDescField() 를사용했을때 Segmentation fault 가발생하는문제가있어, 이를수정하였습니다. 8 / 23
BUG-46119 정상적인에러상황에서 altibase_error.log 에에러로그를 남기는문제가있어, 이를수정하였습니다. 증상변경사항 sm Message Error 재현절차 수행결과 예상결과 6.5.1.5.4 및 6.5.1.5.5 패치이후, mt 타입이맞지않거나내부적으로예외처리상황 ( 정상적인에러메시지 ) 에서도에러로그가 altibase_error.log 에기록되는문제가있어서, 이를수정하였습니다. 9 / 23
BUG-46123 JDBC 에서 DatabaseMetaData.getTypeInfo() 함수의결과의 타입변환시에러발생 mm-jdbc Functional Error DatabaseMetaData metadata = connection.getmetadata(); srs = metadata.gettypeinfo(); /* Fetch all data */ while( srs.next() ) 재현절차 { System.out.println( " name="+srs.getstring(1) +", auto_increment: " + srs.getboolean(12) ); System.out.println(); } ERROR MESSAGE : Data conversion failure: Cannot convert the value to the SQL boolean data type. java.sql.sqlexception: Data conversion failure: Cannot convert the 수행결과 value to the SQL boolean data type. at Altibase.jdbc.driver.ex.Error.throwSQLExceptionInternal(Error.java:171) at Altibase.jdbc.driver.ex.Error.throwSQLException(Error.java:151) name=varbit, auto_increment: false name=nchar, auto_increment: false name=nvarchar, auto_increment: false name=bit, auto_increment: false 예상결과 name=bigint, auto_increment: false name=binary, auto_increment: false name=char, auto_increment: false name=numeric, auto_increment: false name=integer, auto_increment: false JDBC 에서 DatabaseMetaData 의 gettypeinfo() 의결과값이제대로증상나오지않던문제를수정하였습니다. 변경사항 Performance 10 / 23
View 11 / 23
BUG-46130 dumptrc 가 powerpc linux 에서정상동작하지않습니다. 증상변경사항 dm Functional Error 재현절차 수행결과 예상결과 Power Linux 에서 dumptrc 가제대로동작하지않는경우가있어, 수정하였습니다. 12 / 23
BUG-46152 Trigger 가정의되어있는 Table 에 Function 을통해 DML 을 수행하는경우, 비정상종료할수있는문제가수정되었습니다. 재현절차 qp-psm-trigger-execute Fatal drop table t1; drop table t2; drop package pkg1; create table t1 ( c1 int ); create table t2 ( c1 int ); create or replace trigger trig1 after insert on t1 for each row as begin if false then null; else insert into t2 values ( 1 ); insert into t2 values ( 1 ); insert into t2 values ( 1 ); end if; end; / create or replace package pkg1 as function func1 return integer; end; / create or replace package body pkg1 as function func1 return integer as 13 / 23
증상 변경사항 a integer; begin select 1 into a from dual; return 1; end; end; / insert into t1 select pkg1.func1 from dual; isql> insert into t1 select pkg1.func1 from dual; 수행결과 [ERR-91015 : Communication failure.] isql> insert into t1 select pkg1.func1 from dual; 예상결과 1 row inserted. Trigger 가정의되어있는 Table 에 Function 을통해 DML 을수행하는경우, 내부적으로 statement 를재사용하려고시도하는문제가있습니다. Trigger 의경우, SQL statement 를재사용하지않도록설계되었는데, 이경우재사용을시도하려고하여비정상종료가발생합니다. 회피방안으로는 Trigger 내부에정의한 DML SQL 구문을 execute immediate 구문을통하여수행하도록수정하면정상동작합니다. create or replace trigger trig1 AFTER insert on t1 for each row as begin if false then null; else execute immediate 'insert into t2 values ( 1 )'; execute immediate 'insert into t2 values ( 2 )'; execute immediate 'insert into t2 values ( 3 )'; end if; 14 / 23
end; / 15 / 23
BUG-46154 DBMS_OUTPUT subprogram print_enable/print_disable 지원 증상변경사항 qx Functionality 재현절차 수행결과 예상결과 DBMS_OUTPUT subprogram print_enable/print_disable 지원 16 / 23
BUG-46157 create replication 시 propagation 관련구문을 APRE 와 AEXPORT 에도추가해야합니다. 증상변경사항 rp Other 재현절차 수행결과 예상결과 APRE 와 AEXPORT 에 create replication 시 propagation 관련구문을추가해주었습니다. 17 / 23
BUG-46184 계층형쿼리에서 order sibling by 절에정상컬럼과무의미한 컬럼을함께사용하는경우, 비정상종료되는경우가있어 수정하였습니다. 재현절차 수행결과 예상결과 qp-dml-execute Fatal drop table t1; create table t1 ( i1 integer, i2 integer, i3 varchar(10), i4 varchar(10)); drop table t2; create table t2( i1 varchar(10), i2 varchar(10)); insert into t1 values ( 1,1, 'AAA', 'AAA'); insert into t1 values ( 2,2, 'AAA', 'AAA'); insert into t1 values ( 3,3, 'AAA', 'AAA'); select (SELECT i1 FROM t2 WHERE i2 = a.i3) AS AA from ( select i1, i2, i3, i4 from t1 ) a connect by a.i2 = prior a.i1 order siblings by i4, AA; isql> select 2 (SELECT i1 FROM t2 WHERE i2 = a.i3) AS AA 3 from 4 ( 5 select i1, i2, i3, i4 from t1 6 ) a 7 connect by a.i2 = prior a.i1 8 order siblings by i4, AA; [ERR-91015 : Communication failure.] isql> select 2 (SELECT i1 FROM t2 WHERE i2 = a.i3) AS AA 18 / 23
증상 변경사항 3 from 4 ( 5 select i1, i2, i3, i4 from t1 6 ) a 7 connect by a.i2 = prior a.i1 8 order siblings by i4, AA; [ERR-311A4 : Loop in hierarchical query detected.] 계층형쿼리에서 order sibling by 절에정상컬럼과무의미한컬럼을함께사용하는경우, 비정상종료되는문제가있어수정하였습니다. 무의미한컬럼이뒤쪽에오는경우에만재현되며, 회피방안으로는 order sibling by 절의컬럼순서를바꾸거나, 무의미한컬럼을제거하는경우정상적으로동작합니다. select (SELECT i1 FROM t2 WHERE i2 = a.i3) AS AA from ( select i1, i2, i3, i4 from t1 ) a connect by a.i2 = prior a.i1 order siblings by AA, i4; 19 / 23
BUG-46190 [dblink] altilinker 가구동중이지않는경우원격서버에 commit 을시도할때, 에러메시지를출력하도록수정하였습니다. 증상변경사항 dblink Functional Error INSERT INTO T1 VALUES ( 100 );.. EXEC REMOTE_EXECUTE_IMMEDIATE('link1', 'INSERT INTO t1 재현절차 VALUES (100)'); ALTER DATABASE LINKER STOP FORCE; COMMIT; 수행결과 commit 성공예상결과 commit 실패 altilinker 가구동중이지않는상태에원격서버에 commit 을시도하는경우, 실제해당 DML 은반영되지않았음에도불구하고 commit 이성공한것으로나오는문제가있습니다. 이에 altilinker 가구동중이지않는경우원격서버에 commit 을시도할때, 에러를발생하도록예외처리하였습니다. altilinker 상태를확인후 commit. 20 / 23
BUG-46197 altilinker 가구동중이지않은경우에 disconnect 을수행하면, altilinker 를다시 connect 하는문제가있어수정하였습니다. 증상변경사항 dblink Functional Error 재현절차 수행결과 예상결과 altilinker 가구동중이지않은경우에 disconnect 을수행하면, altiliner 와세션을정리하기위해 altilinker 가다시 connect 를시도합니다. 이로인해세션종료가늦게처리되는문제가있어, altilinker 가종료상태이면 connect 을시도하지않도록수정하였습니다. 21 / 23
BUG-46202 v$event_name 에중복된항목이있습니다. 재현절차 수행결과 sm Message Error set vertical on; select * from v$event_name where name in('latch free: drdb secondary bcb mutex'); isql> select * from v$event_name where name in('latch free: drdb secondary bcb mutex'); EVENT_ID : 32 NAME : latch free: drdb secondary bcb mutex WAIT_CLASS_ID : 3 WAIT_CLASS : Concurrency EVENT_ID : 33 NAME : latch free: drdb secondary bcb mutex WAIT_CLASS_ID : 3 WAIT_CLASS : Concurrency 예상결과 2 rows selected. isql> select * from v$event_name where name in('latch free: drdb secondary bcb mutex'); EVENT_ID : 32 NAME : latch free: drdb secondary bcb mutex WAIT_CLASS_ID : 3 WAIT_CLASS : Concurrency 1 row selected. 증상 v$event_name 에중복된항목이있어, 수정하였습니다. 변경사항 Performance View Compile 22 / 23
Option 23 / 23