# Test for WL#3771 (audit null plugin)
# Created by HHunger 2009-09-02
#
--source include/have_null_audit_plugin.inc
--source include/not_embedded.inc

# Adjustment to the OS dependent extension of shared libraries.
let $expected_extension= so;
if(`SELECT CONVERT(@@version_compile_os USING latin1)
           IN ("Win32","Win64","Windows")`)
{
   let $expected_extension= dll;
}

# Adjustment to the fact that protocols which lead to the use
# of prepared statements cause that a higher number of
# plugin calls gets counted.
let $expected_calls= 21;
if(`SELECT $PS_PROTOCOL > 0`)
{
   let $expected_calls= 47;
}
if(`SELECT $SP_PROTOCOL > 0`)
{
   let $expected_calls= 66;
}
if(`SELECT $CURSOR_PROTOCOL > 0`)
{
   let $expected_calls= 48;
}
if(`SELECT $VIEW_PROTOCOL > 0`)
{
   let $expected_calls= 30;
}

--replace_result $expected_extension  <expected_extension>
--error ER_CANT_FIND_DL_ENTRY
eval INSTALL PLUGIN audit_null SONAME 'adt_null.$expected_extension';
--replace_result $expected_extension <expected_extension>
eval INSTALL PLUGIN null_audit SONAME 'adt_null.$expected_extension';
CREATE TABLE t1 (c1 INT, c2 CHAR(20));
--error ER_TABLE_EXISTS_ERROR
CREATE TABLE t1 (c1 INT, c2 CHAR(20));
INSERT INTO t1 VALUES (1,'a'),(2,'b'),(3,'c');
SELECT * FROM t1;
--error ER_NO_SUCH_TABLE
SELECT * FROM t2;
DROP TABLE t1;
--replace_result $expected_calls <expected_number_of_calls>
SHOW STATUS LIKE 'audit_null_called';
--error ER_SP_DOES_NOT_EXIST
UNINSTALL PLUGIN audit_null;
UNINSTALL PLUGIN null_audit;

