Open Source RDBMS - Seamless, Scalable, Stable and Free

한국어 | Login |Register

Current Events
Join our developers event to win one of the valuable prizes!
posted 6 years ago
viewed 4757 times
Share this article

CUBRID 8.4.0 GA is now available for download

Happy Independence Day, my dear American citizens! It's what? 235 years since independence!? That's great! Be happy all and enjoy your day!

In the meantime...

About two month ago we have released a beta version of the new CUBRID 8.4.0 which proved once again that it is a powerful database with great optimization for Web applications. It featured twice faster database engine and over 90% MySQL SQL syntax compatibility. We had greatly improved the UI and usability of our CUBRID Manager and Query Browser database management tools. That was a great achievement for us.

And today I am very proud to announce the GA release of CUBRID 8.4.0. You can download it for Windows or Linux from

Below you can see a summary of main differences between GA version and the beta release.

Size measurement

Normally, prior to version 8.4.0 GA internally data in CUBRID used to be measured in pages. That is when creating a database, CUBRID used to create a data volume which consisted of X number of pages (can be customized by a user), each of which was of X size in kilobytes. So, we when users requested the database size info, CUBRID used to return the number of total and free pages.


Starting from 8.4.0 GA everything in the CUBRID environment is measured in actual memory sizes (GB, MB, KB). Now it is easier to understand. Perhaps, this is one those nice enhancements used by users very frequently.


New Options

As a result of the size related changes, we have introduced several new utility level options used when working with databases. They are:

Utilities Old options to be deprecated Alternative new options Description
createdb -p --db-volume-size Specify the database volume size.

If omitted, the default value (512MB) of the db_volume_size system parameter will be used.

-l --log-volume-size Specify the log volume size.

If omitted, the default value (512MB) of the log_volume_size system parameter will be used.

-s --db-page-size Specify the database page size.
--log-page-size Specify the log page size.
addvoldb --db-volume-size Specify the database volume size.

If omitted, the default value (512MB) of the db_volume_size system parameter will be used.


  • A new force_remove_log_archives system parameter has been introduced which indicated whether to delete unnecessary archive log files or not. Defaults to YES.
  • Another change in thew GA release is reflected in the default database volume size, which was increased from 400MB to 512MB.
  • Supported CCI auto commit feature.
  • Modification made in order to commit the proceeding transaction when the CCI API cci_set_autocommit is called.
  • Numerous HA related improvements, including nicer error messages handling.
  • We have added two configuration files (cubrid.conf.small and cubrid.conf.large) which have recommended configurations for small and large deployments. For more details see the release note.

    • cubrid.conf.small - 1 Core CPU, 1 GB RAM, ATA HDD
    • cubrid.conf.large - 4 Core CPU, 4 GB RAM, RAID HDD
  • Added a new --substr (-s) option to the cubrid statdump utility which allows to output only those CUBRID performance statistics information which contain the specified string as a substring.
  • Changed the minimum page size of database to 4K.
  • Increased the maximum number of the log pages.
  • Changed the volume size of demodb created while installing CUBRID to 100MB.
  • Modified the sql-error-codes.xml error mapping file used by the Spring framework.
  • Changed the CUBRID logo.

Bug Fixes

Since the beta release we have fixed 37 bugs to ensure the stability of the GA release.

  • Now the stability of explicit data type conversion is guaranteed.
  • Corrected an error that auto commit was unavailable when SELECT clause was performed even tough the auto commit mode was TRUE in the CCI, PHP, ODBC, and OLE DB applications.
  • LIMIT issue has been fixed when used in the UNION, INTERSECTION, DIFFERENCE queries.
  • Fixed issues that occur when using INCR/DECR query functions.
  • Fixed a bug which ignored the condition after OR operator in the WHERE clause if the same variable is used in both conditions.
  • Fixed a bug which generated an error when an UPDATE query is executed on a table row which has CHAR, NCHAR, or BIT columns with NULL values.
  • Fixed an error which sometimes produced incorrect results when CASE or DECODE functions were used in the query statements.
  • Modified the LAST_INSERT_ID to be kept independently in the inside from the ourside of the trigger execution area.
  • Fixed an error that the LAST_INSERT_ID could return NULL.
  • Fixed an error that could sometimes output a wrong result in the query statement that used the CASE statement or the DECODE function.
  • Modified the broker common application server (CAS) process to keep information such as the user-defined variables and prepared statement even when the broker common application server (CAS) process was restarted due to excessive use of the specified memory usage.
  • Fixed a phenomenon that communication with the application would delay when request for connection to the broker suddenly increased.
  • Modified that the member of a user group and the member of a DBA group that created SERIAL could execute the ALTER SERIAL statement.
  • Fixed an error that occurred when the hierarchy query statement was included as a sub query of the UPDATE statement or the DELETE statement.
  • Fixed the problem that the database server would be abnormally terminated when an error occurred while  the hierarchy query statement was executed.
  • Fixed the problem that the correlated sub-query in the hierarchy query would not be normally executed.
  • Fixed an error of abnormal execution of the query for the VIEW that included the hierarchy query.
  • Fixed an error of outputting the wrong result when the sub-query was used as a condition of the START WITH clause of the hierarchy query.
  • Fixed an error that a query was executed only by entering the query statement execution command when the CSQL Interpreter has an query statement including two sequential single quotation marks.
  • Modified so that the connection would be kept even when the error that CSQL Interpreter could not change data in the slave DB occurred.
  • FIxed an error that some record might be omitted while executing the cubrid unloaddb utility in the CS mode.
  • Fixed an error that used the page, which had been already returned, while executing cubrid compactdb.
  • Fixed an error that the application could be abnormally terminated while optimizing the LIKE query.
  • Fixed an error that the query execution which needed the temporary temp volume due to exhausted temp volume might be failed.
  • Fixed an error that the server was abnormally terminated when the lock timeout was 0.
  • Modified to make the 32bit version CUBRID database volume compatible with the 64bit version.
  • Fixed an error that the broker parameters which specified the path could not recognize the absolute path.
  • Modified so that the isolation level could be set for the slave DB in the HA environment.
  • Modified so that the heartbeat status information would be output while checking the service status when heartbeat is specified to the service section of the cubrid.conf.
  • FIxed an error that it was unavailable to cancel the query being executed by using Statement.cancel method in the JDBC application.
  • Fixed an error that the system parameter, which had been specified in the database section of the cubrid.conf, was not applied in the client process excluding the database server processes.
  • Changed so that database services, utilities, and applications could not be executed when the system parameter was incorrectly set.
  • Fixed an error that the broker could not be restarted in the other prompt window while monitoring the broker status in Windows.
  • Fixed the memory reference error that could occur while the CCI application called the cci_next_result function in Windows.
More information about these changes you can find in the GA Release Note.


As always migrating from previous version of CUBRID is as easy as unloading your database from the old server

cubrid unloaddb my_db_name

... and loading back to the new server by

cubrid loaddb my_db_name

During the data migration using unloaddb/loaddb utilities, CUBRID will make sure all your data is consistent and reflect all optimizations made on the new version of the database server.

comments powered by Disqus