config root man

Current Path : /home/usr.opt/mysql57/mysql-test/suite/x/r/

FreeBSD hs32.drive.ne.jp 9.1-RELEASE FreeBSD 9.1-RELEASE #1: Wed Jan 14 12:18:08 JST 2015 root@hs32.drive.ne.jp:/sys/amd64/compile/hs32 amd64
Upload File :
Current File : //home/usr.opt/mysql57/mysql-test/suite/x/r/delete_crud_o.result

==============================================
CRUD DELETE SCENARIOS
==============================================

================================================================================
PREAMBLE
================================================================================
install plugin mysqlx soname "mysqlx.so";
call mtr.add_suppression("Plugin mysqlx reported: .Failed at SSL configuration: .SSL context is not usable without certificate and private key..");
call mtr.add_suppression("Plugin mysqlx reported: .SSL_CTX_load_verify_locations failed.");
create user deletecruduser@localhost identified by 'deletecruduser';
grant all on *.* to deletecruduser@localhost;
================================================================================
TEST START
================================================================================
RUN DROP SCHEMA if EXISTS mysqlxplugin

0 rows affected
RUN CREATE SCHEMA mysqlxplugin DEFAULT CHARSET='utf8'

1 rows affected
RUN USE mysqlxplugin

0 rows affected
RUN CREATE TABLE categories (
 CategoryID int NOT NULL AUTO_INCREMENT,
 CategoryName varchar(100),
 CategoryDescription varchar(200),
 CategoryIMEI tinyint,	  
 CategoryDecimal decimal(5,2),
 PRIMARY key (CategoryID)
 )

0 rows affected
RUN INSERT INTO categories(CategoryID, CategoryName, CategoryDescription, CategoryIMEI, CategoryDecimal)
 VALUES
 (1,'Sports','Sports related category',1,235.15),
 (2,'Entertaiment','Entertaiment related category',2,235.15),
 (3, 'Home','Home related category',3,235.15),
 (4, 'Kitchen','Kitchen related category',4,235.15),
 (5, 'Garden','Garden related category',5,535.15),
 (6, 'Toys','Toys related category',6,635.15)

6 rows affected
last insert id: 6
Records: 6  Duplicates: 0  Warnings: 0
RUN CREATE TABLE extracategoryinfo (
 extracategoryinfoID int NOT NULL AUTO_INCREMENT,
 CategoryID int NOT NULL,
 MainParentCategoryName varchar(100),
 PRIMARY key (extracategoryinfoID)
 )

0 rows affected
RUN INSERT INTO extracategoryinfo(extracategoryinfoID, CategoryID, MainParentCategoryName)
 VALUES
 (1,1,'People'),
 (2,2,'People'),
 (3,2,'House'),
 (4,3,'House'),
 (5,1,'People'),
 (6,2,'People'),
 (7,2,'House'),
 (8,3,'House'),
 (9,1,'People'),
 (10,2,'House')

10 rows affected
last insert id: 10
Records: 10  Duplicates: 0  Warnings: 0
RUN SET SQL_SAFE_UPDATES = 1

0 rows affected
RUN SHOW STATUS like 'Mysqlx_crud_delete'
Variable_name	Value
Mysqlx_crud_delete	0
0 rows affected
RUN select * from mysqlxplugin.extracategoryinfo
extracategoryinfoID	CategoryID	MainParentCategoryName
1	1	People
2	2	People
3	2	House
4	3	House
5	1	People
6	2	People
7	2	House
8	3	House
9	1	People
10	2	House
0 rows affected
Delete with In, && operators
send Mysqlx.Crud.Delete {
  collection {
    name: "extracategoryinfo"
    schema: "mysqlxplugin"
  }
  data_model: TABLE
  criteria {
    type: OPERATOR
    operator {
      name: "&&"
      param {
        type: OPERATOR
        operator {
          name: "in"
          param {
            type: IDENT
            identifier {
              name: "extracategoryinfoID"
            }
          }
          param {
            type: LITERAL
            literal {
              type: V_SINT
              v_signed_int: 1
            }
          }
          param {
            type: LITERAL
            literal {
              type: V_SINT
              v_signed_int: 3
            }
          }
        }
      }
      param {
        type: OPERATOR
        operator {
          name: "=="
          param {
            type: IDENT
            identifier {
              name: "CategoryID"
            }
          }
          param {
            type: LITERAL
            literal {
              type: V_SINT
              v_signed_int: 2
            }
          }
        }
      }
    }
  }
}


