1
0
mirror of https://github.com/mariadb-corporation/mariadb-columnstore-engine.git synced 2025-07-08 20:02:00 +03:00
Commit Graph

59 Commits

Author SHA1 Message Date
ab74bec10b Merge branch 'develop-1.1' into 1.2-merge-up-20190111 2019-01-11 20:16:38 +00:00
9888f88ac5 MCOL-1662 Use version buffer for UPDATEs
For some reason version buffer is not turned up for update queries which
means that the version number for dictionary blocks is not changed.
This can lead to dirty cache reads resulting in _CpNoTf_ in the results.

This patch turns on version buffer for updates.
2018-12-17 09:08:30 +00:00
101b36acb6 Merge branch 'develop' into MCOL-520 2018-10-08 14:23:48 -05:00
f1f13a09d1 Merge branch 'develop-1.1' into 1.1-merge-up-2018-10-05 2018-10-05 18:40:07 +01:00
b7b98a3e1a MCOL-520 2018-09-25 11:32:56 -05:00
24c5e93756 MCOL-1737 Add debug logging options for LRU cache
This adds options which are user enabled to debug the LRU cache inside
ColumnStore. Specifically cache flushing.

It adds the following:
* PrimProc flush information when SIGUSR2 mode is enabled
* cpimport dictionary flush information when -d2 is used
* WriteEngineServer DML flush information to STDERR
2018-09-21 09:50:10 +01:00
03da6df473 Merge branch 'develop-1.1' into 1.1-merge-up-20180817 2018-08-17 16:17:13 +01:00
9e3f92b6a3 MCOL-1330 Make debug flag let valgrind work
Add a '-d' flag to WriteEngine, ExeMgr and PrimProc to let valgrind work
with them.
2018-06-25 15:10:28 +01:00
3c1ebd8b94 MCOL-392 Add initial TIME datatype support 2018-04-30 09:42:41 +01:00
b584a7f555 MCOL-392 Add DATETIME microscond support
Add initial microsecond support for DATETIME
2018-04-30 09:42:41 +01:00
0d7c0f7ae4 Merge branch 'develop-1.1' into dev-merge-up-20180202 2018-02-02 14:53:36 +00:00
2b944ebe2c Merge branch 'develop-1.1' into MCOL-1160 2018-01-30 15:32:25 -06:00
6211372f61 MCOL-1160 Track and flush dictionary blocks
When bulk write API is used dictionary blocks that are written to needs
flushing in PrimProc. This patch tracks the blocks and flushes them.
2018-01-23 21:17:33 +00:00
5d9f9c819b Merge branch 'develop-1.0' into 1.1-merge-up-20180118 2018-01-18 16:28:08 +00:00
c31c836352 MCOL-1085 Add crash dump to daemons
This patch adds an automated crash dump which logs in
/var/log/mariadb/columnstore/trace/ when one of the ColumnStore daemons
crashes.
2018-01-03 09:20:09 +00:00
01446d1e22 Reformat all code to coding standard 2017-10-26 17:18:17 +01:00
401e257df3 MCOL-879 Fix QueryStats linking issues
With 1.1 we have removed libdrizzle and used MariaDB's client library
instead for both CrossEngine and QueryStats. Unfortunately MariaDB 10.2
has two client libraries which have different structs with the same
name. When QueryStats was running inside the ColumnStore plugin this
symbol conflict was causing a crash.

The server's built-in client API has several different and several
missing functions so some additions to sm.cpp were made to fill the
gaps.

This patch does the following:

