1install plugin mysqlx soname "mysqlx.so";
2call mtr.add_suppression("Plugin mysqlx reported: .Failed at SSL configuration: .SSL context is not usable without certificate and private key..");
3call mtr.add_suppression("Plugin mysqlx reported: .SSL_CTX_load_verify_locations failed.");
4CREATE TABLE `scalar_types`(`number_uint` INTEGER UNSIGNED DEFAULT 10, `number_sint` INTEGER DEFAULT -10, `value_bool` BOOLEAN DEFAULT 0, `value_string` VARCHAR(255) default NULL, `number_float` FLOAT DEFAULT 1.1, `number_double` DOUBLE DEFAULT 2.2, `value_blob` TINYBLOB DEFAULT NULL);
5RUN SHOW STATUS like 'Mysqlx_stmt_execute_sql%'
6Variable_name	Value
7Mysqlx_stmt_execute_sql	1
80 rows affected
9RUN SHOW STATUS like 'Mysqlx_stmt_execute_xplugin%'
10Variable_name	Value
11Mysqlx_stmt_execute_xplugin	0
120 rows affected
13send Mysqlx.Sql.StmtExecute {
14  stmt: "create_collection"
15  args {
16    type: SCALAR
17    scalar {
18      type: V_STRING
19      v_string {
20        value: "xplugintest"
21      }
22    }
23  }
24  args {
25    type: SCALAR
26    scalar {
27      type: V_STRING
28      v_string {
29        value: "table2"
30      }
31    }
32  }
33  namespace: "xplugin"
34}
35
36
37command ok
38Namespace 'xplugin' is deprecated, please use 'mysqlx' instead
39send Mysqlx.Sql.StmtExecute {
40  stmt: "INSERT INTO `xplugintest`.`scalar_types`(`number_sint`, `number_uint`, `value_string`) VALUES(0, ?, \'First inserted row\'),(?, 1,\'Second inserted row\'), (-1, 0,?)"
41  args {
42    type: SCALAR
43    scalar {
44      type: V_UINT
45      v_unsigned_int: 1
46    }
47  }
48  args {
49    type: SCALAR
50    scalar {
51      type: V_SINT
52      v_signed_int: -1
53    }
54  }
55  args {
56    type: SCALAR
57    scalar {
58      type: V_STRING
59      v_string {
60        value: "\"Thrid\" inserted \'row\'"
61      }
62    }
63  }
64}
65
66
673 rows affected
68Records: 3  Duplicates: 0  Warnings: 0
69send Mysqlx.Sql.StmtExecute {
70  stmt: "INSERT INTO `xplugintest`.`scalar_types`(`number_float`, `number_double`, `value_blob`) VALUES(0.1, ?, \'First inserted blob\'),(?, 200.01,\'Second inserted blob\'), (10.11, 2.2, ?), (111, 222, ?)"
71  args {
72    type: SCALAR
73    scalar {
74      type: V_DOUBLE
75      v_double: 200.01
76    }
77  }
78  args {
79    type: SCALAR
80    scalar {
81      type: V_DOUBLE
82      v_double: 10.11
83    }
84  }
85  args {
86    type: SCALAR
87    scalar {
88      type: V_STRING
89      v_string {
90        value: "\"Thrid\" inserted \'blob\'"
91      }
92    }
93  }
94  args {
95    type: SCALAR
96    scalar {
97      type: V_NULL
98    }
99  }
100}
101
102
1034 rows affected
104Records: 4  Duplicates: 0  Warnings: 0
105RUN SHOW STATUS like 'Mysqlx_stmt_execute_sql%'
106Variable_name	Value
107Mysqlx_stmt_execute_sql	5
1080 rows affected
109RUN SHOW STATUS like 'Mysqlx_stmt_execute_xplugin%'
110Variable_name	Value
111Mysqlx_stmt_execute_xplugin	1
1120 rows affected
113Mysqlx.Ok {
114  msg: "bye!"
115}
116ok
117RUN SHOW STATUS like 'Mysqlx_stmt_execute_sql%'
118Variable_name	Value
119Mysqlx_stmt_execute_sql	1
1200 rows affected
121RUN SHOW STATUS like 'Mysqlx_stmt_execute_xplugin%'
122Variable_name	Value
123Mysqlx_stmt_execute_xplugin	0
1240 rows affected
125Mysqlx.Ok {
126  msg: "bye!"
127}
128ok
129SELECT * FROM `xplugintest`.`scalar_types`;
130number_uint	number_sint	value_bool	value_string	number_float	number_double	value_blob
1311	0	0	First inserted row	1.1	2.2	NULL
1321	-1	0	Second inserted row	1.1	2.2	NULL
1330	-1	0	"Thrid" inserted 'row'	1.1	2.2	NULL
13410	-10	0	NULL	0.1	200.01	First inserted blob
13510	-10	0	NULL	10.11	200.01	Second inserted blob
13610	-10	0	NULL	10.11	2.2	"Thrid" inserted 'blob'
13710	-10	0	NULL	111	222	NULL
138RUN SHOW STATUS like 'Mysqlx_stmt_execute_sql%'
139Variable_name	Value
140Mysqlx_stmt_execute_sql	1
1410 rows affected
142RUN SHOW STATUS like 'Mysqlx_stmt_execute_xplugin%'
143Variable_name	Value
144Mysqlx_stmt_execute_xplugin	0
1450 rows affected
146Filter data by unsigned int
147send Mysqlx.Sql.StmtExecute {
148  stmt: "SELECT * FROM `xplugintest`.`scalar_types` WHERE `number_uint`=?"
149  args {
150    type: SCALAR
151    scalar {
152      type: V_UINT
153      v_unsigned_int: 1
154    }
155  }
156}
157
158number_uint	number_sint	value_bool	value_string	number_float	number_double	value_blob
1591	0	0	First inserted row	1.1	2.2	null
1601	-1	0	Second inserted row	1.1	2.2	null
1610 rows affected
162Filter data by signed int
163send Mysqlx.Sql.StmtExecute {
164  stmt: "SELECT * FROM `xplugintest`.`scalar_types` WHERE `number_sint`=?"
165  args {
166    type: SCALAR
167    scalar {
168      type: V_SINT
169      v_signed_int: -1
170    }
171  }
172}
173
174number_uint	number_sint	value_bool	value_string	number_float	number_double	value_blob
1751	-1	0	Second inserted row	1.1	2.2	null
1760	-1	0	"Thrid" inserted 'row'	1.1	2.2	null
1770 rows affected
178RUN SHOW STATUS like 'Mysqlx_stmt_execute_sql%'
179Variable_name	Value
180Mysqlx_stmt_execute_sql	5
1810 rows affected
182RUN SHOW STATUS like 'Mysqlx_stmt_execute_xplugin%'
183Variable_name	Value
184Mysqlx_stmt_execute_xplugin	0
1850 rows affected
186Mysqlx.Ok {
187  msg: "bye!"
188}
189ok
190RUN SHOW STATUS like 'Mysqlx_stmt_execute_sql%'
191Variable_name	Value
192Mysqlx_stmt_execute_sql	1
1930 rows affected
194RUN SHOW STATUS like 'Mysqlx_stmt_execute_xplugin%'
195Variable_name	Value
196Mysqlx_stmt_execute_xplugin	0
1970 rows affected
198Insert multiple rows into a Document column
199send Mysqlx.Crud.Insert {
200  collection {
201    name: "table2"
202    schema: "xplugintest"
203  }
204  data_model: DOCUMENT
205  row {
206    field {
207      type: LITERAL
208      literal {
209        type: V_STRING
210        v_string {
211          value: "\n{\n         \"_id\": \"1\",\n         \"name\": \"Omar Bras\", \"id\": \"1\"\n}"
212        }
213      }
214    }
215  }
216  row {
217    field {
218      type: LITERAL
219      literal {
220        type: V_STRING
221        v_string {
222          value: "\n{\n         \"_id\": \"2\",\n         \"name\": \"Omar Mex\", \"id\": \"2\"\n}"
223        }
224      }
225    }
226  }
227}
228
229
2302 rows affected
231Records: 2  Duplicates: 0  Warnings: 0
232send Mysqlx.Crud.Insert {
233  collection {
234    name: "table2"
235    schema: "xplugintest"
236  }
237  data_model: DOCUMENT
238  row {
239    field {
240      type: LITERAL
241      literal {
242        type: V_STRING
243        v_string {
244          value: "\n{\n         \"_id\": \"3\",\n         \"name\": \"Omar Peru\", \"id\": \"3\"\n}"
245        }
246      }
247    }
248  }
249}
250
251
2521 rows affected
253send Mysqlx.Sql.StmtExecute {
254  stmt: "list_objects"
255  args {
256    type: SCALAR
257    scalar {
258      type: V_STRING
259      v_string {
260        value: "xplugintest"
261      }
262    }
263  }
264  namespace: "xplugin"
265}
266
267name	type
268scalar_types	TABLE
269table2	COLLECTION
270command ok
271Namespace 'xplugin' is deprecated, please use 'mysqlx' instead
272send Mysqlx.Sql.StmtExecute {
273  stmt: "list_objects"
274  args {
275    type: SCALAR
276    scalar {
277      type: V_STRING
278      v_string {
279        value: "nodatabase"
280      }
281    }
282  }
283  namespace: "xplugin"
284}
285
286send Mysqlx.Sql.StmtExecute {
287  stmt: "errorstatement"
288  args {
289    type: SCALAR
290    scalar {
291      type: V_STRING
292      v_string {
293        value: "nodatabase"
294      }
295    }
296  }
297  namespace: "xplugin"
298}
299
300Got expected error: Unknown database 'nodatabase' (code 1049)
301Got expected error: Invalid xplugin command errorstatement (code 5157)
302RUN SHOW STATUS like 'Mysqlx_stmt_execute_sql%'
303Variable_name	Value
304Mysqlx_stmt_execute_sql	3
3050 rows affected
306RUN SHOW STATUS like 'Mysqlx_stmt_execute_xplugin%'
307Variable_name	Value
308Mysqlx_stmt_execute_xplugin	3
3090 rows affected
310RUN SHOW STATUS like 'Mysqlx_crud_insert%'
311Variable_name	Value
312Mysqlx_crud_insert	2
3130 rows affected
314RUN SHOW STATUS like 'Mysqlx_stmt_list_objects%'
315Variable_name	Value
316Mysqlx_stmt_list_objects	2
3170 rows affected
318Mysqlx.Ok {
319  msg: "bye!"
320}
321ok
322DROP DATABASE xplugintest;
323DROP DATABASE xplugintest_1;
324CREATE TABLE `scalar_types`(`number_uint` INTEGER UNSIGNED DEFAULT 10, `number_sint` INTEGER DEFAULT -10, `value_bool` BOOLEAN DEFAULT 0, `value_string` VARCHAR(255) default NULL, `number_float` FLOAT DEFAULT 1.1, `number_double` DOUBLE DEFAULT 2.2, `value_blob` TINYBLOB DEFAULT NULL);
325RUN SHOW STATUS like 'Mysqlx_stmt_create_collection'
326Variable_name	Value
327Mysqlx_stmt_create_collection	0
3280 rows affected
329RUN SHOW STATUS like 'Mysqlx_stmt_create_collection_index%'
330Variable_name	Value
331Mysqlx_stmt_create_collection_index	0
3320 rows affected
333RUN SHOW STATUS like 'Mysqlx_rows_sent%'
334Variable_name	Value
335Mysqlx_rows_sent	2
3360 rows affected
337RUN SHOW STATUS like 'Mysqlx_bytes_sent%'
338Variable_name	Value
339Mysqlx_bytes_sent	757
3400 rows affected
341send Mysqlx.Sql.StmtExecute {
342  stmt: "create_collection"
343  args {
344    type: SCALAR
345    scalar {
346      type: V_STRING
347      v_string {
348        value: "xplugintest"
349      }
350    }
351  }
352  args {
353    type: SCALAR
354    scalar {
355      type: V_STRING
356      v_string {
357        value: "table2"
358      }
359    }
360  }
361  namespace: "xplugin"
362}
363
364
365command ok
366Namespace 'xplugin' is deprecated, please use 'mysqlx' instead
367Command is valid but returns error so its counted in status variable
368send Mysqlx.Sql.StmtExecute {
369  stmt: "create_collection"
370  args {
371    type: SCALAR
372    scalar {
373      type: V_STRING
374      v_string {
375        value: "xplugintest"
376      }
377    }
378  }
379  args {
380    type: SCALAR
381    scalar {
382      type: V_STRING
383      v_string {
384        value: ""
385      }
386    }
387  }
388  namespace: "xplugin"
389}
390
391Got expected error: Invalid collection name (code 5113)
392Parse error , so its not counted in status variable
393send Mysqlx.Sql.StmtExecute {
394  stmt: "create_collection"
395}
396
397Mysqlx.Error {
398  severity: ERROR
399  code: 1064
400  msg: "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near \'create_collection\' at line 1"
401  sql_state: "42000"
402}
403
404"Index with  unique(true), index column NOT NULL (true)" counted in index status variable
405send Mysqlx.Sql.StmtExecute {
406  stmt: "create_collection_index"
407  args {
408    type: SCALAR
409    scalar {
410      type: V_STRING
411      v_string {
412        value: "xplugintest"
413      }
414    }
415  }
416  args {
417    type: SCALAR
418    scalar {
419      type: V_STRING
420      v_string {
421        value: "table2"
422      }
423    }
424  }
425  args {
426    type: SCALAR
427    scalar {
428      type: V_STRING
429      v_string {
430        value: "col1_index"
431      }
432    }
433  }
434  args {
435    type: SCALAR
436    scalar {
437      type: V_BOOL
438      v_bool: true
439    }
440  }
441  args {
442    type: SCALAR
443    scalar {
444      type: V_STRING
445      v_string {
446        value: ".col1"
447      }
448    }
449  }
450  args {
451    type: SCALAR
452    scalar {
453      type: V_STRING
454      v_string {
455        value: "TEXT(13)"
456      }
457    }
458  }
459  args {
460    type: SCALAR
461    scalar {
462      type: V_BOOL
463      v_bool: true
464    }
465  }
466  namespace: "xplugin"
467}
468
469Mysqlx.Sql.StmtExecuteOk {
470}
471
472Command is parsed , returns error. Counted in status variable
473send Mysqlx.Sql.StmtExecute {
474  stmt: "create_collection_index"
475  args {
476    type: SCALAR
477    scalar {
478      type: V_STRING
479      v_string {
480        value: "xplugintest"
481      }
482    }
483  }
484  args {
485    type: SCALAR
486    scalar {
487      type: V_STRING
488      v_string {
489        value: "table_non_existing"
490      }
491    }
492  }
493  args {
494    type: SCALAR
495    scalar {
496      type: V_STRING
497      v_string {
498        value: "col1_index"
499      }
500    }
501  }
502  args {
503    type: SCALAR
504    scalar {
505      type: V_BOOL
506      v_bool: true
507    }
508  }
509  args {
510    type: SCALAR
511    scalar {
512      type: V_STRING
513      v_string {
514        value: ".col1"
515      }
516    }
517  }
518  args {
519    type: SCALAR
520    scalar {
521      type: V_STRING
522      v_string {
523        value: "TEXT(13)"
524      }
525    }
526  }
527  args {
528    type: SCALAR
529    scalar {
530      type: V_BOOL
531      v_bool: true
532    }
533  }
534  namespace: "xplugin"
535}
536
537Mysqlx.Error {
538  severity: ERROR
539  code: 5113
540  msg: "Invalid collection name: xplugintest.table_non_existing"
541  sql_state: "HY000"
542}
543
544Invalid index command. Not able to parse so not counted in status variable
545send Mysqlx.Sql.StmtExecute {
546  stmt: "create_collection_index"
547}
548
549Mysqlx.Error {
550  severity: ERROR
551  code: 1064
552  msg: "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near \'create_collection_index\' at line 1"
553  sql_state: "42000"
554}
555
556"Create table table3 in xplugintest "
557send Mysqlx.Sql.StmtExecute {
558  stmt: "create_collection"
559  args {
560    type: SCALAR
561    scalar {
562      type: V_STRING
563      v_string {
564        value: "xplugintest"
565      }
566    }
567  }
568  args {
569    type: SCALAR
570    scalar {
571      type: V_STRING
572      v_string {
573        value: "table3"
574      }
575    }
576  }
577  namespace: "xplugin"
578}
579
580
581command ok
582send Mysqlx.Sql.StmtExecute {
583  stmt: "INSERT INTO `xplugintest`.`scalar_types`(`number_sint`, `number_uint`, `value_string`) VALUES(0, ?, \'First inserted row\'),(?, 1,\'Second inserted row\'), (-1, 0,?)"
584  args {
585    type: SCALAR
586    scalar {
587      type: V_UINT
588      v_unsigned_int: 1
589    }
590  }
591  args {
592    type: SCALAR
593    scalar {
594      type: V_SINT
595      v_signed_int: -1
596    }
597  }
598  args {
599    type: SCALAR
600    scalar {
601      type: V_STRING
602      v_string {
603        value: "\"Thrid\" inserted \'row\'"
604      }
605    }
606  }
607}
608
609
6103 rows affected
611Records: 3  Duplicates: 0  Warnings: 0
612send Mysqlx.Sql.StmtExecute {
613  stmt: "INSERT INTO `xplugintest`.`scalar_types`(`number_float`, `number_double`, `value_blob`) VALUES(0.1, ?, \'First inserted blob\'),(?, 200.01,\'Second inserted blob\'), (10.11, 2.2, ?), (111, 222, ?)"
614  args {
615    type: SCALAR
616    scalar {
617      type: V_DOUBLE
618      v_double: 200.01
619    }
620  }
621  args {
622    type: SCALAR
623    scalar {
624      type: V_DOUBLE
625      v_double: 10.11
626    }
627  }
628  args {
629    type: SCALAR
630    scalar {
631      type: V_STRING
632      v_string {
633        value: "\"Thrid\" inserted \'blob\'"
634      }
635    }
636  }
637  args {
638    type: SCALAR
639    scalar {
640      type: V_NULL
641    }
642  }
643}
644
645
6464 rows affected
647Records: 4  Duplicates: 0  Warnings: 0
648RUN USE xplugintest
649
6500 rows affected
651RUN SHOW STATUS like 'Mysqlx_stmt_create_collection'
652Variable_name	Value
653Mysqlx_stmt_create_collection	3
6540 rows affected
655RUN CREATE TABLE `table4` (`number_uint` INTEGER UNSIGNED DEFAULT 10, `number_sint` INTEGER DEFAULT -10, `value_bool` BOOLEAN DEFAULT 0, `value_string` VARCHAR(255) default NULL, `number_float` FLOAT DEFAULT 1.1, `number_double` DOUBLE DEFAULT 2.2, `value_blob` TINYBLOB DEFAULT NULL)
656
6570 rows affected
658RUN ALTER TABLE xplugintest.table4 ADD FULLTEXT INDEX `fulltext_idx_1` (value_string)
659
6600 rows affected
661Records: 0  Duplicates: 0  Warnings: 1
662RUN SHOW STATUS like 'Mysqlx_stmt_create_collection'
663Variable_name	Value
664Mysqlx_stmt_create_collection	3
6650 rows affected
666RUN SHOW STATUS like 'Mysqlx_stmt_create_collection_index%'
667Variable_name	Value
668Mysqlx_stmt_create_collection_index	2
6690 rows affected
670RUN SHOW STATUS like 'Mysqlx_rows_sent%'
671Variable_name	Value
672Mysqlx_rows_sent	7
6730 rows affected
674RUN SHOW STATUS like 'Mysqlx_bytes_sent%'
675Variable_name	Value
676Mysqlx_bytes_sent	2873
6770 rows affected
678Filter data by unsigned int
679send Mysqlx.Sql.StmtExecute {
680  stmt: "SELECT * FROM `xplugintest`.`scalar_types` WHERE `number_uint`=?"
681  args {
682    type: SCALAR
683    scalar {
684      type: V_UINT
685      v_unsigned_int: 1
686    }
687  }
688}
689
690number_uint	number_sint	value_bool	value_string	number_float	number_double	value_blob
6911	0	0	First inserted row	1.1	2.2	null
6921	-1	0	Second inserted row	1.1	2.2	null
6930 rows affected
694Filter data by signed int
695send Mysqlx.Sql.StmtExecute {
696  stmt: "SELECT * FROM `xplugintest`.`scalar_types` WHERE `number_sint`=?"
697  args {
698    type: SCALAR
699    scalar {
700      type: V_SINT
701      v_signed_int: -1
702    }
703  }
704}
705
706number_uint	number_sint	value_bool	value_string	number_float	number_double	value_blob
7071	-1	0	Second inserted row	1.1	2.2	null
7080	-1	0	"Thrid" inserted 'row'	1.1	2.2	null
7090 rows affected
710RUN SHOW STATUS like 'Mysqlx_stmt_create_collection'
711Variable_name	Value
712Mysqlx_stmt_create_collection	3
7130 rows affected
714RUN SHOW STATUS like 'Mysqlx_stmt_create_collection_index%'
715Variable_name	Value
716Mysqlx_stmt_create_collection_index	2
7170 rows affected
718RUN SHOW STATUS like 'Mysqlx_rows_sent%'
719Variable_name	Value
720Mysqlx_rows_sent	15
7210 rows affected
722RUN SHOW STATUS like 'Mysqlx_bytes_sent%'
723Variable_name	Value
724Mysqlx_bytes_sent	5312
7250 rows affected
726RUN SHOW STATUS like 'Mysqlx_stmt_drop_collection'
727Variable_name	Value
728Mysqlx_stmt_drop_collection	0
7290 rows affected
730RUN SHOW STATUS like 'Mysqlx_stmt_drop_collection_index%'
731Variable_name	Value
732Mysqlx_stmt_drop_collection_index	0
7330 rows affected
734RUN SHOW STATUS like 'Mysqlx_stmt_ping%'
735Variable_name	Value
736Mysqlx_stmt_ping	0
7370 rows affected
738# drop index counted in status variable
739send Mysqlx.Sql.StmtExecute {
740  stmt: "drop_collection_index"
741  args {
742    type: SCALAR
743    scalar {
744      type: V_STRING
745      v_string {
746        value: "xplugintest"
747      }
748    }
749  }
750  args {
751    type: SCALAR
752    scalar {
753      type: V_STRING
754      v_string {
755        value: "table2"
756      }
757    }
758  }
759  args {
760    type: SCALAR
761    scalar {
762      type: V_STRING
763      v_string {
764        value: "col1_index"
765      }
766    }
767  }
768  namespace: "xplugin"
769}
770
771Mysqlx.Sql.StmtExecuteOk {
772}
773
774"drop index with error counted in status variable"
775send Mysqlx.Sql.StmtExecute {
776  stmt: "drop_collection_index"
777  args {
778    type: SCALAR
779    scalar {
780      type: V_STRING
781      v_string {
782        value: "xplugintest"
783      }
784    }
785  }
786  args {
787    type: SCALAR
788    scalar {
789      type: V_STRING
790      v_string {
791        value: "table2"
792      }
793    }
794  }
795  args {
796    type: SCALAR
797    scalar {
798      type: V_STRING
799      v_string {
800        value: "non_existing_index"
801      }
802    }
803  }
804  namespace: "xplugin"
805}
806
807Mysqlx.Error {
808  severity: ERROR
809  code: 1091
810  msg: "Can\'t DROP \'non_existing_index\'; check that column/key exists"
811  sql_state: "42000"
812}
813
814"Parse error not counted in status variable"
815send Mysqlx.Sql.StmtExecute {
816  stmt: "drop_collection_index"
817}
818
819Mysqlx.Error {
820  severity: ERROR
821  code: 1064
822  msg: "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near \'drop_collection_index\' at line 1"
823  sql_state: "42000"
824}
825
826# drop collection , index sql not counted in status variable
827RUN DROP TABLE xplugintest.table3
828
8290 rows affected
830RUN ALTER TABLE xplugintest.table4 DROP INDEX `fulltext_idx_1`
831
8320 rows affected
833Records: 0  Duplicates: 0  Warnings: 0
834"Drop table created using create_collection message"
835send Mysqlx.Sql.StmtExecute {
836  stmt: "drop_collection"
837  args {
838    type: SCALAR
839    scalar {
840      type: V_STRING
841      v_string {
842        value: "xplugintest"
843      }
844    }
845  }
846  args {
847    type: SCALAR
848    scalar {
849      type: V_STRING
850      v_string {
851        value: "table2"
852      }
853    }
854  }
855  namespace: "xplugin"
856}
857
858
859command ok
860"Non existing Drop table counted in status variable"
861send Mysqlx.Sql.StmtExecute {
862  stmt: "drop_collection"
863  args {
864    type: SCALAR
865    scalar {
866      type: V_STRING
867      v_string {
868        value: "xplugintest"
869      }
870    }
871  }
872  args {
873    type: SCALAR
874    scalar {
875      type: V_STRING
876      v_string {
877        value: "table_non_existing"
878      }
879    }
880  }
881  namespace: "xplugin"
882}
883
884Got expected error: Unknown table 'xplugintest.table_non_existing' (code 1051)
885"Drop table parse error NOT counted in status variable"
886send Mysqlx.Sql.StmtExecute {
887  stmt: "drop_collection"
888}
889
890Mysqlx.Error {
891  severity: ERROR
892  code: 1064
893  msg: "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near \'drop_collection\' at line 1"
894  sql_state: "42000"
895}
896
897"Drop table created using create_collection message"
898send Mysqlx.Sql.StmtExecute {
899  stmt: "drop_collection"
900  args {
901    type: SCALAR
902    scalar {
903      type: V_STRING
904      v_string {
905        value: "xplugintest"
906      }
907    }
908  }
909  args {
910    type: SCALAR
911    scalar {
912      type: V_STRING
913      v_string {
914        value: "scalar_types"
915      }
916    }
917  }
918  namespace: "xplugin"
919}
920
921
922command ok
923RUN SHOW STATUS like 'Mysqlx_stmt_drop_collection'
924Variable_name	Value
925Mysqlx_stmt_drop_collection	3
9260 rows affected
927RUN SHOW STATUS like 'Mysqlx_stmt_drop_collection_index%'
928Variable_name	Value
929Mysqlx_stmt_drop_collection_index	2
9300 rows affected
931send Mysqlx.Sql.StmtExecute {
932  stmt: "ping"
933  namespace: "xplugin"
934}
935
936Mysqlx.Sql.StmtExecuteOk {
937}
938
939send Mysqlx.Sql.StmtExecute {
940  stmt: "ping"
941  namespace: "bla"
942}
943
944Mysqlx.Error {
945  severity: ERROR
946  code: 5162
947  msg: "Unknown namespace bla"
948  sql_state: "HY000"
949}
950
951send Mysqlx.Sql.StmtExecute {
952  stmt: "ping"
953  namespace: "xplugin"
954}
955
956Mysqlx.Sql.StmtExecuteOk {
957}
958
959RUN SHOW STATUS like 'Mysqlx_stmt_ping%'
960Variable_name	Value
961Mysqlx_stmt_ping	2
9620 rows affected
963Check - expect.open and expect.close status variable
964RUN SHOW STATUS like 'Mysqlx_expect_close%'
965Variable_name	Value
966Mysqlx_expect_close	0
9670 rows affected
968RUN SHOW STATUS like 'Mysqlx_expect_open%'
969Variable_name	Value
970Mysqlx_expect_open	0
9710 rows affected
972send Mysqlx.Expect.Open {
973  cond {
974    condition_key: 1
975  }
976}
977
978Mysqlx.Ok {
979}
980
981send Mysqlx.Expect.Open {
982}
983
984Mysqlx.Ok {
985}
986
987RUN SHOW STATUS like 'Mysqlx_expect_close%'
988Variable_name	Value
989Mysqlx_expect_close	0
9900 rows affected
991RUN SHOW STATUS like 'Mysqlx_expect_open%'
992Variable_name	Value
993Mysqlx_expect_open	2
9940 rows affected
995send Mysqlx.Expect.Close {
996}
997
998Mysqlx.Ok {
999}
1000
1001RUN SHOW STATUS like 'Mysqlx_expect_close%'
1002Variable_name	Value
1003Mysqlx_expect_close	1
10040 rows affected
1005RUN SHOW STATUS like 'Mysqlx_expect_open%'
1006Variable_name	Value
1007Mysqlx_expect_open	2
10080 rows affected
1009send Mysqlx.Expect.Close {
1010}
1011
1012Mysqlx.Ok {
1013}
1014
1015RUN SHOW STATUS like 'Mysqlx_expect_close%'
1016Variable_name	Value
1017Mysqlx_expect_close	2
10180 rows affected
1019RUN SHOW STATUS like 'Mysqlx_expect_open%'
1020Variable_name	Value
1021Mysqlx_expect_open	2
10220 rows affected
1023Mysqlx.Ok {
1024  msg: "bye!"
1025}
1026ok
1027UNINSTALL PLUGIN mysqlx;
1028DROP DATABASE xplugintest;
1029DROP DATABASE xplugintest_1;
1030