1 rows affected
RUN select * from mysqlxplugin.extracategoryinfo
extracategoryinfoID	CategoryID	MainParentCategoryName
1	1	People
2	2	People
4	3	House
5	1	People
6	2	People
7	2	House
8	3	House
9	1	People
10	2	House
0 rows affected
RUN SHOW STATUS like 'Mysqlx_crud_delete'
Variable_name	Value
Mysqlx_crud_delete	1
0 rows affected
Delete with == operator
send Mysqlx.Crud.Delete {
  collection {
    name: "extracategoryinfo"
    schema: "mysqlxplugin"
  }
  data_model: TABLE
  criteria {
    type: OPERATOR
    operator {
      name: "=="
      param {
        type: IDENT
        identifier {
          name: "extracategoryinfoID"
        }
      }
      param {
        type: LITERAL
        literal {
          type: V_SINT
          v_signed_int: 1
        }
      }
    }
  }
}


1 rows affected
RUN select * from mysqlxplugin.extracategoryinfo
extracategoryinfoID	CategoryID	MainParentCategoryName
2	2	People
4	3	House
5	1	People
6	2	People
7	2	House
8	3	House
9	1	People
10	2	House
0 rows affected
RUN SHOW STATUS like 'Mysqlx_crud_delete'
Variable_name	Value
Mysqlx_crud_delete	2
0 rows affected
Error 1175 expected because of the safe mode = 1
send Mysqlx.Crud.Delete {
  collection {
    name: "extracategoryinfo"
    schema: "mysqlxplugin"
  }
  data_model: TABLE
  criteria {
    type: OPERATOR
    operator {
      name: "=="
      param {
        type: IDENT
        identifier {
          name: "MainParentCategoryName"
        }
      }
      param {
        type: LITERAL
        literal {
          type: V_OCTETS
          v_octets {
            value: "People"
          }
        }
      }
    }
  }
}

Mysqlx.Error {
  severity: ERROR
  code: 1175
  msg: "You are using safe update mode and you tried to update a table without a WHERE that uses a KEY column. "
  sql_state: "HY000"
}

Error 1175 expected because of the safe mode = 1
send Mysqlx.Crud.Delete {
  collection {
    name: "extracategoryinfo"
    schema: "mysqlxplugin"
  }
  data_model: TABLE
  criteria {
    type: OPERATOR
    operator {
      name: "||"
      param {
        type: OPERATOR
        operator {
          name: "in"
          param {
            type: IDENT
            identifier {
              name: "MainParentCategoryName"
            }
          }
          param {
            type: LITERAL
            literal {
              type: V_OCTETS
              v_octets {
                value: "House"
              }
            }
          }
        }
      }
      param {
        type: OPERATOR
        operator {
          name: "in"
          param {
            type: IDENT
            identifier {
              name: "CategoryID"
            }
          }
          param {
            type: LITERAL
            literal {
              type: V_SINT
              v_signed_int: 4
            }
          }
        }
      }
    }
  }
}

Mysqlx.Error {
  severity: ERROR
  code: 1175
  msg: "You are using safe update mode and you tried to update a table without a WHERE that uses a KEY column. "
  sql_state: "HY000"
}

Error 1175 expected because of the safe mode = 1
send Mysqlx.Crud.Delete {
  collection {
    name: "categories"
    schema: "mysqlxplugin"
  }
  data_model: TABLE
  criteria {
    type: OPERATOR
    operator {
      name: "=="
      param {
        type: IDENT
        identifier {
          name: "CategoryIMEI"
        }
      }
      param {
        type: LITERAL
        literal {
          type: V_SINT
          v_signed_int: 1
        }
      }
    }
  }
}

Mysqlx.Error {
  severity: ERROR
  code: 1175
  msg: "You are using safe update mode and you tried to update a table without a WHERE that uses a KEY column. "
  sql_state: "HY000"
}

RUN select * from mysqlxplugin.extracategoryinfo
extracategoryinfoID	CategoryID	MainParentCategoryName
2	2	People
4	3	House
5	1	People
6	2	People
7	2	House
8	3	House
9	1	People
10	2	House
0 rows affected
Mysqlx.Ok {
  msg: "bye!"
}
ok
.
#---------- START TEST WITH SAFE MODE OFF ----------#
.
RUN USE mysqlxplugin

