config root man

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

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/t/crud_myisam_memory.test

########### ../t/crud_myisam_memory.test                     #########
##                                                                   #
## This test aims to run crud message on myisam/memory engine.       #
## Test runs following message on                                    #
##  - create_collection message                                      #
##  - Insert message                                                 #
##  - create_collection_index                                        #
##  - update message                                                 #
##  - delete message                                                 #
#######################################################################


--source include/have_myisam.inc

SET @start_global_value = @@global.default_storage_engine;
SELECT @start_global_value;
SET @@global.default_storage_engine = myisam;

--source ../include/xplugin_preamble.inc

## Test starts here
--write_file $MYSQL_TMP_DIR/mysqlx-in.tmp
-->sql
-- "Creating database for testcase"
DROP DATABASE IF EXISTS xplugintest;
CREATE DATABASE xplugintest;
USE xplugintest;

CREATE TABLE `table1` (
  `doc` VARCHAR(100) DEFAULT NULL,
  `_id` INT AUTO_INCREMENT PRIMARY KEY
) ENGINE=memory;

-->endsql

-- "Create table table2 in xplugintest "

Mysqlx.Sql.StmtExecute {
  stmt: "create_collection"
  args {
    type: SCALAR
    scalar {
      type: V_STRING
      v_string {
        value: "xplugintest"
      }
    }
  }
  args {
    type: SCALAR
    scalar {
      type: V_STRING
      v_string {
        value: "table2"
      }
    }
  }
  namespace: "xplugin"
}
-->recvresult

-->echo Insert multiple rows into a Document column : myisam table
Mysqlx.Crud.Insert {
  collection {
    name: "table2"
    schema: "xplugintest"
  }
  data_model: DOCUMENT
  row {
    field {
    type: LITERAL
    literal {
        type: V_STRING
        v_string {
          value: "\n{\n         \"_id\": \"1\",\n         \"name\": \"Omar Bras\", \"id\": \"1\"\n}"
        }
    }
  }}
  row {
    field {
    type: LITERAL
    literal {
        type: V_STRING
        v_string {
          value: "\n{\n         \"_id\": \"2\",\n         \"name\": \"Omar Mex\", \"id\": \"2\"\n}"
        }
    }}
  }
}
-->recvresult

-->echo Insert into memory table
Mysqlx.Crud.Insert {
  collection {
    name: "table1"
    schema: "xplugintest"
  }
  data_model: TABLE
  projection {
    name: "_id"
  }
  projection {
    name: "doc"
  }

  row {
    field {
      type: LITERAL
      literal {
          type: V_SINT
          v_signed_int: 10
      }
    }
    field {
    type: LITERAL
    literal {
        type: V_STRING
        v_string {
          value: "Omar Bras"
        }
    }
  }}
  row {
    field {
      type: LITERAL
      literal {
          type: V_SINT
          v_signed_int: 11
      }
    }
    field {
    type: LITERAL
    literal {
        type: V_STRING
        v_string {
          value: "Omar Mex"
        }
    }}
  }

}
-->recvresult
-->sql
SELECT * FROM xplugintest.table2;
SELECT * FROM xplugintest.table1;
-->endsql


-->echo "Index with  unique(true), index column NOT NULL (true)":myisam table
Mysqlx.Sql.StmtExecute {
  stmt: "create_collection_index"
  args {
    type: SCALAR
    scalar {
      type: V_STRING
      v_string {
        value: "xplugintest"
      }
    }
  }
  args {
    type: SCALAR
    scalar {
      type: V_STRING
      v_string {
        value: "table2"
      }
    }
  }
  args {
    type: SCALAR
    scalar {
      type: V_STRING
      v_string {
        value: "name_index"
      }
    }
  }
  args {
    type: SCALAR
    scalar {
      type: V_BOOL
      v_bool: true
    }
  }
  args {
    type: SCALAR
    scalar {
      type: V_STRING
      v_string {
        value: "$.name"
      }
    }
  }
  args {
    type: SCALAR
    scalar {
      type: V_STRING
      v_string {
        value: "TEXT(50)"
      }
    }
  }
  args {
    type: SCALAR
    scalar {
      type: V_BOOL
      v_bool: true
    }
  }
  namespace: "xplugin"
}
-->recvresult
-->sql
SHOW CREATE TABLE xplugintest.table2;
SHOW CREATE TABLE xplugintest.table1;
SELECT * FROM xplugintest.table2;
SELECT * FROM xplugintest.table1;
-->endsql

