@@ -27,6 +27,19 @@ protected function setUp()
2727 public function createEngineProvider ()
2828 {
2929 return [
30+ #0
31+ ["Engine = MergeTree(a, b, 8192) " ,
32+ ['engine ' => 'MergeTree ' ,
33+ 'engine_param ' => ['a ' , 'b ' , 8192 ],
34+ 'merge_tree_fam ' => true ,
35+ 'date_field ' => 'a ' ,
36+ 'sampl ' => false ,
37+ 'primary_key ' => 'b ' ,
38+ 'granul ' => 8192 ,
39+ 'ver ' => false
40+ ]],
41+
42+ #1
3043 ["ENGINE = MergeTree(dt, (id, dt), 8192, ver) " ,
3144 ['engine ' => 'MergeTree ' ,
3245 'engine_param ' => ['dt ' , '(id, dt) ' , 8192 , 'ver ' ],
@@ -38,6 +51,7 @@ public function createEngineProvider()
3851 'ver ' => 'ver '
3952 ]],
4053
54+ #2
4155 ["ENGINE = MergeTree(dt, (id, dt), 8192) " ,
4256 ['engine ' => 'MergeTree ' ,
4357 'engine_param ' => ['dt ' , '(id, dt) ' , 8192 ],
@@ -49,6 +63,7 @@ public function createEngineProvider()
4963 'ver ' => ''
5064 ]],
5165
66+ #3
5267 ["ENGINE = MergeTree(dt, sampl, (id, dt), 8192) " ,
5368 ['engine ' => 'MergeTree ' ,
5469 'engine_param ' => ['dt ' , 'sampl ' , '(id, dt) ' , 8192 ],
@@ -60,6 +75,7 @@ public function createEngineProvider()
6075 'ver ' => ''
6176 ]],
6277
78+ #4
6379 ["ENGINE = Log " ,
6480 ['engine ' => 'Log ' ,
6581 'engine_param ' => ['' ],
@@ -71,11 +87,14 @@ public function createEngineProvider()
7187 'ver ' => ''
7288 ]],
7389
90+ #5
7491 ["ENGINE = Log( " , false ],
92+
93+ #6
7594 ["IMAGINE = Log " , false ],
76- ["Engine = MergeTree(a, b, 8192) " , false ],
77- ["Engine = MergeTree(a, (), 8192) " , false ],
7895
96+ #7
97+ ["Engine = MergeTree(a, (), 8192) " , false ],
7998 ];
8099 }
81100
@@ -101,6 +120,9 @@ public function testParseCreateEngineSql($sql, $regpars)
101120 }
102121 }
103122 } else {
123+ if (\is_array ($ ans )) {
124+ print_r ($ ans );
125+ }
104126 $ this ->assertFalse (\is_array ($ ans ));
105127 }
106128 }
@@ -707,6 +729,32 @@ public function testMakeFieldCreater($name, $type, $default, $creater)
707729 $ this ->assertEquals ($ creater , $ ans );
708730 }
709731
732+ /**
733+ * Data provider for testIsValidName
734+ *
735+ * @return array of name, isValid, ret_name
736+ */
737+ public function isValidNameProvider ()
738+ {
739+ return [
740+ ['id ' , true , false ],
741+ ['id ' , 'id ' , true ],
742+ ['' , false , false ],
743+ ];
744+ }
745+
746+ /**
747+ * @dataProvider isValidNameProvider
748+ * @covers ierusalim\ClickHouse\ClickHouseSQLParser::isValidName
749+ * @todo Implement testMakeFieldCreater().
750+ */
751+ public function testIsValidName ($ name , $ isValid , $ ret_name )
752+ {
753+ $ ch = $ this ->object ;
754+ $ ans = $ ch ->isValidName ($ name , $ ret_name );
755+ $ this ->assertEquals ($ isValid , $ ans );
756+ }
757+
710758 /**
711759 * Data provider for testParseCreateFields
712760 *
0 commit comments