0 rows affected
RUN SET SQL_SAFE_UPDATES = 0

0 rows affected
RUN select * from mysqlxplugin.extracategoryinfo
extracategoryinfoID	CategoryID	MainParentCategoryName
2	2	People
4	3	House
5	1	People
6	2	People
7	2	House
8	3	House
9	1	People
10	2	House
0 rows affected
Delete all
send Mysqlx.Crud.Delete {
  collection {
    name: "extracategoryinfo"
    schema: "mysqlxplugin"
  }
  data_model: TABLE
}


8 rows affected
RUN select * from mysqlxplugin.extracategoryinfo
extracategoryinfoID	CategoryID	MainParentCategoryName
0 rows affected
RUN INSERT INTO extracategoryinfo(extracategoryinfoID, CategoryID, MainParentCategoryName)
 VALUES
 (1,1,'People'),
 (2,2,'People'),
 (3,2,'House'),
 (4,3,'House'),
 (5,1,'People'),
 (6,2,'People2'),
 (7,2,'House2'),
 (8,3,'House2'),
 (9,9,'People2'),
 (10,10,'House2'),
 (11,11,'House3'),
 (12,12,'House4'),
 (13,13,'House5'),
 (14,14,'House6')

14 rows affected
last insert id: 14
Records: 14  Duplicates: 0  Warnings: 0
RUN select * from mysqlxplugin.extracategoryinfo
extracategoryinfoID	CategoryID	MainParentCategoryName
1	1	People
2	2	People
3	2	House
4	3	House
5	1	People
6	2	People2
7	2	House2
8	3	House2
9	9	People2
10	10	House2
11	11	House3
12	12	House4
13	13	House5
14	14	House6
0 rows affected
Delete works ok because of the safe mode = 0
send Mysqlx.Crud.Delete {
  collection {
    name: "extracategoryinfo"
    schema: "mysqlxplugin"
  }
  data_model: TABLE
  criteria {
    type: OPERATOR
    operator {
      name: "=="
      param {
        type: IDENT
        identifier {
          name: "MainParentCategoryName"
        }
      }
      param {
        type: LITERAL
        literal {
          type: V_OCTETS
          v_octets {
            value: "People"
          }
        }
      }
    }
  }
}


3 rows affected
RUN select * from mysqlxplugin.extracategoryinfo
extracategoryinfoID	CategoryID	MainParentCategoryName
3	2	House
4	3	House
6	2	People2
7	2	House2
8	3	House2
9	9	People2
10	10	House2
11	11	House3
12	12	House4
13	13	House5
14	14	House6
0 rows affected
RUN SHOW STATUS like 'Mysqlx_crud_delete'
Variable_name	Value
Mysqlx_crud_delete	2
0 rows affected
Delete with || operator and in
send Mysqlx.Crud.Delete {
  collection {
    name: "extracategoryinfo"
    schema: "mysqlxplugin"
  }
  data_model: TABLE
  criteria {
    type: OPERATOR
    operator {
      name: "||"
      param {
        type: OPERATOR
        operator {
          name: "in"
          param {
            type: IDENT
            identifier {
              name: "MainParentCategoryName"
            }
          }
          param {
            type: LITERAL
            literal {
              type: V_OCTETS
              v_octets {
                value: "House"
              }
            }
          }
        }
      }
      param {
        type: OPERATOR
        operator {
          name: "in"
          param {
            type: IDENT
            identifier {
              name: "CategoryID"
            }
          }
          param {
            type: LITERAL
            literal {
              type: V_SINT
              v_signed_int: 4
            }
          }
        }
      }
    }
  }
}


