ALTIBASE HDB 6.3.1.10.1 Patch Notes
목차 BUG-45710 문법에맞지않는질의문수행시, 에러메시지에질의문의일부만보여주는문제를수정합니다... 3 BUG-45730 ROUND, TRUNC 함수에서 DATE 포맷 IW 를추가지원합니다... 5 BUG-45760 ROLLUP/CUBE 절을포함하는질의는 SUBQUERY REMOVAL 변환을수행하지않도록수정합니다.... 6 BUG-45763 MERGE 구문에서 CLOB 컬럼 UPDATE 중비정상종료할수있습니다.... 8 BUG-45783 JOB 스케줄러동작중 SERVER KILL 로비정상종료수행시 JOB 동작이멈추는현상이발생합니다... 9 2 / 10
BUG-45710 문법에맞지않는질의문수행시, 에러메시지에질의문의 일부만보여주는문제를수정합니다. Module Category 재현빈도 재현절차 qp Message Error Always CREATE TABLE TEST ( C1 INTEGER, C2 CHAR(100) ); INSERT INTO TEST VALUES ( 2, BBB' ); SELECT * FROM TEST; INSERT INTO TEST VALUES ( ' ); isql> INSERT INTO TEST VALUES ( 2, BBB' ); 2 SELECT * FROM TEST; 3 INSERT INTO TEST VALUES ( ' ); [ERR-31001 : SQL syntax error Reproducing Conditions 수행결과 line 1: parse error INSERT INTO TEST VALUES ( 2, BBB' ); SELECT * FROM TEST; ^ ^ ] isql> INSERT INTO TEST VALUES ( 2, BBB' ); 2 SELECT * FROM TEST; 3 INSERT INTO TEST VALUES ( ' ); [ERR-31001 : SQL syntax error 예상결과 line 1: parse error INSERT INTO TEST VALUES ( 2, BBB' ); SELECT * FROM TEST; INSERT INTO TEST VALUES ( ' ) ^ 3 / 10
^ 증상 변경사항 Workaround 여러라인에걸쳐문법에맞지않는질의문수행시, Syntax 에러가발생한부분의일부만출력되는현상을수정하였습니다. Performance View N/A Property N/A Compile Option N/A Error Code N/A N/A 4 / 10
BUG-45730 ROUND, TRUNC 함수에서 DATE 포맷 IW 를추가지원합니다. Module mt-function Category Enhancement 재현빈도 Always 재현절차 N/A Reproducing Conditions 수행결과 N/A 예상결과 N/A 증상 ROUND, TRUNC 함수에서 DATE 포맷 IW 를추가지원합니다. Performance View N/A 변경사항 Property N/A Compile Option N/A Error Code N/A Workaround N/A 5 / 10
BUG-45760 ROLLUP/CUBE 절을포함하는질의는 SUBQUERY REMOVAL 변환을수행하지않도록수정합니다. Module Category 재현빈도 Reproducing Conditions 재현절차 수행결과 예상결과 qp-select-pvo Fatal Always drop table t1; create table t1 ( c1 int, c2 int ); select c1 from t1 where c1 = (select max(c1) from t1) group by rollup(c1); select c1 from t1 where c1 = (select max(c1) from t1) group by cube(c1); select c1 from t1 where c1 = (select max(c1) from t1) group by grouping sets(c1); by rollup(c1); [ERR-91015 : Communication failure.] by cube(c1); [ERR-91015 : Communication failure.] by grouping sets(c1); [ERR-31395 : GROUPING SETS expression not supported] by rollup(c1); C1 -------------- No rows selected. by cube(c1); C1 -------------- No rows selected. 6 / 10
증상 변경사항 Workaround by grouping sets(c1); [ERR-31395 : GROUPING SETS expression not supported] Subquery Removal 변환수행시 null pointer deference 발생해서서버가비정상종료합니다. Rollup/Cube 절을포함하는질의는 Subquery Removal 변환을수행하지않도록변경합니다. Performance View N/A Property N/A Compile Option N/A Error Code N/A select c1 from t1 where c1 = (select /*+ no_unnest */ max(c1) from t1) group by rollup(c1); select c1 from t1 where c1 = (select /*+ no_unnest */ max(c1) from t1) group by cube(c1); select c1 from t1 where c1 = (select /*+ no_unnest */ max(c1) from t1) group by grouping sets(c1); 7 / 10
BUG-45763 MERGE 구문에서 CLOB 컬럼 UPDATE 중비정상종료할수 있습니다. Module Category 재현빈도 Reproducing Conditions 증상변경사항 Workaround qp-dml-execute Fatal Always DROP TABLE T1; CREATE TABLE T1 ( I1 CLOB ); INSERT INTO T1 VALUES ( '1' ); 재현절차 VAR V1 CLOB; PREPARE MERGE INTO T1 USING DUAL ON ( 1 = 1 ) WHEN MATCHED THEN UPDATE SET I1 = :V1; isql> PREPARE MERGE INTO T1 USING DUAL ON ( 1 = 1 ) WHEN 수행결과 MATCHED THEN UPDATE SET I1 = :V1; [ERR-91015 : Communication failure.] isql> PREPARE MERGE INTO T1 USING DUAL ON ( 1 = 1 ) WHEN MATCHED THEN UPDATE SET I1 = :V1; 예상결과 [ERR-110C4 : LobLocator cannot span the transaction - 2147483648.] Merge 구문에서 CLOB 컬럼을 BINDING 으로 UPDATE 수행시 BINDING 정보를제대로전달하도록수정합니다. Performance View N/A Property N/A Compile Option N/A Error Code N/A N/A 8 / 10
BUG-45783 JOB 스케줄러동작중 SERVER KILL 로비정상종료수행시 JOB 동작이멈추는현상이발생합니다. Module Category 재현빈도 Reproducing Conditions 재현절차 qp-dml-execute Other Always set vertical on; drop table tmp; drop job job1; create table tmp (i1 date); CREATE OR REPLACE PROCEDURE PR_CHECK_ACTIVE_DATES ( ) AS I INTEGER; FDATE DATE; TDATE DATE; BEGIN I:=0; FOR I IN 1.. 60 LOOP UPDATE TMP SET I1 = sysdate; COMMIT; SLEEP(1); PRINTLN('I:' I 'T:' TO_CHAR(SYSDATE,'HH:MI:SS')); END LOOP; END; / create job job1 exec PR_CHECK_ACTIVE_DATES start sysdate interval 1 minute; alter job job1 set start to_date('20180209 122200', 'YYYYMMDD HHMISS'); alter job job1 set enable; select * from system_.sys_jobs_; --Job 수행중 server kill 수행 --server start select * from system_.sys_jobs_; 9 / 10
증상 변경사항 Workaround isql> select * from system_.sys_jobs_; JOB_ID : 107 JOB_NAME : JOB1 EXEC_QUERY : PR_CHECK_ACTIVE_DATES START_TIME : 2018-02-08 17:30:00 END_TIME : INTERVAL : 1 수행결과 INTERVAL_TYPE : MI STATE : 1 LAST_EXEC_TIME : 2018-02-08 17:30:00 <--- 멈추어있음. EXEC_COUNT : 0 ERROR_CODE : IS_ENABLE : T COMMENT : isql> select * from system_.sys_jobs_; JOB_ID : 107 JOB_NAME : JOB1 EXEC_QUERY : PR_CHECK_ACTIVE_DATES START_TIME : 2018-02-08 17:30:00 END_TIME : INTERVAL : 1 예상결과 INTERVAL_TYPE : MI STATE : 0 LAST_EXEC_TIME : 2018-02-08 17:30:00 EXEC_COUNT : 0 ERROR_CODE : 0x01043 IS_ENABLE : T COMMENT : Job 스케줄러동작중 server kill 로비정상종료수행시 job 동작이멈추는현상을수정합니다. Performance View N/A Property N/A Compile Option N/A Error Code N/A N/A 10 / 10