* Make sure that libmariadb is only linked to executables, not the
ColumnStore Plugin (to avoid symbol conflicts). Note that all
executables that link to CrossEngine and/or QueryStats need to link to
libmariadb to avoid missing symbol issues.
* Use the server's built-in client API for QueryStats when run in the
plugin
* Replace missing server built-in client API calls in sm.cpp (this is
for QueryStats and CrossEngine to keep the dynamic linker happy)
* Fixes issue where using 'localhost' as the MariaDB Server hostname
would fail in QueryStats.
2017-08-18 10:16:52 +01:00
3330495a2e MCOL-777 Cleanup source
Clean out autotools and some other things from the source tree.
2017-08-07 15:59:56 +01:00
17660aaa54 MCOL-769 Fix data casting issues
Several typos corrupting data, a cleaner method used now
2017-06-27 16:56:01 +01:00
60694a7b72 MCOL-769 Add WE command to get LBIDs written to 2017-06-21 22:39:59 +01:00
4cca5fa7fa MCOL-769 Much higher performance bulk insert
Use void* pointers instead of boost::any with lots of copies
2017-06-20 19:08:48 +01:00
cb52f1a712 MCOL-769 fix column values
They weren't being reset between columns
2017-06-15 10:24:59 +01:00
8a9c58cf6b MCOL-769 Add new binary bulk insert command
For use with mcsapi and maybe INSERT...SELECT and LDI
2017-06-13 13:19:01 +01:00
e9db44424c MCOL-642 Separate TEXT from BLOB
* TEXT and BLOB now have separate identifiers internally
* TEXT columns are identified as such in system catalog
* cpimport only requires hex input for BLOB, not TEXT
2017-03-27 21:36:27 +01:00
aea729fe7d MCOL-267 DML support
* DML writes for multi-block dictionary (blob) now works
* PrimProc fixed so that the first block in multi-block is read
correctly
* Performance optimisation (removed string copy into stack) for new
dictionary entries
2017-03-18 14:31:29 +00:00
c08d03fba4 MCOL-267 Make BLOB DDL/DML work
Currently limited to 8KB inserts.
2017-03-17 12:10:02 +00:00
80b4d7ee36 MCOL-553 Improve error handling for ulimit
Now sends an error to the error log and aborts postConfigure
2017-02-21 21:10:57 +00:00
739f61a1ef MCOL-553 Error if we can't set file limits
Especially for non-root installs. Otherwise we could be in for some pain
later...
2017-02-08 17:13:30 +00:00
ae630b3375 Merge pull request #89 from mariadb-corporation/MCOL-455
MCOL-455 Change resistribute database logic to move all segment files…
2017-01-09 19:57:04 +00:00
600e758539 MCOL-455 Change resistribute database logic to move all segment files from designated dbroots to others in the system. 2017-01-06 13:04:32 -06:00
bb800e4771 MCOL-477 Change autoincrement on ALTER TABLE
This patch allows the following syntax to change the current
autoincrement value for the table:

ALTER TABLE table_name COMMENT='autoincrement=value';

Where "value" is the new integer to be used.
2017-01-05 15:03:54 +00:00
025838629b MCOL-454 I_S.COLUMNSTORE_FILES multi-node
I_S.COLUMNSTORE_FILES returned bad filenames and NULL file sizes when
there are multiple nodes in a ColumnStore cluster

It adds an extra message call to the WriteEngine to get the file size
for that file. The I_S function will figure out which WriteEngine to
communicate with and get the file size details from it.
2016-12-14 16:55:03 +00:00
874596c6cd MCOL-309 Implement Information Schema tables
This patch does the following:

* Fix a year storage issue in the datestamp for the columnstore tables
  metadata table (note that any previous tables will still have the
  incorrect year stored).
* Expose the table creation date in CalpontSystemCatalog::getTables()
* Add an INFORMATION_SCHEMA table listing the tables in ColumnStore
  (similar to systable)
* Add an INFORMATION_SCHEMA table listing the columns in ColumnStore
  (similar to syscolumn)
* Add an INFORMATION_SCHEMA table listing the extents in ColumnStore
  (similar to the editem tool but with additional file information)
* Modifies the build system and scripts to support the new tables
2016-11-14 15:44:20 +00:00
4fc7fa12cd MCOL-129 INSERT/UPDATE strict mode support
This changes the warning for truncation to the correct MariaDB error
code (1264).

In addition it passes the strict mode up into the DML class to roll back
correctly.