2 rows affected
RUN select * from mysqlxplugin.extracategoryinfo
extracategoryinfoID	CategoryID	MainParentCategoryName
6	2	People2
7	2	House2
8	3	House2
9	9	People2
10	10	House2
11	11	House3
12	12	House4
13	13	House5
14	14	House6
0 rows affected
RUN SHOW STATUS like 'Mysqlx_crud_delete'
Variable_name	Value
Mysqlx_crud_delete	3
0 rows affected
Delete with || operator and not in
send Mysqlx.Crud.Delete {
  collection {
    name: "extracategoryinfo"
    schema: "mysqlxplugin"
  }
  data_model: TABLE
  criteria {
    type: OPERATOR
    operator {
      name: "||"
      param {
        type: OPERATOR
        operator {
          name: "not_in"
          param {
            type: IDENT
            identifier {
              name: "MainParentCategoryName"
            }
          }
          param {
            type: LITERAL
            literal {
              type: V_OCTETS
              v_octets {
                value: "House"
              }
            }
          }
        }
      }
      param {
        type: OPERATOR
        operator {
          name: "in"
          param {
            type: IDENT
            identifier {
              name: "CategoryID"
            }
          }
          param {
            type: LITERAL
            literal {
              type: V_SINT
              v_signed_int: 8
            }
          }
        }
      }
    }
  }
}


9 rows affected
RUN select * from mysqlxplugin.extracategoryinfo
extracategoryinfoID	CategoryID	MainParentCategoryName
0 rows affected
RUN select * from mysqlxplugin.categories
CategoryID	CategoryName	CategoryDescription	CategoryIMEI	CategoryDecimal
1	Sports	Sports related category	1	235.15
2	Entertaiment	Entertaiment related category	2	235.15
3	Home	Home related category	3	235.15
4	Kitchen	Kitchen related category	4	235.15
5	Garden	Garden related category	5	535.15
6	Toys	Toys related category	6	635.15
0 rows affected
RUN SHOW STATUS like 'Mysqlx_crud_delete'
Variable_name	Value
Mysqlx_crud_delete	4
0 rows affected
Delete with != operator
send Mysqlx.Crud.Delete {
  collection {
    name: "categories"
    schema: "mysqlxplugin"
  }
  data_model: TABLE
  criteria {
    type: OPERATOR
    operator {
      name: "!="
      param {
        type: IDENT
        identifier {
          name: "CategoryIMEI"
        }
      }
      param {
        type: LITERAL
        literal {
          type: V_SINT
          v_signed_int: 1
        }
      }
    }
  }
}


5 rows affected
RUN select * from mysqlxplugin.categories
CategoryID	CategoryName	CategoryDescription	CategoryIMEI	CategoryDecimal
1	Sports	Sports related category	1	235.15
0 rows affected
RUN select * from mysqlxplugin.extracategoryinfo
extracategoryinfoID	CategoryID	MainParentCategoryName
0 rows affected
RUN INSERT INTO extracategoryinfo(extracategoryinfoID, CategoryID, MainParentCategoryName)
 VALUES
 (9,9,'People'),
 (10,10,'People'),
 (11,11,'People'),
 (12,12,'House'),
 (13,13,'House'),
 (14,14,'House')

6 rows affected
last insert id: 14
Records: 6  Duplicates: 0  Warnings: 0
RUN select * from mysqlxplugin.extracategoryinfo
extracategoryinfoID	CategoryID	MainParentCategoryName
9	9	People
10	10	People
11	11	People
12	12	House
13	13	House
14	14	House
0 rows affected
Delete with > and < operators
send Mysqlx.Crud.Delete {
  collection {
    name: "extracategoryinfo"
    schema: "mysqlxplugin"
  }
  data_model: TABLE
  criteria {
    type: OPERATOR
    operator {
      name: "&&"
      param {
        type: OPERATOR
        operator {
          name: "<"
          param {
            type: IDENT
            identifier {
              name: "CategoryID"
            }
          }
          param {
            type: LITERAL
            literal {
              type: V_SINT
              v_signed_int: 11
            }
          }
        }
      }
      param {
        type: OPERATOR
        operator {
          name: ">"
          param {
            type: IDENT
            identifier {
              name: "CategoryID"
            }
          }
          param {
            type: LITERAL
            literal {
              type: V_SINT
              v_signed_int: 9
            }
          }
        }
      }
    }
  }
}


