class ShutdownPlugin extends AdminStatement {

    private final String pluginName;

    public ShutdownPlugin(ServerSession session, String pluginName) {
        super(session);
        this.pluginName = pluginName;
    }

    @Override
    public int getType() {
        return SQLStatement.SHUTDOWN_PLUGIN;
    }

    @Override
    public int update() {<FILL_FUNCTION_BODY>}
}

        LealoneDatabase.checkAdminRight(session, "shutdown plugin");
        LealoneDatabase lealoneDB = LealoneDatabase.getInstance();
        DbObjectLock lock = lealoneDB.tryExclusivePluginLock(session);
        if (lock == null)
            return -1;
        PluginObject pluginObject = lealoneDB.findPluginObject(session, pluginName);
        if (pluginObject == null) {
            throw DbException.get(ErrorCode.PLUGIN_NOT_FOUND_1, pluginName);
        }
        pluginObject.stop();
        // 将缓存过期掉
        lealoneDB.getNextModificationMetaId();
        return 0;
    
<methods>public void <init>(com.lealone.db.session.ServerSession) ,public boolean needRecompile() <variables>