It also sets the abort_on_warning flag for updates as this isn't set on
the rnd_init phase but is needed for strict mode to work.
2016-11-04 14:06:00 +00:00
3d91ac193c Merge branch 'develop' of git://github.com/mariadb-corporation/mariadb-columnstore-engine into MCOL-97 2016-09-22 18:50:59 -05:00
7d3cd26af9 MCOL-160 MCOL-262 CMake Build Fixes for out-of-tree builds and engine RPMS 2016-09-22 10:14:18 -04:00
b954001fba Remove net-snmp and use the OS version
Also remove a few old binaries from build/
2016-09-13 17:42:57 +01:00
1a7883f98b Merge pull request #4 from LinuxJedi/MCOL-274
Make date handling more in-line with MySQL
2016-09-02 09:15:00 -05:00
25851df89d Add support for zero date separate to NULL
NULL is now pushed through the MariaDB storage engine plugin down to the
insert processing. A '0000-00-00' date is now a separate value to NULL.

This is more in-line with MariaDB's handling.
2016-08-30 16:26:36 +01:00
0bea3e4ab1 Make date handling more in-line with MySQL
Date limit of year 1400 was used due to Boost's limits.

This patch strips out the use of Boost for date handling and sets the
lower limit to year 1000.
2016-08-30 11:25:16 +01:00
392d6df495 Merge branch 'mcol-159' into develop
Conflicts:
	1
	Makefile.save
	autom4te.cache/output.0
	autom4te.cache/traces.0
	autom4te.cache/traces.1
	compile
	config.guess
	config.sub
	configure.save
	dbcon/Makefile.in
	dbcon/ddlpackage/Makefile.in
	dbcon/ddlpackage/ddl-scan.cpp
	dbcon/ddlpackageproc/Makefile.in
	dbcon/dmlpackage/Makefile.in
	dbcon/dmlpackage/dml-scan.cpp
	dbcon/dmlpackageproc/Makefile.in
	dbcon/execplan/Makefile.in
	dbcon/joblist/Makefile.in
	dbcon/mysql/Makefile.in
	ddlproc/Makefile.in
	decomsvr/Makefile.in
	depcomp
	dmlproc/Makefile.in
	exemgr/Makefile.in
	install-sh
	missing
	net-snmp/Makefile.in
	net-snmp/net-snmp-5.7.3/agent/mibgroup/mib_module_includes.h
	net-snmp/net-snmp-5.7.3/configure-summary
	net-snmp/net-snmp-5.7.3/dist/generation-scripts/gen-variables
	net-snmp/net-snmp-5.7.3/include/net-snmp/agent/mib_module_config.h
	net-snmp/net-snmp-5.7.3/mk/MODULE_LIST.mk
	net-snmp/net-snmp-5.7.3/mk/mib_module_list_c.mk
	net-snmp/net-snmp-5.7.3/mk/mib_module_list_code.mk
	net-snmp/net-snmp-5.7.3/mk/mib_module_list_ft.mk
	net-snmp/net-snmp-5.7.3/mk/mib_module_list_lo.mk
	net-snmp/net-snmp-5.7.3/mk/mib_module_list_o.mk
	net-snmp/net-snmp-5.7.3/mk/mibgroup_list_ft.mk
	net-snmp/net-snmp-5.7.3/mk/mibgroup_list_lo.mk
	net-snmp/net-snmp-5.7.3/mk/mibgroup_list_o.mk
	net-snmp/net-snmp-5.7.3/mk/module_list_c.mk
	net-snmp/net-snmp-5.7.3/mk/module_list_code.mk
	net-snmp/net-snmp-5.7.3/mk/module_list_ft.mk
	net-snmp/net-snmp-5.7.3/mk/module_list_lo.mk
	net-snmp/net-snmp-5.7.3/mk/module_list_o.mk
	oam/Makefile.in
	oam/cloud/Makefile.in
	oam/etc/Makefile.in
	oam/oamcpp/Makefile.in
	oam/post/Makefile.in
	oamapps/Makefile.in
	oamapps/calpontDB/Makefile.in
	oamapps/calpontSupport/Makefile.in
	oamapps/columnstoreDB/Makefile.in
	oamapps/columnstoreSupport/Makefile.in
	oamapps/mcsadmin/Makefile.in
	oamapps/postConfigure/Makefile.in
	oamapps/sendtrap/Makefile.in
	oamapps/serverMonitor/Makefile.in
	oamapps/sessionWalker/Makefile.in
	oamapps/traphandler/Makefile.in
	primitives/Makefile.in
	primitives/blockcache/Makefile.in
	primitives/linux-port/Makefile.in
	primitives/primproc/Makefile.in
	procmgr/Makefile.in
	procmon/Makefile.in
	snmpd/Makefile.in
	snmpd/etc/Makefile.in
	snmpd/snmpmanager/Makefile.in
	tools/Makefile.in
	tools/clearShm/Makefile.in
	tools/cleartablelock/Makefile.in
	tools/configMgt/Makefile.in
	tools/cplogger/Makefile.in
	tools/dbbuilder/Makefile.in
	tools/dbloadxml/Makefile.in
	tools/ddlcleanup/Makefile.in
	tools/editem/Makefile.in
	tools/getConfig/Makefile.in
	tools/idbmeminfo/Makefile.in
	tools/setConfig/Makefile.in
	tools/viewtablelock/Makefile.in
	utils/Makefile.in
	utils/batchloader/Makefile.in
	utils/boost_idb/Makefile.in
	utils/cacheutils/Makefile.in
	utils/common/Makefile.in
	utils/compress/Makefile.in
	utils/configcpp/Makefile.in
	utils/dataconvert/Makefile.in
	utils/ddlcleanup/Makefile.in
	utils/funcexp/Makefile.in
	utils/idbdatafile/Makefile.in
	utils/idbhdfs/Makefile.in
	utils/idbhdfs/hdfs-12/Makefile.in
	utils/idbhdfs/hdfs-20/Makefile.in
	utils/jemalloc/Makefile.in
	utils/joiner/Makefile.in
	utils/loggingcpp/Makefile.in
	utils/messageqcpp/Makefile.in
	utils/mysqlcl_idb/Makefile.in
	utils/querystats/Makefile.in
	utils/querytele/Makefile.in
	utils/rowgroup/Makefile.in
	utils/rwlock/Makefile.in
	utils/startup/Makefile.in
	utils/threadpool/Makefile.in
	utils/thrift/Makefile.in
	utils/udfsdk/Makefile.in
	utils/windowfunction/Makefile.in
	utils/winport/Makefile.in
	versioning/BRM/Makefile.in
	versioning/Makefile.in
	writeengine/Makefile.in
	writeengine/bulk/Makefile.in
	writeengine/client/Makefile.in
	writeengine/dictionary/Makefile.in
	writeengine/index/Makefile.in
	writeengine/redistribute/Makefile.in
	writeengine/server/Makefile.in
	writeengine/shared/Makefile.in
	writeengine/splitter/Makefile.in
	writeengine/wrapper/Makefile.in
2016-08-10 16:24:51 -05:00
8bc7e46905 MCOL-5 Don't send empty strings in cpimport command line. It confuses cpimport. 2016-08-09 11:35:45 -05:00
8de8666046 MCOL-5 fill the vector before taking the addresses of the strings. 2016-08-08 16:36:01 -05:00
7598e8bc75 MCOL-5 Building the cpimport command line for LDI relied on the addresses of the contents of a std:vector being static during re-allocation. This is an erroneous assumption. Recoded to build the vector completely, then use it. 2016-08-05 14:09:19 -05:00
4709c2bece Add dependencies on netsnmp build 2016-07-27 16:00:28 -05:00
6527f191e1 merged mcol-5 2016-07-21 09:00:25 -05:00
6d11ce030d MCOL-66 - Make the DDL and DML parsers re-entrant.
Serialize all DDL because the VVS can't handle modifying the same block simultaneously
Fix the CTRL+C logic in DML that caused COMMIT issues.
2016-07-20 11:47:51 -05:00
edb55cf23a mcol-5 save files 2016-07-19 10:46:58 -05:00
424628349b Add CMake build tree files 2016-07-15 10:49:57 -05:00
d90af9496e Remove Makefile.in and update gitignore 2016-07-15 10:49:57 -05:00