1 rows affected
RUN select * from mysqlxplugin.extracategoryinfo
extracategoryinfoID	CategoryID	MainParentCategoryName
9	9	People
11	11	People
12	12	House
13	13	House
14	14	House
0 rows affected
RUN SHOW STATUS like 'Mysqlx_crud_delete'
Variable_name	Value
Mysqlx_crud_delete	6
0 rows affected
Delete with >= and <= operators
send Mysqlx.Crud.Delete {
  collection {
    name: "extracategoryinfo"
    schema: "mysqlxplugin"
  }
  data_model: TABLE
  criteria {
    type: OPERATOR
    operator {
      name: "&&"
      param {
        type: OPERATOR
        operator {
          name: "<="
          param {
            type: IDENT
            identifier {
              name: "CategoryID"
            }
          }
          param {
            type: LITERAL
            literal {
              type: V_SINT
              v_signed_int: 14
            }
          }
        }
      }
      param {
        type: OPERATOR
        operator {
          name: ">="
          param {
            type: IDENT
            identifier {
              name: "CategoryID"
            }
          }
          param {
            type: LITERAL
            literal {
              type: V_SINT
              v_signed_int: 13
            }
          }
        }
      }
    }
  }
}


2 rows affected
RUN select * from mysqlxplugin.extracategoryinfo
extracategoryinfoID	CategoryID	MainParentCategoryName
9	9	People
11	11	People
12	12	House
0 rows affected
RUN SHOW STATUS like 'Mysqlx_crud_delete'
Variable_name	Value
Mysqlx_crud_delete	7
0 rows affected
Delete with wrong Schema
send Mysqlx.Crud.Delete {
  collection {
    name: "extracategoryinfo"
    schema: "noavailableschema"
  }
  data_model: TABLE
  criteria {
    type: OPERATOR
    operator {
      name: "&&"
      param {
        type: OPERATOR
        operator {
          name: "<="
          param {
            type: IDENT
            identifier {
              name: "CategoryID"
            }
          }
          param {
            type: LITERAL
            literal {
              type: V_SINT
              v_signed_int: 14
            }
          }
        }
      }
      param {
        type: OPERATOR
        operator {
          name: ">="
          param {
            type: IDENT
            identifier {
              name: "CategoryID"
            }
          }
          param {
            type: LITERAL
            literal {
              type: V_SINT
              v_signed_int: 13
            }
          }
        }
      }
    }
  }
}

Mysqlx.Error {
  severity: ERROR
  code: 1146
  msg: "Table \'noavailableschema.extracategoryinfo\' doesn\'t exist"
  sql_state: "42S02"
}

Delete with wrong Table
send Mysqlx.Crud.Delete {
  collection {
    name: "notavailabletable"
    schema: "mysqlxplugin"
  }
  data_model: TABLE
  criteria {
    type: OPERATOR
    operator {
      name: "&&"
      param {
        type: OPERATOR
        operator {
          name: "<="
          param {
            type: IDENT
            identifier {
              name: "CategoryID"
            }
          }
          param {
            type: LITERAL
            literal {
              type: V_SINT
              v_signed_int: 14
            }
          }
        }
      }
      param {
        type: OPERATOR
        operator {
          name: ">="
          param {
            type: IDENT
            identifier {
              name: "CategoryID"
            }
          }
          param {
            type: LITERAL
            literal {
              type: V_SINT
              v_signed_int: 13
            }
          }
        }
      }
    }
  }
}

Mysqlx.Error {
  severity: ERROR
  code: 1146
  msg: "Table \'mysqlxplugin.notavailabletable\' doesn\'t exist"
  sql_state: "42S02"
}

Delete with wrong Column
send Mysqlx.Crud.Delete {
  collection {
    name: "extracategoryinfo"
    schema: "mysqlxplugin"
  }
  data_model: TABLE
  criteria {
    type: OPERATOR
    operator {
      name: "&&"
      param {
        type: OPERATOR
        operator {
          name: "<="
          param {
            type: IDENT
            identifier {
              name: "notavailablecolumn"
            }
          }
          param {
            type: LITERAL
            literal {
              type: V_SINT
              v_signed_int: 14
            }
          }
        }
      }
      param {
        type: OPERATOR
        operator {
          name: ">="
          param {
            type: IDENT
            identifier {
              name: "notavailablecolumn"
            }
          }
          param {
            type: LITERAL
            literal {
              type: V_SINT
              v_signed_int: 13
            }
          }
        }
      }
    }
  }
}

Mysqlx.Error {
  severity: ERROR
  code: 1054
  msg: "Unknown column \'notavailablecolumn\' in \'where clause\'"
  sql_state: "42S22"
}

Mysqlx.Ok {
  msg: "bye!"
}
ok
.
#---------- START COLLECTION TESTING----------#
.
RUN DROP SCHEMA if EXISTS mysqlxplugin_coll

