10.1 릴리즈 노트¶
Contents
- 10.1 릴리즈 노트
- 릴리즈 노트 정보
- 릴리즈 개요
- 10.1 변경사항
- 주의사항
- 신규 주의 사항
- 기존 주의 사항
- DB를 생성할 때 로케일(언어 및 문자 집합)을 지정
- CUBRID_CHARSET 환경 변수 제거
- [JDBC] 연결 URL의 zeroDateTimeBehavior 값이 “round”일 때 TIMESTAMP의 zero date가 ‘0001-01-01 00:00:00’에서 ‘1970-01-01 00:00:00’(GST)으로 변경 (CUBRIDSUS-11612)
- AIX에서 CUBRID SH 패키지 설치 시 권장 사항 (CUBRIDSUS-12251)
- CUBRID_LANG 제거, CUBRID_MSG_LANG 추가
- CCI 응용 프로그램에서 여러 개의 질의를 한 번에 수행한 결과의 배열에 대한 오류 처리 방식 수정 (CUBRIDSUS-9364)
- java.sql.XAConnection 인터페이스에서 HOLD_CURSORS_OVER_COMMIT을 지원하지 않음 (CUBRIDSUS-10800)
- 9.0부터 STRCMP가 대소문자를 구분하여 동작
- 2008 R4.1 버전부터 CCI_DEFAULT_AUTOCOMMIT의 기본값이 ON으로 변경됨 (CUBRIDSUS-5879)
- 2008 R4.0 버전부터 페이지 단위를 사용하는 옵션 및 파라미터가 볼륨 크기 단위를 사용하도록 변경됨 (CUBRIDSUS-5136)
- 2008 R4.0 베타 이전 버전 사용자는 db 볼륨 크기를 설정할 때 주의할 것 (CUBRIDSUS-4222)
- 2008 R4.0 이전 버전의 일부 시스템 파라미터의 기본값 변경 (CUBRIDSUS-4095)
- 시스템 파라미터가 잘못 설정된 경우 데이터베이스 서비스, 유틸리티 및 응용 프로그램을 수행할 수 없도록 변경됨 (CUBRIDSUS-5375)
- CUBRID 32비트 버전에서 2G를 초과하는 값을 사용하여 data_buffer_size를 설정할 경우 데이터베이스 구동에 실패함 (CUBRIDSUS-5349)
- Windows Vista 및 그 이후 버전에서 CUBRID 유틸리티를 사용한 서비스 제어 시 권장 사항 (CUBRIDSUS-4186)
- CUBRID 소스 빌드 후 수행 시, 매니저 서버 프로세스 관련 오류 발생 (CUBRIDSUS-3553)
- 2008 r3.0 또는 그 이전 버전에서 사용하던 GLO 클래스 지원 중단 (CUBRIDSUS-3826)
- 마스터와 서버 프로세스 사이의 프로토콜이 변경된 경우 또는 두 버전이 동시에 실행되는 경우 포트 설정 필요 (CUBRIDSUS-3564)
- JDBC에서 URL 문자열로서 연결 정보를 입력할 때 물음표 명시 (CUBRIDSUS-3217)
- 데이터베이스명에 @을 포함할 수 없음 (CUBRIDSUS-2828)
릴리즈 노트 정보¶
본 문서는 CUBRID 10.1(빌드 번호: 10.1.0.7663-1ca0ab8)에 관한 정보를 포함한다.
CUBRID 10.1은 CUBRID 10.0에서 발견된 오류 수정 및 기능 개선과 이전 버전들에 반영된 모든 오류 수정 및 기능 개선을 포함한다.
CUBRID 10.0에 대한 정보는 http://www.cubrid.org/manual/en/10.0/release_note/index.html 에서 확인할 수 있다.
CUBRID 9.3 또는 그 이전 버전에 대한 정보는 http://www.cubrid.org/documentation/manuals/other-versions 에서 확인할 수 있다.
릴리즈 개요¶
CUBRID 10.1은 CUBRID 10.0의 중요 업그레이드이며 안정적인 버전이다.
CUBRID 10.1은
- 대폭 향상된 버전이다.
- 보다 안정적이고, 빠르고, 확장성이 높다.
- 수많은 중요 버그가 수정되었다.
- 유용한 SQL 확장: CTE(Common Table Expressions) 및 기타 요소를 포함한다.
- 대규모 코드 재작성을 포함한다.
CUBRID 10.1은 더 빨라졌다. 이 버전은 CUBRID 9.3 이후 TPC-C 벤치마크의 최적 작업량이 거의 2배로 증가했다. 여기에 추가로, sysbench(157%: 10.0, 128%: 9.3), YCSB 작업량 A(126%: 10.0, 163%: 9.3), YCSB 작업량 B(119%: 10.0, 147%: 9.3) 및 TPC-W(126%: 10.0, 370%: 9.3)에 이르는 개선된 결과를 얻었다. 또한 CUBRID 10.1은 복제 성능을 대폭 개선했다.
CUBRID 10.1은 전체 저장소 엔진을 재작성하여 더욱 강력 해졌다. 그 결과, 대용량 데이터베이스 로딩이 3배 더 빨라졌으며 대용량 데이터베이스에 대한 다른 기본 작업은 이전 버전과 비교할 수 없을 만큼 빨라졌다.
또한 CUBRID 10.1은 사용자들이 요청했던 CTE(Common Table Expressions) 기능이 추가되어 더욱 개선 되었다. 그리하여 개발자들이 재귀적 질의를 포함한 복잡한 질의를 더 간편하고 명확하게 작성할 수 있게 되었다.
CUBRID 10.1은 또한 더욱 안정적 이다. CUBRID 10.0 이후 5000+개, CUBRID 10.1에서는 1000+개 이상의 이슈들이 수정되었는데, 이는 모든 CUBRID 9.x 버전에서 수정된 전체 이슈 수보다 많다.
CUBRID 10.0의 모든 사용자는 CUBRID 10.1로 업그레이드해야 하며 CUBRID 9.x 및 그 이전 버전 사용자도 CUBRID 10.1로 업그레이드하는 것을 권장한다. CUBRID 10.1의 데이터베이스 볼륨은 CUBRID 10.0 및 그 이전 버전의 볼륨과 호환되지 않는다. 따라서, CUBRID 10.0 또는 이전 버전을 사용하는 경우 반드시 데이터베이스를 마이그레이션 해야 한다. 이와 관련하여 업그레이드 절을 참고한다.
드라이버 호환성¶
- CUBRID 10.1의 JDBC 및 CCI 드라이버는 CUBRID 10.0, 9.3, 9.2, 9.1, 2008 R4.4, R4.3 또는 R4.1의 DB 서버와 호환된다.
- 드라이버 업그레이드를 권장한다.
또한 TIMEZONE 데이터 타입과 같은 새로운 기능은 10.0 및 그 이후 드라이버에서만 지원되므로, CUBRID 10.1 사용자는 드라이버를 업그레이드할 것을 강력히 권고한다.
변경 사항에 대한 자세한 내용은 10.1 변경사항 절을 참고한다. 이전 버전의 사용자는 10.1 변경사항 및 신규 주의 사항 절을 확인해야 한다.
10.1 변경사항¶
개선사항¶
- [758] [CBRD-21440] unreserve “open” and “close” to allow them as identifiers
- [684] [CBRD-20399] Extension of DEFAULT Clause in create statements
- [680] [CBRD-20567] limit clause allows simple expressions
- [606] [CBRD-21142] Fix build on windows VS2015 and newer
- [575] [CBRD-20758] Update the latest timezone database from IANA
- [549] [CBRD-20811] Introduce session system parameter for maximum iterations in recursive CTE
- [509] [CBRD-20644] fix spacedb after file/disk redesign
- [485] [CBRD-20926] change default error_log_level as ER_NOTIFICATION_SEVERITY
- [484] [CBRD-20924] change log_buffer_size of default cubrid.conf
- [478] [CBRD-20913] make the libcubrid depends on curses library explicitly
- [465] [CBRD-20892] Handle recursive CTE with self references in the first part of the union
- [426] [CBRD-20760] introduce macros for cubrid.conf file
- [425] [CBRD-20787] Common table expressions
- [420] [CBRD-20774] enhance applylogdb performance
- [408] [CBRD-20416] enable xasl clone
- [404] [CBRD-20759] hide csql & utility password from display of ps command
- [398] [CBRD-20055] updating incompatible timezone data to upgrade timezone library
- [371] [CBRD-20702] improve file extensible data merge
- [370] [CBRD-20691] Revise Lock Manager for MVCC
- [369] [CBRD-20659] change default password encryption algorithm as SHA2
- [365] [CBRD-20703] file numerable find nth: cache last search location
- [295] [CBRD-20511] Add code to detect leaked page fixes with ordered fix
- [289] [CBRD-20379] New cleanup criteria for XASL cache
- [286] [CBRD-20448] Added a new case for enable_string_compression
- [285] [CBRD-20560] Optimizes heap vacuum by skipping unpack for unmodified fields
- [284] [CBRD-20558] Optimizes heap updating by skipping pack, unpack when possible
- [281] [CBRD-20555] Optimizes heap insertion by skipping pack, unpack for unmodified fields
- [280] [CBRD-20448] New system parameter use_compression
- [279] [CBRD-20554] Optimizes heap deletion by skipping pack, unpack for unmodified fields
- [270] [CBRD-20447] Implement a function that returns the size of a value on disk
- [266] [CBRD-20538] Inline perfmon_is_perf_tracking and perfmon_is_perf_tracking_and_active and remove some useless variables and assignments
- [246] [CBRD-20497] Performance enhance for string compression
- [225] [CBRD-20486] add diagdb options: redirect output to file, emergency restart
- [223] [CBRD-20483] Added logging for log page buffer and changed flush_all_append_pages
- [220] [CBRD-20482] add Num_log_page_replacements statistics and clarify the meaning of Num_log_page_iowrites_for_replacement
- [208] [CBRD-20462] remove REPAIR option for Windows ARP
- [207] [CBRD-20418] Disable log compression for log records with size less than 255 bytes
- [206] [CBRD-20451] add unit test for freelist w/o transaction mode
- [198] [CBRD-20430] Optimizing compressions
- [197] [CBRD-20185] File manager redesign
- [190] [CBRD-20074] page quota implementation
- [184] [CBRD-20340] Redesign the log page buffer.
- [176] [CBRD-20145] Performance statistics refactoring and improvement
- [174] [CBRD-20415] misc fixes for performance
- [168] [CBRD-20407] replaces CSECT_CONN_ACTIVE and CSECT_CONN_FREE with CSS_RWLOCK_ACTIVE_CONN_ANCHOR and CSS_RWLOCK_FREE_ANCHOR for each
- [165] [CBRD-20391] Reduce delays caused by connection handler thread
- [164] [CBRD-20350] fix to elevate UACExecutionLevel for some cubrid utilities es on Windows build
- [160] [CBRD-20158] String compression
- [128] [CBRD-20342] support msi installer for Windows build
- [125] [CBRD-20149] XASL cache redesign
- [119] [CBRD-20324] Do not use Log CS when accessing snapshot
- [117] [CBRD-20303] Do prepare insert with XASL fixed for special inserts
- [109] [CBRD-20155] remove modified postfix of hash tag in version string
- [106] [CBRD-20155] turn off global optimization flag for csql_grammar.c on Windows build
- [102] [CBRD-20155] add packaging feature for CMake and remove files of old build tool
- [101] [CBRD-20310] Fix portability issues
- [87] [CBRD-20289] Move vacuum_notify_server_shutdown before calling thread_stop_vacuum_daemons
- [85] [CBRD-20155] fix build error with some environment for CMake
- [83] [CBRD-20252] Change lock-free circular queue states.
- [82] [CBRD-20252] add unit test for latch free circular queue
- [79] [CBRD-20155] introduce a new version info management way for CMake
- [57] [CBRD-20155] support CMake 2.8 for windows build
- [53] [CBRD-20155] support CMake for linux and windows build
- [36] [CBRD-20212] Unlock object after serialization error.
- [32] [CBRD-20200] Disable “in-place” update on catalog entries.
- [19] [CBRD-20166] replace CSECT_LOG_PB with a SYNC_RMUTEX
- [18] [CBRD-20165] introduce light weight reentrant mutex
- [16] [CBRD-20161] Refactor Query Manager
- [15] [CBRD-20091] [MVCC] Optimize update same key
- [10] [CBRD-20143] Vacuum data storage is redesigned as page-based.
- [9] [CBRD-20156] introduce light weight rwlock
- [5] [CBRD-20037] Write the timezone checksum in all the available databases on disk
수정사항¶
- [787] [CBRD-21488] fix deadlock: don’t latch page after locking class repr
- [785] [CBRD-21484] uses IX_LOCK checking index files to skip immature indexes
- [784] [CBRD-21483] disk_rv_undo_format reset volume purpose
- [783] [CBRD-21482] don’t interrupt btree_verify_node
- [782] [CBRD-21479] Fix collation of max_string special value
- [781] [CBRD-21477] fix disk format rollback (not recovery)
- [780] [CBRD-21467] removed incorrect assertion: heap_upgdate_bigone
- [779] [CBRD-21470] fixed to hold directory lock until the end of system operation
- [778] [CBRD-20146] fixes bad comparisons
- [776] [CBRD-21455] isolate file_header_sanity_check not to propagate error from/to the caller
- [775] [CBRD-21451] fixes to commit sysop of extending existing volume
- [774] [CBRD-21450] fixes memory leak: lob_info_list of update/delete
- [773] [CBRD-21453] fixed assert when free wait queue entry
- [772] [CBRD-20146] error to connect master was not handled
- [764] [CBRD-21443] fix script of sh package to create env files correctly
- [762] [CBRD-21441] fixed safe guard of btree_key_record_check_no_visible to expect an error
- [761] [CBRD-21442] no need to check dropped file to reuse heap for SA_MODE
- [760] [CBRD-21428] don’t reuse heaps considered dropped by vacuum
- [759] [CBRD-21439] fix script of sh package for dash shell
- [757] [CBRD-21438] error from heap_scancache_start_internal was ignored
- [756] [CBRD-21436] fixes memory leak of db_date_add_sub_interval_expr: zero date leaked trimed_expr
- [755] [CBRD-21430] fixes bad assertion of slocator_force to consider communication error
- [754] [CBRD-21427] Fix timezone session value during recovery
- [753] [CBRD-21426] clear errors during file_header_sanity_check
- [752] [CBRD-21431] Fix prepared statements on multi-column indexes with like clause
- [751] [CBRD-21425] handling interrupt when find split point
- [750] [CBRD-21415] fix recovery for file_tracker_unregister crash
- [749] [CBRD-21414] corrects error handling of checking dropped file to create a new file
- [748] [CBRD-21416] corrects error handling of catalog_update to remove the current repr
- [747] [CBRD-21412] xbtree_load_index: fix for null btid
- [746] [CBRD-21406] deletes a bad assertion: locator_update_force
- [745] [CBRD-21408] fixes memory leak: xbtree_load_index
- [744] [CBRD-21410] fix memory leak of xcache_check_recompilation_threshold
- [743] [CBRD-21405] fix session state handling
- [742] [CBRD-21402] xcache_check_reompilation_threshold: fix race
- [741] [CBRD-21401] heap_classrepr_get: fix deadlock
- [740] [CBRD-21008] Fix string compression flag parameter
- [738] [CBRD-21369] {create,alter,drop,grant,revoke} user missed savepoint
- [737] [CBRD-21378] vacuum_process_log_block: clear lob not found error
- [736] [CBRD-21375] client may suffer from closed socket while closing connection
- [735] [CBRD-21376] fixed hash function for OID->HFID mapping
- [734] [CBRD-21370] fixes bad messages
- [733] [CBRD-21371] btree_set_error: clear error if index name could not be obtained
- [732] [CBRD-21365] btree_check_by_btid: avoid safe-guard on recently loaded index
- [731] [CBRD-21367] fileio_find_next_perm_volume: lock disk extensions
- [730] [CBRD-21366] pgbuf_initialize: fix lru ratios safe-guard
- [729] [CBRD-21364] reset header_size to retry to receive from server
- [728] [CBRD-20146] fixes slip of css_return_queued_request
- [727] [CBRD-21362] fixes double free of heap_classrepr_free
- [725] [CBRD-20146] fixes potential memory leak of DB_VALUE
- [724] [CBRD-21361] heap_is_object_non_null push and pop error not to deliver any error to caller
- [722] [CBRD-21356] clear db_value content if is allocated during qexec_end_one_iteration when build indexes
- [721] [CBRD-21357] copying OID rather than retrieving reference
- [720] [CBRD-21352] log_final: reset log_GL.rcv_phase
- [718] [CBRD-21353] btree_range_scan_resume: expect not found from empty pages
- [717] [CBRD-21335] Message translation it_IT.
- [716] [CBRD-21334] Translation of fr_FR messages.
- [715] [CBRD-21340] translate zh_CN messages
- [714] [CBRD-21337] translate ko_KR messages
- [713] [CBRD-21340] translate zh_CN messages
- [711] [CBRD-21333] Message translation for es_ES
- [710] [CBRD-21221] remove spacedb obsolete messages
- [709] [CBRD-21339] translate tr_Tr messages
- [708] [CBRD-21332] Translate messages to german lang.
- [707] [CBRD-21338] translate ro_RO messages
- [706] [CBRD-21349] forget the previous coercion error to set better error with context
- [702] [CBRD-21322] Fix coercion from multibyte charset to binary charset
- [701] [CBRD-21315] Fix error printing when coercing values
- [700] [CBRD-21318] allow coercion from numeric to string in case of default value
- [699] [CBRD-21325] correct volume info file if disk_add_volume crashes
- [698] [CBRD-21329] Default value: clean parser error message before setting a new one.
- [697] [CBRD-20399] some DB_DEFAULT_EXPR_TYPEs were missed from dbi_compat.h
- [696] [CBRD-21331] fixed alter table not null with default
- [695] [CBRD-21320] fixed null oid assignment
- [694] [CBRD-21319] fixed null default value for PK column
- [690] [CBRD-21328] fixed memory overrun of printing default expression
- [689] [CBRD-21316] client_id for query_exec_start and query_exec_end systemtap probe was missing
- [688] [CBRD-21311] uses quoted identifier for system genereated trigger statement
- [686] [CBRD-21306] Fix arguments of systemtab query_exe probe
- [685] [CBRD-21285] make_tz is failed on windows when try to make_tz for the second time
- [683] [CBRD-21280] don’t try to flush from empty zone 3
- [682] [CBRD-21275] fix heap-file descriptor missmatch during reuse/create
- [681] [CBRD-21212] Fix vacuum recovery on restore
- [679] [CBRD-21257] disk_rv_undo_format: volume was not created
- [678] [CBRD-21242] file_perm_alloc: fix corner case
- [677] [CBRD-21228] fix file descriptor when reusing heap
- [676] [CBRD-21223] log_recovery_abort_atomic_sysop: fix atomic_sysop_start_lsa last record
- [674] [CBRD-21214] fixes to show usages of gen_tz where dbname is omitted for linux
- [673] [CBRD-21212] Fix make_tz exdend mode for linux for multiple database cases
- [672] [CBRD-21204] resets log header of copied db; it did source’s not dest’s
- [671] [CBRD-21208] fixed timezone update query of gen_tz
- [670] [CBRD-21207] fixed bad assertion for no page flush cases
- [669] [CBRD-21206] fix tdes state inconsistency during checkpoint
- [668] [CBRD-21205] fix disk_rv_redo_format
- [667] [CBRD-21204] fixes ABR of copydb
- [666] [CBRD-21203] fix vacuum data recovery
- [665] [CBRD-21126] fix disk cache recovery
- [664] [CBRD-21201] boot_restart_server: commit deleting temporary volumes
- [663] [CBRD-21200] Fix query for tz extend tool
- [662] [CBRD-20146] printing parse tree omitted limit clause for update/delete
- [661] [CBRD-20997] fixed bad reference of PT_IS_QUERY_NODE_TYPE
- [660] [CBRD-21199] vacuum_heap_page: interrupted vacuum job can find file table page
- [659] [CBRD-21198] Rewrite assert to a more permissive case.
- [658] [CBRD-21197] disk_volume_expand: do not interrupt
- [657] [CBRD-21196] forget any noisy warning or error to start vacuuming of SA
- [656] [CBRD-21194] removing temp volume does not rely on file manager
- [654] [CBRD-21189] activate heap_check_all_pages
- [653] [CBRD-21193] fixed to handle interrupted cases to fetch statistics
- [652] [CBRD-21192] to be vacuumed heap page was refixed to fix its header page and badly referenced through the old page pointer
- [651] [CBRD-21191] fixes to unlock lockset; class oid might be null oid
- [650] [CBRD-21126] fixed disk cache update issue at rollback
- [649] [CBRD-21190] locator_lock_and_get_object_with_evaluation: use latch write
- [648] [CBRD-21121] deallocate the merge page from sector
- [647] [CBRD-21089] fixes not to mount temp volumes during bootstrapping
- [646] [CBRD-21185] Add check on old_victim_hint zone and remove risky assert
- [645] [CBRD-20842] fix typo
- [644] [CBRD-20842] propagate error to vacuum to recover deleted table cases
- [643] [CBRD-21186] To vacuum a heap page, home might be refixed while fixing needed pages
- [642] [CBRD-20692] fixed global mvccc op log lsa when redo sysop end
- [641] [CBRD-21178] there might be not enough buffers to flush victim candidates
- [640] [CBRD-21179] fixes page leak of ehash_expand_directory
- [639] [CBRD-21177] pgbuf_invalidate_all considers BCB is being flushed
- [638] [CBRD-21176] fixes catalog_Max_space_lock leak
- [637] [CBRD-21170] fixed bad condition
- [636] [CBRD-21161] Add debug code and workaround for victim hint
- [635] [CBRD-21163] initialize array to suppress VALGRIND complaints regarding uninitialized memory in catalog
- [634] [CBRD-21162] initialize array to suppress VALGRIND complaints regarding uninitialized memory in catalog
- [633] [CBRD-21145] UMR on catalog_update
- [632] [CBRD-21170] fixes invalid XASL error of multi-table UPDATE/DELETE with explicit join
- [631] [CBRD-20289] change a safe-guard to catch vacuum is blocked as er_log
- [630] [CBRD-21171] delay shutdown daemon threads
- [629] [CBRD-21172] Remove assert condition related to LRU quota when no dirties are found
- [628] [CBRD-21168] shutdown will not interrupt a thread that disables interrupt
- [627] [CBRD-21157] Fix to retry victimization in single threaded mode after victim flush was run.
- [626] [CBRD-20146] fix disk_get_volheader script
- [625] [CBRD-21164] file_log of file_perm_dealloc missed arguments
- [623] [CBRD-21147] Initialize leafs, pages and height for btree_stats in catalog_fetch_btree_statistics
- [621] [CBRD-21140] fixed crash caused by null domain in MRO
- [620] [CBRD-21159] hold LOG_CS for logpb_flush_pages_direct
- [616] [CBRD-21117] Stop parsing in case of errors.
- [614] [CBRD-21149] fixes leak of pgbuf_Pool.big_private_lrus_with_victims
- [613] [CBRD-21147] UMR on btree_get_stats
- [612] [CBRD-21143] fixed cte memory leak
- [611] [CBRD-21100] Do not deregister “avoid deallocation” on victimized bcb
- [610] [CBRD-21153] initialize OID to supress valgrind complaint
- [608] [CBRD-21144] initialize bcb ticks
- [605] [CBRD-21070] fixed leaked page
- [604] [CBRD-21129] [TimeZone] ‘select str_to_date(‘11 30 59 pm Feb/27th/2000 America/Fortaleza -03’, ‘%h %i %S %p %b/%D/%Y %TZR %TZD’)’returns unexpected result
- [603] [CBRD-21020] disk_reserve_sectors: fix double sector free from cache
- [602] [CBRD-21139] recovery: fix rollbacking logical run postpones
- [601] [CBRD-21109] [TimeZone] Insert an unsupported datetimetz format, query successfully processed
- [600] [CBRD-21122] file_perm_dealloc: fix fhead for is_merged_page_from_sector case
- [599] [CBRD-21118] SA_MODE keep using the current error entry if neither an error was set nor pushed
- [598] [CBRD-21136] net_server_conn_down: fix interrupt
- [597] [CBRD-21133] log_rv_analysis_sysop_end: reset rcv.sysop_start_postpone_lsa
- [596] [CBRD-21135] disable data_aout_ratio parameter
- [595] [CBRD-20709] Fix restore of log active volume
- [594] [CBRD-21116] fix abort atomic sysop inside sysop run postpone
- [593] [CBRD-21119] handle error returned by btree_get_num_visible_from_leaf_and_ovf function
- [592] [CBRD-21128] disk_reserve_sectors: fix csect usage
- [591] [CBRD-21115] pgbuf_flush_victim_candidates: fix compile error
- [590] [CBRD-21088] Fixed set of error
- [589] [CBRD-21115] pgbuf_flush_victim_candidates: update looping & safe-guard
- [588] [CBRD-21114] clear index key for error case; fixes a slip of #583
- [587] [CBRD-21092] MANY_IOREADS cannot be shown in the event log
- [586] [CBRD-21105] Fix undoing unfinished sysops during execute postpone
- [585] [CBRD-21112] fixed double unfix of vacuum data page
- [584] [CBRD-21081] Removed assert regarding the match of MVCC info
- [583] [CBRD-21049] fixed memeory leak caused by deadlock at foreign key update
- [582] [CBRD-21106] file_extdata_apply_funcs: fix advance to next
- [581] [CBRD-21020] file_create temporary: do not interrupt
- [580] [CBRD-21103] add er_stack_push_if_exists, er_restore_last_error to keep the last error of SA
- [579] [CBRD-21101] pgbuf_lru_boost_bcb: remove unreliable safe-guard
- [578] [CBRD-21100] Safe-guards for bcb.count_fix_and_avoid_dealloc
- [577] [CBRD-21094] SA_MODE clears client error when enter into server
- [576] [CBRD-20740] file_perm_dealloc: fix merging & moving to partial table
- [574] [CBRD-21096] trylock returns 0 for success
- [573] [CBRD-21091] Execute merge under stressed IO.
- [572] [CBRD-21087] add thread_p argument to b-tree functions
- [571] [CBRD-21039] Fix tracking processing & unregister
- [570] [CBRD-21080] improve flush & direct victims
- [569] [CBRD-20742] clear output values at heap next scan
- [568] [CBRD-20699] vacuum_heap_page: error handling for release mode
- [567] [CBRD-21020] don’t interrupt file_temp_alloc
- [566] [CBRD-21086] Handle case of flushing non-dirty BCB (neighbor flush)
- [565] [CBRD-21080] pgbuf_flush_victim_candidates: fix hitting safe-guard
- [564] [CBRD-20074] undo the quick fix(#562) of CM stats
- [563] [CBRD-21003] Recovery: abort sysops before finishing postpone
- [562] [CBRD-20074] add stats back temporarily
- [560] [CBRD-21077] Return error if CTE max recursion is reached when list optimization is disabled
- [559] [CBRD-21045] fixed crash caused by uninitialized record
- [558] [CBRD-20814] Add system parameter loading flags to avoid special processing of intl parameters from utilities not related to engine
- [557] [CBRD-21067] disable multi range optimization instead return error, when regu variable didn’t match
- [556] [CBRD-21074] fixed MRO to consider NULL from a key value
- [553] [CBRD-21069] Handle reset of scan tuple number when a new page is fetched.
- [552] [CBRD-21064] vacuum_data_load_and_recover: read vacuum_Global_oldest_active_mvccid
- [551] [CBRD-21037] Recover vacuum data before starting workers
- [550] [CBRD-21057] Handling of semantic errors.
- [548] [CBRD-21058] fixed memory leak by restoring ISS range details
- [547] [CBRD-21051] fixes IVR to view error messages
- [546] [CBRD-21050] fixed crash by initializing dist percent aggregate
- [544] [CBRD-21036] fixed overflow int addition issue
- [543] [CBRD-21025] Fix handling of error from semantic_type.
- [542] [CBRD-21021] file_temp_alloc: fix file_Tempcache->spacedb_temp
- [541] [CBRD-20987] Review references of derived_table
- [540] [CBRD-20946] Allow only UNION ALL in recursive CTE
- [538] [CBRD-20933] Restrict nested WITHs and recursive CTEs referenced incorrectly
- [537] [CBRD-20808] Do not interrupt temp ehash destroy
- [536] [CBRD-20983] do not deallocate compressed string when generate tuple descriptor
- [535] [CBRD-20997] Keep UNION WITH clause when union is folded
- [534] [CBRD-20980] fixed crash caused by clearing db_value of output regu variable
- [533] [CBRD-20945] Fix collate modifier with ENUM type
- [532] [CBRD-20986] fix ut_trim (memmove)
- [531] [CBRD-20978] Return error for cte.* usage in count function
- [530] [CBRD-20146] use quoted identifiers for system generated queries
- [529] [CBRD-20972] fixed memory leak in sys_connect_by_path function
- [528] [CBRD-20974] fixed memory leak in show index
- [527] [CBRD-20865] Fix CTE attributes printing
- [526] [CBRD-20975] truncate problem, whose table name is a reserved word of the CUBRID
- [525] [CBRD-20967] fixes bad error handling of malloc
- [524] [CBRD-20971] xcache fix count was not incremented
- [523] [CBRD-20976] trailing blank broke line continuation
- [522] [CBRD-20969] missing error code to er_set from number_to_char
- [521] [CBRD-20957] Avoid recursive CTE optimization for analytics
- [520] [CBRD-20964] pt_eval_type: Remove recursive part of CTEs with false where
- [519] [CBRD-20959] Set correlation level zero for CTEs
- [518] [CBRD-20871] Fix XASL cache handling concurrent recompiles
- [517] [CBRD-20966] disk_add_volume_extension: update total/max sectors
- [516] [CBRD-20960] Remove recursive part of CTEs with false where
- [515] [CBRD-20937] Recursive CTE optimization restriction
- [514] [CBRD-20956] fixed another MRO memory leak
- [513] [CBRD-20701] log_rv_analysis_sysop_end: allocate topops stack
- [512] [CBRD-20953] Fix show create view when the value of param plus_as_concat = no
- [511] [CBRD-20941] Avoid recursive CTE optimization for rownum
- [510] [CBRD-20938] not to allow subqueries to VALUES query
- [508] [CBRD-20955] Isolate current CTE from CTE list when resolving self references
- [507] [CBRD-20934] Fix type_enum when folding UNION to NULL
- [506] [CBRD-20935] Allow only PT_SELECT nodes as the recursive query of CTEs
- [505] [CBRD-20949] fixed several memory leak issues in MRO
- [504] [CBRD-20905] fixed memory leak be clearing show columns output values
- [503] [CBRD-20942] VACUUMs do not provide classname to btree_set_error.
- [502] [CBRD-20932] logtb_is_interrupted_tdes: allow vacuum interrupt during recovery
- [501] [CBRD-20930] btree_set_error: use conditional latch to fix class record page
- [500] [CBRD-20669] heap_remove_page_on_vacuum: allow checkpoint thread waiter
- [498] [CBRD-20936] fixed memory leak in MRO
- [497] [CBRD-20919] Fix semantic type for CAST operator
- [496] [CBRD-20890] clear analytic part value
- [495] [CBRD-20931] fixes assertion of perfmon_pbx_unfix for case of unfixing a deallocated page
- [494] [CBRD-20928] parser_copy_tree: allow CTE node pointers copy without updating the address
- [493] [CBRD-20839] handle vacuum interruption
- [492] [CBRD-20916] Solving CTEs with the same name
- [491] [CBRD-20829] Consider donot_fold argument when folding constants
- [490] [CBRD-20918] order_by can not be removed if query has limit
- [489] [CBRD-20906] fix vacuum recovery of log_Gl.hdr
- [488] [CBRD-20697] Ordered fix: prevent unfixed page from being deallocated
- [487] [CBRD-20911] ehash_create_helper: fix initializing temporary page
- [486] [CBRD-20915] do not set aggregate list_id if error happens
- [483] [CBRD-20925] fixes bad assertion of catalog_start_access_with_dir_oid
- [482] [CBRD-20911] log RVPGBUF_NEW_PAGE undoredo
- [480] [CBRD-20905] fixed memory leak in XASL node in access spec
- [479] [CBRD-20910] reset compressed need clear
- [477] [CBRD-20912] fixes a memory leak of index loose scan
- [476] [CBRD-20909] fixes memory leak of select_btree_node_info scan
- [475] [CBRD-20836] Return real error for CTE name ambiguity
- [474] [CBRD-20872] CTE : Fix printing of tree for union/intersection/difference statements having WITH clause
- [473] [CBRD-20874] Return error for subqueries with SELECT INTO
- [472] [CBRD-20907] fixes regression of CBRD-20895.
- [471] [CBRD-20895] - Fix incorrect if conditions
- [470] [CBRD-20904] disk_format: fix removing temporary volume
- [468] [CBRD-20877] Check union compatability for CTEs with values query
- [467] [CBRD-20881] Bind CTE names and types separately, prior to the query binding
- [466] [CBRD-20850] Remove order by from range expression argument
- [464] [CBRD-20902] fixes out-dated assertion
- [463] [CBRD-20898] Avoid select rewrite for INFO_COLS_SCHEMA flags
- [462] [CBRD-20897] remove page buffer volume info
- [461] [CBRD-20901] pgbuf_fix: register to track meter before unfix
- [460] [CBRD-20842] Fix error handling in vacuum_heap_get_hfid_and_file_type
- [459] [CBRD-20464] Save first vacuum data page in file descriptor
- [458] [CBRD-20856] mq_push_paths: removed non-subquery restriction
- [457] [CBRD-20755] Fix page buffer handling deallocated pages
- [455] [CBRD-20887] generate alias_print for constant folded expressions as it did
- [454] [CBRD-20846] fixed Windows build issue
- [453] [CBRD-20884] fix finishing postpone for vacuum master changes
- [452] [CBRD-20873] Handle false where for CTEs.
- [449] [CBRD-20846] Handling of CTE pointers in parse tree copy
- [448] [CBRD-20765] Allow Re-creation of foreign key having one or more NULL values for foreign keys
- [447] [CBRD-20852] introduce max_print_len of parser for pt_short_print
- [446] [CBRD-20870] fixes bad debugging logs of xasl cache
- [445] [CBRD-20830] Removed PT_LIST_WALK from pt_resolve_spec_to_cte
- [444] [CBRD-20824] - Avoid dummy select optimization when SELECT includes WITH clause
- [443] [CBRD-20837] CTE : force copy list from non recursive part to main CTE list (to get types)
- [442] [CBRD-20820] pt_resolve_cte_specs: do not stop parse tree walk
- [441] [CBRD-20843] Consider correlation level of CTEs when generating XASL aptr list
- [440] [CBRD-20842] Fix vacuum crash on dropped file after restart
- [439] [CBRD-20860] Fix outdated pointer of cte non recursive part
- [438] [CBRD-20857] to support query trace for CTE
- [437] [CBRD-20828] CTE - fix recursive list id leak
- [435] [CBRD-20855] fixes type resolution of timestamp(date,number), timestamp(timestamp,number) functions
- [434] [CBRD-20818] changed lower limit for db_volume_size to 0
- [433] [CBRD-20835] Extend condition to differentiate entity specs from derived table/cte
- [432] [CBRD-20841] fix memory leaks of db_to_… and …_to_char functions
- [431] [CBRD-20819] Avoid name binding lookup of group by column outside current scope, level 0
- [430] [CBRD-20813] core is dumped by ‘cubrid createdb’
- [429] [CBRD-20825] fixed type resolution of DAYOFYEAR (and other functions)
- [427] [CBRD-20806] correct file_log_extdata_set_next arguments
- [424] [CBRD-20805] keep PK disk image to LA_ITEM for sql_logging and error reporting
- [423] [CBRD-20738] log_recovery_finish_postpone: fix typo… type must be different than LOG_SYSOP_END_LOGICAL_RUN_POSTPONE in assert
- [422] [CBRD-20804] apply connection_timeout to establish a connection to server
- [421] [CBRD-20740] file_perm_alloc: handle the case when the page was requested from file_table_add_full_sector
- [419] [CBRD-20764] copy args to hide
- [418] [CBRD-20773] Clear latch free resources before clearing object area
- [417] [CBRD-20764] fix typo
- [416] [CBRD-20722] Fixed crash caused by null list_id when executes analytic
- [415] [CBRD-20780] fixed memory leak caused by xasl clone status
- [414] [CBRD-20776] fixed analytic memory issue
- [413] [CBRD-20726] When resolves domain for aggregation, clears the value only if the domains are incompatible
- [412] [CBRD-20770] Intialize analytic unserialized fields when clears xasl
- [411] [CBRD-20772] Do not clear the regu db_value when need to clear at clone decache
- [410] [CBRD-20769] Fix common type to be used for special cast in inference of collation result
- [409] [CBRD-20766] fixed crash caused by clear compressed string
- [407] [CBRD-20764] hide password of cubrid_replay, broker_log_runner, cci_applier
- [405] [CBRD-20761] fixes crash to hide comamnd args of internally forked execs
- [403] [CBRD-20756] applylogdb badly did sql logging of incrementing a serial object
- [401] [CBRD-20753] Removed minimum size limit for db volume
- [400] [CBRD-20748] fix typos of FILE_TEMPCACHE_AS_ARGS; add file_tempcache_check_duplicate debugging function
- [399] [CBRD-20748] fix freeing query temporary files considering holdable/preserved
- [397] [CBRD-20747] Do not expect no error is set when reaching heap get class name
- [396] [CBRD-20751] redo log for creating temp ehash was written
- [395] [CBRD-20718] fixed memory leak
- [394] [CBRD-20719] fixed incr on partition
- [393] [CBRD-20696] Correct disk space from createdb message
- [392] [CBRD-20515] Propagate error of heap_get_class_name
- [391] [CBRD-20731] fixed memory leak issue
- [390] [CBRD-20743] xlocator_fetch: set warning instead of error for non-existent objects
- [388] [CBRD-20737] file_create: fix handling failures
- [387] [CBRD-20744] fixes system operation leaks
- [386] [CBRD-20728] Clear scan id statistics
- [385] [CBRD-20721] fixed crash caused by clear compressed string
- [384] [CBRD-20726] fixed crash caused by aggregate operand casting
- [383] [CBRD-20729] fixed aggregate domain issue
- [382] [CBRD-20724] Fixed median issue
- [381] [CBRD-20735] fixes btree_load_new_page to propagate error
- [380] [CBRD-20734] fixes file_create to properly return error code
- [379] [CBRD-20733] file_tracker_reclaim_marked_deleted badly unfixed page latch
- [378] [CBRD-20714] Fix typo in volume extension resolve
- [377] [CBRD-20725] fix postpone recovery
- [376] [CBRD-20723] fixed analytic crash
- [375] [CBRD-20720] fix page latch leak of file_extdata_find_and_remove_item
- [374] [CBRD-20717] fixes a slip of file_tracker_reclaim_marked_deleted to make assertion happy
- [373] [CBRD-20416] temporarily disable xasl clone
- [367] [CBRD-20711] log_read_sysop_start_postpone: fix reading LOG_REC_SYSOP_START_POSTPONE
- [366] [CBRD-20713] file_tracker_check: fix access on NULL disk_map_clone
- [364] [CBRD-20705] fixes a server crash to evaluate IN expression whose type of RHS is not statically determined
- [363] [CBRD-20663] fixes incremental restore considers volume header page is included or not
- [362] [CBRD-20695] Fix recovery of system operations postpones
- [361] [CBRD-20693] fix SECTOR_LAST_PAGEID
- [360] [CBRD-20416] Fixed issues caused by memory management in XASL clone
- [359] [CBRD-20685] file_extdata_collect_ftab_pages: fix adding new VSID
- [358] [CBRD-20689] btree_load_index: fix destroying empty index
- [357] [CBRD-20690] btree_rv_record_modify_internal: remove outdated assert
- [356] [CBRD-20687] disk_rv_undo_format: expect temporary volumes
- [355] [CBRD-20677] fixes errors will not be overwritten for error handlers of xlocator_force/xlocator_repl_force
- [354] [CBRD-20686] fixes arguments of ER_DIAG_PAGE_NOT_FOUND messages
- [353] [CBRD-20678] fixes page latch leak of spage_slots_start_scan
- [352] [CBRD-20675] spage_slots_start_scan: expect invalid page
- [351] [CBRD-20655] heap_hfid_cache_get: always call lf_tran_end_with_mb
- [350] [CBRD-20634] heap_object_upgrade_domain: clear error when it is ignored
- [349] [CBRD-20661] file_create: fix bad check
- [348] [CBRD-20674] disk_is_page_sector_reserved_with_debug_crash: assert (!debug_crash)
- [347] [CBRD-20669] heap_remove_page_on_vacuum: move no waiter check
- [346] [CBRD-20671] do_alter_index_rebuild: notification instead of warning
- [345] [CBRD-20673] sort_checkalloc_numpages_of_outfiles: handle errors
- [344] [CBRD-20668] init overflow temporary pages
- [343] [CBRD-20667] ehash_expand_directory: call file_alloc_multiple if needed_pages > 0
- [342] [CBRD-20666] file_alloc: goto exit on error
- [341] [CBRD-20665] sentry_to_quentry: save tran temporary file to cache
- [340] [CBRD-20662] fix RVDK_FORMAT and RVDK_INITMAP recovery
- [339] [CBRD-20664] qexec_destroy_upddel_ehash_files: don’t allow interruptions
- [338] [CBRD-20185] disk_stab_init: fix flushing pages; fix nsects_sys
- [337] [CBRD-20639] undo: fix undoing RVBT_LOG_GLOBAL_UNIQUE_STATS_COMMIT
- [336] [CBRD-20624] spage_header_start_scan: fix when page is deallocated
- [334] [CBRD-20629] file temporary cache: fix retiring preserved files
- [333] [CBRD-20637] fix btree_modify_overflow_link, btree_modify_leaf_ovfl_vpid
- [332] [CBRD-20638] file_dealloc: accept FILE_HEAP hint when file is FILE_HEAP_REUSE_SLOTS
- [331] [CBRD-20631] fix recovery issues from file manager redesign
- [330] [CBRD-20635] ehash_create_helper: initialize variables
- [329] [CBRD-20649] file_temp_retire: fix leak
- [328] [CBRD-20185] log_rv_redo_fix_page: don’t call fix NEW_PAGE directly
- [327] [CBRD-20636] disk_format: fix computing max_npages
- [326] [CBRD-20654] fixes bad unfix of file_temp_reset_user_pages
- [325] [CBRD-20647] fixes overflow of initial_size of FILE_TABLESPACE
- [324] [CBRD-20651] fixes UMR of stop in file_tracker_map
- [323] [CBRD-20645] collect temp volume expands
- [322] [CBRD-20640] fixes the number of columes of SHOW TRASACTION TABLES statement
- [321] [CBRD-20626] fixes UMR of spacedb; spacedb –summarize shows incorrect space info
- [320] [CBRD-20185] disk_map_clone: fix accessing the entries for volids >= 1
- [319] [CBRD-20630] btree_key_append_object_as_new_overflow: handle case when sysop is already started
- [318] [CBRD-20627] disk_volume_boot: fix number of free pages for temporary purpose volumes
- [317] [CBRD-20623] disk_set_creation: initialize addr
- [316] [CBRD-20622] disk_manager_init: reload disk_Cache if it was previously loaded
- [315] [CBRD-20619] heap file: expect NULL class_oid for boot_Db_parm
- [314] [CBRD-20621] fixes latch leak of file_dump
- [313] [CBRD-20620] fixes CSECT_DISK_CHECK leaks
- [312] [CBRD-20618] file_tracker_reclaim_marked_deleted: fix remove file
- [311] [CBRD-20615] Search also in computed statistics names
- [310] [CBRD-20613] Fix memory leak
- [308] [CBRD-21046] dbi_compat.h: add missing changes from DB_CHAR structure
- [307] [CBRD-20606] revert potential leak fix on fetch_val_list
- [306] [CBRD-20599] revert potential leak fix on fetch_copy_dbval
- [305] [CBRD-20455] more leak fixes regarding string compress leak; better error handling
- [304] [CBRD-20594] Clear val list regu variable before btree search in case of index covering
- [301] [CBRD-20579] fixes client crash when a bad SQL hint is given to UPDATE/DELETE
- [300] [CBRD-20587] fixes NULL pointer references returned from DB_GET_OID macro
- [299] [CBRD-20583] fixes warnings related to db_make_xxx macro expansion
- [298] [CBRD-20580] Print all the timer info for timer type statistic
- [297] [CBRD-20583] Fixed leak
- [296] [CBRD-20576] disk_size required arguments with compatible collations
- [294] [CBRD-20570] Added definitions for db_private_realloc_debug and db_private_realloc_release
- [293] [CBRD-20570] fix typo on db_private_realloc_external
- [292] [CBRD-20572] Fixed leak of bad value coercion
- [291] [CBRD-20570] fixed resoure track meter to trace realloced private heap memories
- [290] [CBRD-20571] set xcache_Global.last_cleaned_time as current time of startup
- [288] [CBRD-20565] Leak issues
- [287] [CBRD-20561] value of Num_plan_cache_entries is always 0
- [283] [CBRD-20541] Use perfmon_set_stat for PSTAT_HA_REPL_DELAY peek statistic
- [282] [CBRD-20557] Fix readmem string to handle compression.
- [278] [CBRD-20541] retrieve PSTAT_PEEK_SINGLE_VALUE typed performance statistics
- [273] [CBRD-20530] fixed slot record length when undo update
- [272] [CBRD-20149] xcache: fix perfmon statistics for full cache and for deleted entries
- [271] [CBRD-20163] Log old overflow versions resulted from updates
- [269] [CBRD-20523] Foreign Key Referential Constraints check on INSERT/UPDATE
- [267] [CBRD-20456] use volatile for dirty flag and oldest_unflush_lsa to avoid caching
- [265] [CBRD-20545] fixes assertion and check for perfmon_add_stat_at_offset
- [264] [CBRD-20544] remove a bad assertion of perfmon_set_stat. It may be reached without initialization.
- [263] [CBRD-20543] fixes initialization of pstat_Global for SA_MODE.
- [262] [CBRD-20542] Added the flag in the other structures
- [261] [CBRD-20530] corrects the undo record descriptor if forward page is unfixed during relocation update
- [260] [CBRD-20537] heap_delete_logical, heap_update_logical: catch ER_INTERRUPTED error
- [259] [CBRD-20533] Fix performance monitor redesign issues
- [257] [CBRD-20539] statdump -s option never ended
- [256] [CBRD-20534] fix PSTAT_QM_NUM_HOLDABLE_CURSORS as SINGLE_PEEK stat
- [255] [CBRD-20510] xcache_insert: fix cache entry count when new entry is not inserted and is not recompiled
- [253] [CBRD-20529] lockdb forces no blocking and latching a page may fail
- [252] [CBRD-20518] vacuum_recover_lost_block_data: fix reading from log record header when log page is changed
- [251] [CBRD-20524] In transform_cl.c chn was set after insert id
- [250] [CBRD-20517] Fix UMR of can_vacuum from vacuum_rv_check_at_undo
- [249] [CBRD-20519] fixed search (OID, MVCC info) in btree key buffer in case of multi updates
- [247] [CBRD-20162] Fix or_mvcc_get_chn and or_mvcc_get_insid order (slip from #235)
- [245] [CBRD-20516] fix vacuum being executed again when it was actually completed
- [244] [CBRD-20507] Change vacuum_rv_check_at_undo to clean flags at recovery also
- [243] [CBRD-20510] fix xasl cache entry count
- [242] [CBRD-20508] Use unconditional latch request when want to fix in VPID order and there are no other previously fixed pages
- [241] [CBRD-20504] Update fix count check
- [240] [CBRD-20217] Extend update undo to check if the undo record should be vacuumed
- [238] [CBRD-20501] remove YYID macro for compat with bison-3.x
- [237] [CBRD-20455] Fix string compression memory leaks
- [236] [CBRD-20499] not to remove archive logs during restart recovery.
- [232] [CBRD-20494] Advance vacuum job cursor when it points to page being deallocated
- [231] [CBRD-20495] fix typo on a msg of MSGCAT_UTIL_SET_DIAGDB
- [230] [CBRD-20483] Fix flushing log
- [227] [CBRD-20477] Fix the condition of resetting vacuum data cursor.
- [226] [CBRD-20483] logpb_flush_all_append_pages: check physical pageids to be successive before collecting buffer for flush
- [221] [CBRD-20467] Fix object descriptor objects after area reallocation; fix size of object descriptor.
- [219] [CBRD-20472] Fix wrong condition for dirty flag in logpb_end_append
- [218] [CBRD-20481] fix overflow to calculate location of LOG_PAGE
- [217] [CBRD-20479] remove invalid assertion of logpb_flush_all_append_pages
- [215] [CBRD-20471] fix overwriting log_page_buffer record with end of log record during flush
- [214] [CBRD-20473] fix MNT_COUNT_OF_SERVER_EXEC_SINGLE_STATS since log_num_fetch_ioreads was removed
- [213] [CBRD-20469] do not use COPY in case of overflow record if recdes->data=scan_cache->area
- [211] [CBRD-20146] fix warnings
- [210] [CBRD-20460] Not to deallocate the last page of vacuum data
- [209] [CBRD-20465] DDL with C-style comment includes ‘*’ will not be properly replicated.
- [205] [CBRD-20451] lf_freelist_claim: start lock-free transaction.
- [204] [CBRD-20449] (2) Fix bad error handling from #199
- [203] [CBRD-20452] fix lea memory leak of HQ
- [202] [CBRD-20430] error handling, beautify code layout
- [201] [CBRD-20453] Fixing GCC5 compatibility issues
- [200] [CBRD-20443] Invalidate snapshot before statement
- [199] [CBRD-20449] Clear unhandled ER_HEAP_UNKNOWN_OBJECT
- [196] [CBRD-20445] Fix page latch mode for serial upate
- [195] [CBRD-20440] Fixed memory leak that causes dump in server
- [194] [CBRD-20439] Use scan_cache when calling locator_get_object
- [193] [CBRD-20437] Reverted _setjmp removal and add a workaround for possible leaks
- [192] [CBRD-20437] fixes UMR of class_oid_local from heap_get_visible_version_internal
- [191] [CBRD-20426] Fixed bad setup in compare functions
- [189] [CBRD-20434] fixed latch leak of catalog_get_dir_oid_from_cache
- [188] [CBRD-20435] fixed xlocator_fetch for release build to figure out class_oid when a client does not know
- [187] [CBRD-20432] fixed crash due to missing scancache from heap_get_alloc
- [186] [CBRD-20431] fixed bad function call from xlocator_does_exist
- [185] [CBRD-20421] Removed _setjump in heap_attrinfo_transform_to_disk_internal
- [182] [CBRD-20422] Fixed bad set to compression_length in mr_get_compression_length
- [179] [CBRD-20421] Fixed bad set for compressed_length
- [178] [CBRD-20419] Omitted consequence of last change
- [177] [CBRD-20419] Fixing crashes cause by assert
- [175] [CBRD-20417] fixed to restore a non default sized database from its backup.
- [173] [CBRD-20412] fixes the return value of css_return_queued_error for SERVER_MODE
- [172] [CBRD-20411] fixes file_allocset_compact_page_table to set page as dirty when it tries to compact an allocset to make everything sure
- [171] [CBRD-20409] btree_key_remove_object_and_keep_visible_first: use a copy of second_object_info.mvcc_info to match MVCC info while searching for object
- [170] [CBRD-20376] fix to create parent of APPLYLOGDB directory if not exist
- [169] [CBRD-20408] fix server crash when restart fails. Error handler badly tried to finalize uninitialized rwlock entries
- [166] [CBRD-20350] fix Windows build issue of UACExecutionLevel change
- [163] [CBRD-20343] Fix recovery : put tran state into aborted and prevent tdes freeing to allow undo.
- [162] [CBRD-20405] Fix bad assert in lock-free circular queue produce/consume; Improve lock-free circular queue unit test
- [158] [CBRD-20401] Fix lock-free hash table & lock-free unit test
- [157] [CBRD-20388] Put correct page rank on watcher when group id is not initiallly provided by calling code.
- [156] [CBRD-20400] fixes ABW of casting numeric to string
- [155] [CBRD-20357] fixes cleanup_count of xcache_cleanup
- [154] [CBRD-20392] fix a heap page is logged with RVHF_MVCC_DELETE_NO_MODIFY_HOME but remains as non-dirty
- [152] [CBRD-20357] fix build error of lf_hash_clear
- [151] [CBRD-20357] XASL/filter predicate cache drop all
- [150] [CBRD-20387] Fix recovery of vacuum first page change; Fix cases when pages are logged but are not set dirty
- [149] [CBRD-20389] fix a potential leak of dirty flag of vacuum data page
- [148] [CBRD-20389] fix an inconsistent vacuum data page state where its oldest_unflush_lsa_is set but dirty flag
- [147] [CBRD-20384] Reverse compare result in xcache_compare_cleanup_candidates and fpcache_compare_cleanup_candidates
- [146] [CBRD-20338] Wrong error display
- [145] [CBRD-20359] add SQL_ID to xcache_dump
- [144] [CBRD-20375] Clean 20% of xasl cache capacity and all entries over the capacity
- [143] [CBRD-20359] add sql_user_text to xcache_dump
- [142] [CBRD-20370] Initialize xcache_entry->time_last_used
- [141] [CBRD-20371] Deallocate filter predicate DB_VALUES when cache entry is uninitialized
- [139] [CBRD-20358] Initialize xcache_entry->time_last_rt_check
- [138] [CBRD-20359] Add entry clone count, sql hash text and sql plan text to xcache_dump
- [137] [CBRD-20358] bh_to_sorted_array: stop swapping when there is only one element left in the binary heap
- [136] [CBRD-20364] Save SQL info even if XASL cache logging is disabled
- [135] [CBRD-20354] Move locking from xcache_find_sha1 to xcache_find_xasl_id
- [134] [CBRD-20361] Remove LF_LIST_BR_RESTARTED flag from bflags before restarting delete
- [133] [CBRD-20355] remove duplicated lf_tran_end from lf_list_find
- [131] [CBRD-20352] allow the smaller number of xcache entries
- [130] [CBRD-20349] fix potential overflow of lock hash value
- [126] [CBRD-20344] add dynamic loading library dependency to cs library
- [124] [CBRD-20341] fix ha script install error when build with source tarball
- [123] [CBRD-20334] Authentication issues
- [122] [CBRD-20334] ERROR: SELECT authorization failure.
- [121] [CBRD-20336] Fix condition to acquire log cs : use full page id instead of log_lsa to trigger flushing
- [120] [CBRD-20318] fix issue firing a {commit,deferred} trigger overruns tr_Stack.
- [118] [CBRD-20323] revert off_t type in system.h for WINDOWS
- [116] [CBRD-20319] fix to compile broker utils with getopt_long.c for windows build
- [115] [CBRD-20146] fix bad memset arguments
- [114] [CBRD-20326] Initialize vacuum data’s last blockid when database is created.
- [113] [CBRD-20031] Changed the representation of the maximum string and fixed bad results using Like
- [112] [CBRD-20317] fixed global lowest_active_mvccid initialization
- [111] [CBRD-20307] Use ordered pgbuf fix when setting prev version lsa and keep forward page if a newhome is inserted
- [110] [CBRD-20315] fix memory leak of BTREE_ISCAN_OID_LIST.oidp, where server has plenty of oid buffers
- [108] [CBRD-20314] fix for public header file dbi.h
- [107] [CBRD-20312] fix make_locale.bat installation bug
- [104] [CBRD-20309] Redesign vacuum data flush.
- [100] [CBRD-20203] Insert in btree overflow OID page adds new object instead of replacing existing one
- [99] [CBRD-20304] Fix getting real instance when checking a virtual object does exist
- [98] [CBRD-20297] fixed issue caused by the lowest active MVCCID
- [97] [CBRD-20300] Set page dirty when changing job status; Set finished_blocks capacity in vacuum_data_mark_finished to VACUUM_FINISHED_JOB_QUEUE_CAPACITY
- [96] [CBRD-20302] Fix fetching the OID of old named parameter which now points to a deallocated file.
- [94] [CBRD-20301] Fix a bug of still full/empty case that cannot be detected only by comparing cursors
- [93] [CBRD-20299] Reset vacuum_Block_data_buffer circular queue after using it for recovery.
- [92] [CBRD-20199] Fix redo vacuum heap page: remove prev_version with insert MVCCID
- [91] [CBRD-20293] fix assertion of locator_update_force to consider ER_INTERRUPTED error
- [90] [CBRD-20289] Increase in_progress_distance to avoid hitting it with stressful but correct execution.
- [89] [CBRD-20295] fixed to unfix vacuum data page when master stops generating a new job
- [88] [CBRD-20294] Fix lf_circular_queue_async_push_ahead so the consumer can match the entry states with expected consume cursor.
- [86] [CBRD-20291] fix vacuum to correctly follow the page chain when deallocates a non-first vacuum data page.
- [84] [CBRD-20290] Remove setting vacuum_Global_oldest_active_mvccid in vacuum_load_data_from_disk.
- [81] [CBRD-20155] fix typo in gcc option and minor fix for CMake 3.x
- [80] [CBRD-20231] Domains of components from midxkey should contain asc/desc info
- [78] [CBRD-20255] Handle vacuum data page deallocation when empty page is not first vacuum data page.
- [77] [CBRD-20262] Fix ambiguous case of undo b-tree mvcc delete
- [76] [CBRD-20280] fix potential race condition of CAS operation.
- [75] [CBRD-20277] to show usages of gen_tz with unimplemented update option.
- [74] [CBRD-20278] fix a crash of SA_MODE shutdown followed by restart
- [73] [CBRD-20252] fix race condition on lf_circular_queue.
- [72] [CBRD-20239] Fix checking interrupted jobs when loading vacuum data. Notify vacuum of shutdown request before ending threads.
- [71] [CBRD-20253] Stand-alone vacuum: skip vacuumed blocks.
- [70] [CBRD-20257] Fix compilation error
- [69] [CBRD-20257] correct size of vacuum job queues
- [67] [CBRD-20173] Fix prev version LSA offset
- [66] [CBRD-20270] fixes broken message of utils.msg
- [65] [CBRD-20266] Handle RVHF_UPDATE_NOTIFY_VACUUM / REC_RELOCATION combination
- [64] [CBRD-20265] fix unupdated usages of gen_tz utility. database name would be omitted.
- [63] [CBRD-20233] Fix replication for REC_RELOCATION/REC_NEWHOME records.
- [62] [CBRD-20263] fix replication log record
- [61] [CBRD-20258] fixes gen_tz to start error manager to show error messages
- [60] [CBRD-20172] Fix incorrect logging logic
- [59] [CBRD-20256] fixes qfile_allocate_new_page to set ER_INTERRUPTED error.
- [56] [CBRD-20246] fixes infinite iteration of getting a list file page. also fixes to correctly detect the end of a list file page.
- [55] [CBRD-20161] Fix Windows build - remove db_get_session_mode from def files
- [54] [CBRD-20240] fix redo logging of btree_key_remove_object_and_keep_visible_first for release builds.
- [52] [CBRD-20238] Update assert check in log_append_dboutside_redo: vacuum master can call function because it allocates pages for vacuum data.
- [49] [CBRD-20232] Initialize mvcc_op_log_lsa as NULL in vacuum_recover_lost_block_data
- [48] [CBRD-20237] Increase vacuum finished job queue capcacity to 2048
- [47] [CBRD-20236] Fix assign vacuum worker
- [46] [CBRD-20225] Fix notify vacuum when updating REC_ASSIGN_ADDRESS; Fix checkdb issue.
- [45] [CBRD-20227] Always call vacuum_finalize in thread_vacuum_master_thread
- [44] [CBRD-20222] Copy log_Gl.hdr.vacuum_data_first_vpid when copying database.
- [43] [CBRD-20220] Fix compile error
- [42] [CBRD-20220] Fix vacuum data page leaks.
- [41] [CBRD-20210] S_LOCK on referenced table when altering a trigger.
- [39] [CBRD-20219] Do not unfix all pages at the end of a vacuum job in stand-alone mode
- [38] [CBRD-20175] Fix replication log : always perform index update before heap update.
- [34] [CBRD-20188] Skip serialization check for db_root, db_user and db_trigger
- [31] [CBRD-20196] Raise serializable conflict for deleted visible records
- [30] [CBRD-20190] Fix long heap page latch times during locator_check_btree_entries
- [28] [CBRD-20187] Consider mvcc class when setting insert id in heap_insert_adjust_recdes_header()
- [27] [CBRD-20189] fixed a bad assertion for temporary connection
- [25] [CBRD-20177] Fixed uninitialized recdes in qexec_execute_obj_fetch()
- [24] [CBRD-20174] Removed primary_key from MVCC_REEV_DATA
- [22] [CBRD-20168] Accept also non-mvcc undo in log_get_undo_record()
- [21] [CBRD-20167] Retrieve only the last version of the object in locator_delete_force_internal()
- [7] [CBRD-20022] Do not change the collation flag to TP_DOMAIN_COLL_NORMAL if the node is a session variable.
- [6] [TOOLS-4265] _op_get_db_user_id() in cm_common causes core dump
- [3] [CBRD-20140] Adapt trim functions to EUCKR charset
기타 변경¶
- [726] [CBRD-20146] beautify layout
- [712] [CBRD-20573] change disk compatibility number, remove obsoleted recovery indexes
- [705] [CBRD-20146] fix warnings
- [704] [CBRD-20145] remove Time_ prefix from heap counter/timers
- [675] [CBRD-21212] remove deleted options of make_tz.sh
- [624] [CBRD-20146] refactor catalog_get_representation
- [617] [CBRD-20692] fix typo of extend logging
- [615] [CBRD-20692] extend logging
- [561] [CBRD-20146] removed blank lines that gencat complains
- [451] [CBRD-20146] layout fix on type_checking.c
- [450] [CBRD-20146] remove unused and modify function comments
- [428] [CBRD-20146] fixes compile warnings
- [389] [CBRD-20146] rename stats of SCAN_ID as scan_stats
- [372] [CBRD-20716] Allocates scan cache area before acquiring page latch, when retrieve heap records
- [335] [CBRD-20146] use pgbuf_check_page_ptype instead of pgbuf_set_page_ptype in overflow_insert
- [309] [CBRD-20455] Rewrite code to remove function heap_attrinfo_set_and_clear_source
- [276] [CBRD-20551] fix compile warnings of perf_monitor
- [275] [CBRD-20550] avoid multiple calls of or_mvcc_add_header at heap delete
- [239] [CBRD-20502] change tdes->cs_topop implementation as SYNC_RMUTEX
- [235] [CBRD-20162] MVCC record header changed to always keep CHN
- [233] [CBRD-20146] rename logpb_create as logpb_create_page. also beautify code
- [228] [CBRD-20483] logpb_flush_all_append_pages: to fully collect successive pages to flush them at once
- [224] [CBRD-20483] rename logpb_logging as logpb_logging_debug
- [222] [CBRD-20459] add debugging codes for locator_send_copy_area; rewrites the fix for #221
- [216] [CBRD-20274] Removing mvcc_link
- [212] [CBRD-20146] apply indent
- [183] [CBRD-20422] add assertions to catch ER_TF_BUFFER_OVERFLOW error cases
- [180] [CBRD-20146] fix warnings of string compression and also beautify code layout
- [167] [CBRD-20391] apply indent and rewrite sqmgr_query_execute
- [153] [CBRD-20393] remove qp_num_buf from THREAD_ENTRY
- [129] [CBRD-20146] fix compile flag of OR_HAVE_HTOND for htond.
- [105] [CBRD-20272] Heap get functions refactoring
- [103] [CBRD-20146] beautify code layout. rename confusing no as num.
- [95] [CBRD-20146] remove unused stuffs from btree
- [68] [CBRD-20271] remove unused workspace manager stuffs
- [58] [CBRD-20240] add assertion to BTREE_RV_GET_DATA_LENGTH
- [51] [CBRD-20146] beautify code layout
- [50] [CBRD-20146] introduce types for structures of log manager
- [12] [CBRD-20156] rename CRITICAL_SECTION as SYNC_CRITICAL_SECTION, RWLOCK as SYNC_RWLOCK for Windows build
- [8] [CBRD-20146] beautify code layout
주의사항¶
기존 주의 사항¶
DB를 생성할 때 로케일(언어 및 문자 집합)을 지정¶
DB를 생성할 때 로케일을 지정하도록 변경되었다.
CUBRID_CHARSET 환경 변수 제거¶
9.2 버전 이후 DB를 생성할 때 로케일(언어 및 문자 집합)을 지정하므로 CUBRID_CHARSET는 더 이상 사용하지 않는다.
[JDBC] 연결 URL의 zeroDateTimeBehavior 값이 “round”일 때 TIMESTAMP의 zero date가 ‘0001-01-01 00:00:00’에서 ‘1970-01-01 00:00:00’(GST)으로 변경 (CUBRIDSUS-11612)¶
2008 R4.4부터 연결 URL의 “zeroDateTimeBehavior” 속성 값이 “round”일 때 TIMESTAMP의 zero date가 ‘0001-01-01 00:00:00’에서 ‘1970-01-01 00:00:00’(GST)으로 변경되었므로, 응용 프로그램에서 zero date를 사용하는 경우 주의해야 한다.
AIX에서 CUBRID SH 패키지 설치 시 권장 사항 (CUBRIDSUS-12251)¶
AIX OS에서 ksh를 사용하여 CUBRID SH 패키지를 설치하는 경우 다음 오류와 함께 실패한다.
0403-065 An incomplete or invalid multibyte character encountered.
따라서 ksh 대신 ksh93 또는 bash를 사용할 것을 권장한다.
$ ksh93 ./CUBRID-9.2.0.0146-AIX-ppc64.sh
$ bash ./CUBRID-9.2.0.0146-AIX-ppc64.sh
CUBRID_LANG 제거, CUBRID_MSG_LANG 추가¶
9.1 버전부터 CUBRID_LANG 환경 변수를 더 이상 사용하지 않는다. 유틸리티 메시지 및 오류 메시지를 출력할 때는 CUBRID_MSG_LANG 환경 변수를 사용한다.
CCI 응용 프로그램에서 여러 개의 질의를 한 번에 수행한 결과의 배열에 대한 오류 처리 방식 수정 (CUBRIDSUS-9364)¶
CCI 응용에서 여러 개의 질의를 한 번에 수행할 때 2008 R3.0부터 2008 R4.1 버전까지는 cci_execute_array 함수나 cci_execute_batch 함수에 의한 질의 수행 결과들 중 하나만 오류가 발생해도 해당 질의의 오류 코드를 반환했으나, 2008 R4.3 버전 및 9.1 버전부터는 전체 질의 개수를 반환하고 CCI_QUERY_RESULT_* 매크로를 통해 개별 질의에 대한 오류를 확인할 수 있도록 수정했다.
수정 이전 버전에서는 오류가 발생한 경우에도 배열 내 각각의 질의들의 성공 실패 여부를 알 수 없으므로, 이를 판단해야 한다.
...
char *query = "INSERT INTO test_data (id, ndata, cdata, sdata, ldata) VALUES (?, ?, 'A', 'ABCD', 1234)";
...
req = cci_prepare (con, query, 0, &cci_error);
...
error = cci_bind_param_array_size (req, 3);
...
error = cci_bind_param_array (req, 1, CCI_A_TYPE_INT, co_ex, null_ind, CCI_U_TYPE_INT);
...
n_executed = cci_execute_array (req, &result, &cci_error);
if (n_executed < 0)
{
printf ("execute error: %d, %s\n", cci_error.err_code, cci_error.err_msg);
for (i = 1; i <= 3; i++)
{
printf ("query %d\n", i);
printf ("result count = %d\n", CCI_QUERY_RESULT_RESULT (result, i));
printf ("error message = %s\n", CCI_QUERY_RESULT_ERR_MSG (result, i));
printf ("statement type = %d\n", CCI_QUERY_RESULT_STMT_TYPE (result, i));
}
}
...
수정된 버전부터는 오류가 발생하면 전체 질의가 실패한 것이며, 오류가 발생하지 않은 경우에 대해 배열 내 각 질의의 성공 여부를 판단한다.
...
char *query = "INSERT INTO test_data (id, ndata, cdata, sdata, ldata) VALUES (?, ?, 'A', 'ABCD', 1234)";
...
req = cci_prepare (con, query, 0, &cci_error);
...
error = cci_bind_param_array_size (req, 3);
...
error = cci_bind_param_array (req, 1, CCI_A_TYPE_INT, co_ex, null_ind, CCI_U_TYPE_INT);
...
n_executed = cci_execute_array (req, &result, &cci_error);
if (n_executed < 0)
{
printf ("execute error: %d, %s\n", cci_error.err_code, cci_error.err_msg);
}
else
{
for (i = 1; i <= 3; i++)
{
printf ("query %d\n", i);
printf ("result count = %d\n", CCI_QUERY_RESULT_RESULT (result, i));
printf ("error message = %s\n", CCI_QUERY_RESULT_ERR_MSG (result, i));
printf ("statement type = %d\n", CCI_QUERY_RESULT_STMT_TYPE (result, i));
}
}
...
java.sql.XAConnection 인터페이스에서 HOLD_CURSORS_OVER_COMMIT을 지원하지 않음 (CUBRIDSUS-10800)¶
현재 CUBRID는 java.sql.XAConnection 인터페이스에서 ResultSet.HOLD_CURSORS_OVER_COMMIT를 지원하지 않는다.
9.0부터 STRCMP가 대소문자를 구분하여 동작¶
9.0 이전 버전까지는 STRCMP가 대소문자를 구분하지 않았지만 9.0부터는 문자열에서 대소문자를 비교하여 구분한다. STRCMP가 대소문자를 구분하지 않도록 하려면 대소문자를 구분하지 않는 콜레이션(예: utf8_en_ci)을 사용해야 한다.
-- In previous version of 9.0 STRCMP works case-insensitively
SELECT STRCMP ('ABC','abc');
0
-- From 9.0 version, STRCMP distinguish the uppercase and the lowercase when the collation is case-sensitive.
export CUBRID_CHARSET=en_US.iso88591
SELECT STRCMP ('ABC','abc');
-1
-- If the collation is case-insensitive, it distinguish the uppercase and the lowercase.
export CUBRID_CHARSET=en_US.iso88591
SELECT STRCMP ('ABC' COLLATE utf8_en_ci ,'abc' COLLATE utf8_en_ci);
0
2008 R4.1 버전부터 CCI_DEFAULT_AUTOCOMMIT의 기본값이 ON으로 변경됨 (CUBRIDSUS-5879)¶
CCI 인터페이스로 개발한 응용 프로그램의 자동 커밋 모드에 영향을 미치는 CCI_DEFAULT_AUTOCOMMIT 브로커 파라미터의 기본값이 CUBRID 2008 R4.1부터 ON으로 변경되었다. 이 변경의 결과로 CCI 및 CC 기반 인터페이스(PHP, ODBC, OLE DB 등) 사용자는 응용 프로그램의 자동 커밋 모드가 이에 대해 적합한지 확인해야 한다.
2008 R4.0 버전부터 페이지 단위를 사용하는 옵션 및 파라미터가 볼륨 크기 단위를 사용하도록 변경됨 (CUBRIDSUS-5136)¶
데이터베이스 볼륨 크기와 cubrid createdb 유틸리티의 로그 볼륨 크기를 지정하기 위해 페이지 단위를 사용하는 옵션(-p, -l, -s)은 제거되므로, 2008 R4.0 베타 이후 새로 추가된 옵션(–db-volume-size, –log-volume-size, –db-page-size, –log-page-size)을 사용한다.
cubrid addvoldb 유틸리티의 데이터베이스 볼륨 크기를 지정하려면 페이지 단위를 사용하지 말고 2008 R4.0 베타 이후 새로 추가된 옵션(–db-volume-size)을 사용한다. 페이지 단위 시스템 파라미터가 제거되므로 바이트 형식의 새 시스템 파라미터 사용을 권장한다. 관련 시스템 파라미터에 대한 자세한 내용은 아래를 참고한다.
2008 R4.0 베타 이전 버전 사용자는 db 볼륨 크기를 설정할 때 주의할 것 (CUBRIDSUS-4222)¶
2008 R4.0 베타 버전부터 데이터베이스를 생성할 때 데이터 페이지 크기 및 로그 페이지 크기의 기본값이 4KB에서 16KB로 변경되었다. 페이지 수로 데이터베이스 볼륨을 지정하는 경우 볼륨의 바이트 크기는 예상과 다를 수 있다. 어떠한 옵션도 선택하지 않은 경우 이전 버전에서는 4KB 페이지 크기의 100MB 데이터베이스 볼륨이 생성되었다. 그러나 2008 R4.0부터는 16KB 페이지 크기의 512MB 데이터베이스 볼륨이 생성된다.
또한 사용 가능한 데이터베이스 볼륨의 최소 크기는 20MB로 제한된다. 따라서, 이 크기보다 작은 데이터베이스 볼륨을 생성할 수 없다.
2008 R4.0 이전 버전의 일부 시스템 파라미터의 기본값 변경 (CUBRIDSUS-4095)¶
2008 R4.0부터 일부 시스템 파라미터의 기본값이 변경되었다.
max_clients의 기본값(DB 서버에서 허용되는 동시 연결 수 지정)과 index_unfill_factor의 기본값(인덱스 페이지 생성 시 향후 갱신을 위한 예약 공간의 비율 지정)이 변경되었으며, 바이트 단위의 시스템 파라미터의 기본값이 페이지 단위의 이전 시스템 파라미터의 기본값을 초과하는 경우 더 많은 메모리를 사용하게 되었다.
기존 시스템 파라미터 | 추가된 시스템 파라미터 | 기존 기본값 | 변경된 기본값 (단위 :바이트) |
---|---|---|---|
max_clients | 없음 | 50 | 100 |
index_unfill_factor | 없음 | 0.2 | 0.05 |
data_buffer_pages | data_buffer_size | 100M(page size=4K) | 512M |
log_buffer_pages | log_buffer_size | 200K(page size=4K) | 4M |
sort_buffer_pages | sort_buffer_size | 64K(page size=4K) | 2M |
index_scan_oid_buffer_pages | index_scan_oid_buffer_size | 16K(page size=4K) | 64K |
또한, cubrid createdb를 사용하여 데이터베이스를 생성할 때 데이터 페이지 크기 및 로그 페이지 크기의 최소 값이 1K에서 4K로 변경되었다.
시스템 파라미터가 잘못 설정된 경우 데이터베이스 서비스, 유틸리티 및 응용 프로그램을 수행할 수 없도록 변경됨 (CUBRIDSUS-5375)¶
cubrid.conf 또는 cubrid_ha.conf에 정의되지 않은 시스템 파라미터를 설정하거나, 시스템 파라미터의 값이 임계값을 초과하거나, 페이지 단위 시스템 파라미터 및 바이트 단위 시스템 파라미터가 동시에 사용되는 경우 관련 서비스, 유틸리티 및 응용 프로그램이 수행되지 않도록 변경되었다.
CUBRID 32비트 버전에서 2G를 초과하는 값을 사용하여 data_buffer_size를 설정할 경우 데이터베이스 구동에 실패함 (CUBRIDSUS-5349)¶
CUBRID 32비트 버전에서 data_buffer_size의 값이 2G를 초과하는 경우 데이터베이스 구동에 실패한다. 이 설정 값은 OS 제한 때문에 32비트 버전에서 2G를 초과할 수 없다.
Windows Vista 및 그 이후 버전에서 CUBRID 유틸리티를 사용한 서비스 제어 시 권장 사항 (CUBRIDSUS-4186)¶
Windows Vista 및 그 이후 버전에서 cubrid 유틸리티를 사용하여 서비스를 제어하려면 명령 프롬프트 창을 관리자 권한으로 구동한 후 사용하는 것을 권장한다.
명령 프롬프트 창을 관리자 권한으로 구동하지 않고 cubrid 유틸리티를 사용하는 경우 UAC(User Account Control) 대화 상자를 통하여 관리자 권한으로 수행할 수 있으나 수행 결과의 메시지를 확인할 수 없다.
Windows Vista 및 그 이후 버전에서 명령 프롬프트 창을 관리자 권한으로 구동하는 방법은 다음과 같다.:
- [시작 > 모든 프로그램 > 보조프로그램 > 명령 프롬프트]를 마우스 오른쪽 버튼을 클릭한다.
- [관리자로 수행(A)]을 선택하면 권한 상승을 확인하는 대화 상자가 활성화되고, “예”를 클릭하여 관리자 권한으로 구동한다.
CUBRID 소스 빌드 후 수행 시, 매니저 서버 프로세스 관련 오류 발생 (CUBRIDSUS-3553)¶
사용자가 CUBRID 소스를 직접 빌드하고 설치하는 경우, CUBRID와 CUBRID Manager를 각각 빌드하여 설치해야 한다. CUBRID 소스만 체크 아웃하고 빌드 후 cubrid service start 또는 cubrid manager start를 실행하면 “cubrid manager server is not installed”라는 오류가 발생한다.
2008 r3.0 또는 그 이전 버전에서 사용하던 GLO 클래스 지원 중단 (CUBRIDSUS-3826)¶
CUBRID 2008 R3.0 및 그 이전 버전은 glo(Generalized Large Object) 클래스를 사용하여 Large Object를 처리했지만 glo 클래스는 CUBRID 2008 R3.1 및 그 이후 버전에서 제거되었다. 대신, BLOB 및 CLOB(이후 LOB) 데이터 타입이 지원된다. LOB 데이터 타입에 대한 자세한 내용은 BLOB/CLOB 데이터 타입 절을 참고한다.
glo 클래스 사용자는 다음 작업을 수행할 것을 권장한다.:
- GLO 데이터를 파일로 저장한 후에 다른 응용 프로그램 및 DB 스키마에서 GLO를 사용하지 않도록 수정한다.
- unloaddb 및 loaddb 유틸리티를 사용하여 DB 마이그레이션을 수행한다.
- 수정된 응용 프로그램에 따라 파일을 LOB 데이터로 로드하는 작업을 수행한다.
- 수정한 응용 프로그램이 정상적으로 동작하는지 확인한다.
예를 들어, cubrid loaddb 유틸리티가 GLO 클래스를 상속하거나 GLO 데이터 타입이 있는 테이블을 로드하는 경우 “Error occurred during schema loading.” 오류 메시지와 함께 데이터 로딩을 중지한다.
GLO 클래스의 지원이 중단됨에 따라 각 인터페이스에 대해 삭제된 함수는 다음과 같다.:
인터페이스 | 삭제한 함수 |
---|---|
CCI | cci_glo_append_data cci_glo_compress_data cci_glo_data_size cci_glo_delete_data cci_glo_destroy_data cci_glo_insert_data cci_glo_load cci_glo_new cci_glo_read_data cci_glo_save cci_glo_truncate_data cci_glo_write_data |
JDBC | CUBRIDConnection.getNewGLO CUBRIDOID.loadGLO CUBRIDOID.saveGLO |
PHP | cubrid_new_glo cubrid_save_to_glo cubrid_load_from_glo cubrid_send_glo |
마스터와 서버 프로세스 사이의 프로토콜이 변경된 경우 또는 두 버전이 동시에 실행되는 경우 포트 설정 필요 (CUBRIDSUS-3564)¶
마스터 프로세스(cub_master)와 서버 프로세스(cub_server) 사이의 통신 프로토콜이 변경되었으므로 CUBRID 2008 R3.0 또는 그 이후 버전의 마스터 프로세스는 이전 버전의 서버 프로세스와 통신할 수 없고 이전 버전의 마스터 프로세스는 2008 R3.0 또는 그 이후 버전과 통신할 수 없다. 따라서 이전 버전이 이미 설치된 환경에 새 버전을 추가하여 동시에 두 버전의 CUBRID를 실행하는 경우 버전별로 다른 포트가 사용되도록 cubrid.conf의 cubrid_port_id 시스템 파라미터를 수정해야 한다.
JDBC에서 URL 문자열로서 연결 정보를 입력할 때 물음표 명시 (CUBRIDSUS-3217)¶
JDBC에서 URL 문자열로서 연결 정보를 입력할 때 이전 버전에서 물음표(?)를 입력하지 않은 경우에도 속성 정보가 지정되었다. 그러나 이 CUBRID 2008 R3.0 버전에서는 구문에 따라 물음표를 명시해야 한다. 그렇지 않은 경우 오류가 표시된다. 또한, 연결 정보에 사용자명 또는 암호가 없는 경우에도 콜론(:)을 명시해야 한다.
URL=jdbc:CUBRID:127.0.0.1:31000:db1:::altHosts=127.0.0.2:31000,127.0.0.3:31000 -- 에러처리
URL=jdbc:CUBRID:127.0.0.1:31000:db1:::?altHosts=127.0.0.2:31000,127.0.0.3:31000 -- 정상처리
데이터베이스명에 @을 포함할 수 없음 (CUBRIDSUS-2828)¶
데이터베이스명에 @이 포함되면 호스트명이 지정된 것으로 해석될 수 있다. 이를 방지하기 위해 cubrid createdb, cubrid renamedb 및 cubrid copydb 유틸리티를 실행할 때는 데이터베이스에 @이 포함될 수 없도록 수정되었다.