4

我在 CentOS 6.4 上运行 MariaDB (10.0.2-MariaDB),并想使用 MariaDB 的 CONNECT-Engine 从一些日志文件中读取。由于日志文件很大,我用两个 CSV 文件重新创建了错误,每个文件都包含一行。

MariaDB [jedi]> create table test1 ( a char(10), b char(10) ) engine=CONNECT table_type=CSV file_name='/tmp/test1.csv' sep_char=';' compress=0 multiple=0;
Query OK, 0 rows affected (0.00 sec)

MariaDB [jedi]> create table test2 ( a char(10), b char(10) ) engine=CONNECT table_type=CSV file_name='/tmp/test2.csv' sep_char=';' compress=0 multiple=0;
Query OK, 0 rows affected (0.01 sec)

MariaDB [jedi]> select * from test1;
+------+------+
| a    | b    |
+------+------+
| test | bla  |
+------+------+
1 row in set (0.00 sec)

MariaDB [jedi]> select * from test2;
+-------+------+
| a     | b    |
+-------+------+
| test2 | blub |
+-------+------+
1 row in set (0.00 sec)

现在有趣的功能是将这些文件合并到一个表中,这应该是可能的(说https://kb.askmonty.org/en/connect-table-types-data-files/#multiple-file-tables)。

但如果我这样做:

MariaDB [jedi]> create table test_all ( a char(10), b char(10) ) engine=CONNECT table_type=CSV file_name='/tmp/test*.csv' sep_char=';' compress=0 multiple=1;
Query OK, 0 rows affected (0.00 sec)

MariaDB [jedi]> select * from test_all;
ERROR 2013 (HY000): Lost connection to MySQL server during query

有人知道解释吗?没关系“compress = 0”,我还测试了从 gzip 压缩文件中读取,这就像一个魅力......直到你尝试从两个文件中读取到一个表中。

谢谢, 詹斯

4

1 回答 1

2

这是 MariaDB 10.0.2 中的一个错误,已在 10.0.3 中修复(相应的票证显示为 10.0.4,但 10.0.3 不再发生该错误)。

于 2013-06-13T09:33:10.783 回答