0 rows affected
RUN CREATE SCHEMA mysqlxplugin_coll

1 rows affected
RUN USE mysqlxplugin_coll

0 rows affected
RUN CREATE TABLE mysqlxplugin_coll.main_collection (doc JSON, _id VARCHAR(32) NOT NULL PRIMARY KEY)

0 rows affected
RUN insert into mysqlxplugin_coll.main_collection (doc, _id) values ('{"_id": "1", "name": "Omar", "Last_Name":"Andrei"}', json_unquote(json_extract(doc, '$._id')))

1 rows affected
RUN insert into mysqlxplugin_coll.main_collection (doc, _id) values ('{"_id": "2", "name": "Alfonso", "Last_Name":"Pavluchenko"}', json_unquote(json_extract(doc, '$._id')))

1 rows affected
RUN insert into mysqlxplugin_coll.main_collection (doc, _id) values ('{"_id": "3", "name": "Rodrigo", "Last_Name":"Kernel"}', json_unquote(json_extract(doc, '$._id')))

1 rows affected
RUN insert into mysqlxplugin_coll.main_collection (doc, _id) values ('{"_id": "4", "name": "Omar", "Last_Name":"Kerball"}', json_unquote(json_extract(doc, '$._id')))

1 rows affected
RUN insert into mysqlxplugin_coll.main_collection (doc, _id) values ('{"_id": "5", "name": "Omar", "Last_Name":"Lopez"}', json_unquote(json_extract(doc, '$._id')))

1 rows affected
RUN insert into mysqlxplugin_coll.main_collection (doc, _id) values ('{"_id": "6", "name": "Javier", "Last_Name":"Torres"}', json_unquote(json_extract(doc, '$._id')))

1 rows affected
RUN select * from mysqlxplugin_coll.main_collection
doc	_id
{"_id": "1", "name": "Omar", "Last_Name": "Andrei"}	1
{"_id": "2", "name": "Alfonso", "Last_Name": "Pavluchenko"}	2
{"_id": "3", "name": "Rodrigo", "Last_Name": "Kernel"}	3
{"_id": "4", "name": "Omar", "Last_Name": "Kerball"}	4
{"_id": "5", "name": "Omar", "Last_Name": "Lopez"}	5
{"_id": "6", "name": "Javier", "Last_Name": "Torres"}	6
0 rows affected
Delete collection rows with in Operator and based in ID
send Mysqlx.Crud.Delete {
  collection {
    name: "main_collection"
    schema: "mysqlxplugin_coll"
  }
  data_model: DOCUMENT
  criteria {
    type: OPERATOR
    operator {
      name: "in"
      param {
        type: IDENT
        identifier {
          name: "_id"
        }
      }
      param {
        type: LITERAL
        literal {
          type: V_OCTETS
          v_octets {
            value: "1"
          }
        }
      }
      param {
        type: LITERAL
        literal {
          type: V_OCTETS
          v_octets {
            value: "3"
          }
        }
      }
    }
  }
}


2 rows affected
RUN select * from mysqlxplugin_coll.main_collection
doc	_id
{"_id": "2", "name": "Alfonso", "Last_Name": "Pavluchenko"}	2
{"_id": "4", "name": "Omar", "Last_Name": "Kerball"}	4
{"_id": "5", "name": "Omar", "Last_Name": "Lopez"}	5
{"_id": "6", "name": "Javier", "Last_Name": "Torres"}	6
0 rows affected
Delete collection row with == Operator
send Mysqlx.Crud.Delete {
  collection {
    name: "main_collection"
    schema: "mysqlxplugin_coll"
  }
  data_model: DOCUMENT
  criteria {
    type: OPERATOR
    operator {
      name: "=="
      param {
        type: IDENT
        identifier {
          document_path {
            type: MEMBER
            value: "Last_Name"
          }
        }
      }
      param {
        type: LITERAL
        literal {
          type: V_OCTETS
          v_octets {
            value: "Pavluchenko"
          }
        }
      }
    }
  }
}