-->echo Update - myisam table
Mysqlx.Crud.Update {
  collection {
    name: "table2"
    schema: "xplugintest"
  }
  data_model: DOCUMENT
  criteria {
    type: OPERATOR
    operator {
      name: "=="
      param {
        type: IDENT
        identifier {
           name: "_id"
        }
      }
      param {
        type: LITERAL
        literal {
               type: V_SINT
               v_signed_int: 2
        }
      }
    }
  }
  operation {
    source {
      document_path {
        type: MEMBER
        value: "name"
      }
    }
    operation: ITEM_SET
    value {
      type: LITERAL
      literal {
          type: V_STRING
          v_string {
            value: "\"Omar Argentina\""
          }
      }
    }
  }


}
-->recvresult
-->echo Update value - memory table
Mysqlx.Crud.Update {
  collection {
    name: "table1"
    schema: "xplugintest"
  }
  data_model: TABLE
  criteria {
    type: OPERATOR
    operator {
      name: "=="
      param {
        type: IDENT
        identifier {
          name: "_id"
        }
      }
      param {
        type: LITERAL
        literal {
               type: V_SINT
               v_signed_int: 10
        }
      }
    }
  }
  operation {
    source {
      name: "doc"
    }
    operation: SET
    value {
      type: LITERAL
      literal {
          type: V_STRING
          v_string {
            value: "Omar Argentina"
          }
      }
    }
  }


}
-->recvresult


-->sql
SHOW CREATE TABLE xplugintest.table2;
SHOW CREATE TABLE xplugintest.table1;
SELECT JSON_EXTRACT(doc,'$.name') FROM xplugintest.table2;
SELECT * FROM xplugintest.table2;
SELECT * FROM xplugintest.table1;
-->endsql

-->echo Delete with == operator : myisam table
Mysqlx.Crud.Delete {
  collection {
    name: "table2"
    schema: "xplugintest"
  }
  data_model: DOCUMENT
  criteria {
    type: OPERATOR
    operator {
      name: "=="
      param {
        type: IDENT identifier { name: "_id" }
      }
      param {
        type: LITERAL
        literal {
                type: V_SINT
                v_signed_int: 2
              }
         }
      }
   }
}
-- Mysqlx.Sql.StmtExecuteOk
-->recvresult

-->echo Delete with == operator : memory table
Mysqlx.Crud.Delete {
  collection {
    name: "table1"
    schema: "xplugintest"
  }
  data_model: TABLE
  criteria {
    type: OPERATOR
    operator {
      name: "=="
      param {
        type: IDENT
        identifier {
          name: "_id"
        }
      }
      param {
        type: LITERAL
        literal {
                type: V_SINT
                v_signed_int: 11
         }
      }
    }
  }
}
-- Mysqlx.Sql.StmtExecuteOk
-->recvresult

-->sql
SELECT JSON_EXTRACT(doc,'$.name') FROM xplugintest.table2;
SELECT * FROM xplugintest.table2;
SELECT * FROM xplugintest.table1;
-->endsql

-->echo insert : myisam table
Mysqlx.Crud.Insert {
  collection {
    name: "table2"
    schema: "xplugintest"
  }
  data_model: DOCUMENT
  row {
    field {
    type: LITERAL
    literal {
        type: V_STRING
        v_string {
          value: "\n{\n         \"_id\": \"3\",\n         \"name\": \"Omar Peru\", \"id\": \"3\"\n}"
        }
    }
  }}
}
-->recvresult


-->echo insert : memory table
Mysqlx.Crud.Insert {
  collection {
    name: "table1"
    schema: "xplugintest"
  }
  projection {
    name: "_id"
  }
  projection {
    name: "doc"
  }
  data_model: TABLE
  row {
    field {
      type: LITERAL
      literal {
          type: V_SINT
          v_signed_int: 12
      }
    }
    field {
    type: LITERAL
    literal {
        type: V_STRING
        v_string {
          value: "Omar Peru"
        }
    }
  }
 }
}
-->recvresult

-->echo # Insert fail due to non unique _id doc member: myisam table
Mysqlx.Crud.Insert {
  collection {
    name: "table2"
    schema: "xplugintest"
  }
  data_model: DOCUMENT
  row {
    field {
    type: LITERAL
    literal {
        type: V_STRING
        v_string {
          value: "\n{\n         \"_id\": \"1\",\n         \"name\": \"Omar Colombia\", \"id\": \"3\"\n}"
        }
    }
  }}
}
-->expecterror 5116
-->recvresult



-->echo # Insert fail due to non unique _id doc member: memory table
Mysqlx.Crud.Insert {
  collection {
    name: "table1"
    schema: "xplugintest"
  }
  projection {
    name: "_id"
  }
  projection {
    name: "doc"
  }
  data_model: TABLE
  row {
    field {
      type: LITERAL
      literal {
          type: V_SINT
          v_signed_int: 10
        }
    }
    field {
    type: LITERAL
    literal {
        type: V_STRING
        v_string {
          value: "Omar Colombia"
        }
    }
  }}
}
-->expecterror 1062
-->recvresult

-->sql
SELECT * FROM xplugintest.table2;
SELECT * FROM xplugintest.table1;
-->endsql


EOF

--exec $MYSQLXTEST -u root --password='' --file=$MYSQL_TMP_DIR/mysqlx-in.tmp  2>&1
--remove_file $MYSQL_TMP_DIR/mysqlx-in.tmp


#cleanup
DROP DATABASE IF EXISTS xplugintest;
## Postamble
UNINSTALL PLUGIN mysqlx;

SET @@global.default_storage_engine = @start_global_value;
SELECT @@global.default_storage_engine;


Man Man