1 rows affected
RUN select * from mysqlxplugin_coll.main_collection
doc	_id
{"_id": "4", "name": "Omar", "Last_Name": "Kerball"}	4
{"_id": "5", "name": "Omar", "Last_Name": "Lopez"}	5
{"_id": "6", "name": "Javier", "Last_Name": "Torres"}	6
0 rows affected
Delete collection row with != Operator
send Mysqlx.Crud.Delete {
  collection {
    name: "main_collection"
    schema: "mysqlxplugin_coll"
  }
  data_model: DOCUMENT
  criteria {
    type: OPERATOR
    operator {
      name: "!="
      param {
        type: IDENT
        identifier {
          document_path {
            type: MEMBER
            value: "name"
          }
        }
      }
      param {
        type: LITERAL
        literal {
          type: V_OCTETS
          v_octets {
            value: "Omar"
          }
        }
      }
    }
  }
}


1 rows affected
RUN select * from mysqlxplugin_coll.main_collection
doc	_id
{"_id": "4", "name": "Omar", "Last_Name": "Kerball"}	4
{"_id": "5", "name": "Omar", "Last_Name": "Lopez"}	5
0 rows affected
Delete collection row with not in Operator
send Mysqlx.Crud.Delete {
  collection {
    name: "main_collection"
    schema: "mysqlxplugin_coll"
  }
  data_model: DOCUMENT
  criteria {
    type: OPERATOR
    operator {
      name: "not_in"
      param {
        type: IDENT
        identifier {
          document_path {
            type: MEMBER
            value: "Last_Name"
          }
        }
      }
      param {
        type: LITERAL
        literal {
          type: V_OCTETS
          v_octets {
            value: "Lopez"
          }
        }
      }
    }
  }
}


1 rows affected
RUN select * from mysqlxplugin_coll.main_collection
doc	_id
{"_id": "5", "name": "Omar", "Last_Name": "Lopez"}	5
0 rows affected
Delete collection wrong schema
send Mysqlx.Crud.Delete {
  collection {
    name: "main_collection"
    schema: "not_available_schema"
  }
  data_model: DOCUMENT
  criteria {
    type: OPERATOR
    operator {
      name: "not_in"
      param {
        type: IDENT
        identifier {
          document_path {
            type: MEMBER
            value: "Last_Name"
          }
        }
      }
      param {
        type: LITERAL
        literal {
          type: V_OCTETS
          v_octets {
            value: "Lopez"
          }
        }
      }
    }
  }
}

Mysqlx.Error {
  severity: ERROR
  code: 1146
  msg: "Table \'not_available_schema.main_collection\' doesn\'t exist"
  sql_state: "42S02"
}

Delete collection wrong collection
send Mysqlx.Crud.Delete {
  collection {
    name: "not_available_collection"
    schema: "mysqlxplugin_coll"
  }
  data_model: DOCUMENT
  criteria {
    type: OPERATOR
    operator {
      name: "not_in"
      param {
        type: IDENT
        identifier {
          document_path {
            type: MEMBER
            value: "Last_Name"
          }
        }
      }
      param {
        type: LITERAL
        literal {
          type: V_OCTETS
          v_octets {
            value: "Lopez"
          }
        }
      }
    }
  }
}

Mysqlx.Error {
  severity: ERROR
  code: 1146
  msg: "Table \'mysqlxplugin_coll.not_available_collection\' doesn\'t exist"
  sql_state: "42S02"
}

Delete collection wrong member
send Mysqlx.Crud.Delete {
  collection {
    name: "main_collection"
    schema: "mysqlxplugin_coll"
  }
  data_model: DOCUMENT
  criteria {
    type: OPERATOR
    operator {
      name: "=="
      param {
        type: IDENT
        identifier {
          document_path {
            type: MEMBER
            value: "notavailablemember"
          }
        }
      }
      param {
        type: LITERAL
        literal {
          type: V_OCTETS
          v_octets {
            value: "Lopez"
          }
        }
      }
    }
  }
}


0 rows affected
================================================================================
CLEAN UP
================================================================================
RUN DROP SCHEMA if EXISTS mysqlxplugin

2 rows affected
RUN DROP SCHEMA if EXISTS mysqlxplugin_coll

1 rows affected
RUN DROP USER deletecruduser@localhost

0 rows affected
RUN SET SQL_SAFE_UPDATES = 1

0 rows affected
Mysqlx.Ok {
  msg: "bye!"
}
ok
================================================================================
POSTAMBLE
================================================================================
uninstall plugin mysqlx;

Man Man