ShellBanner
System:Linux MiraNet 3.0.0-14-generic-pae #23-Ubuntu SMP Mon Nov 21 22:07:10 UTC 2011 i686
Software:Apache. PHP/5.3.6-13ubuntu3.10
ID:uid=65534(nobody) gid=65534(nogroup) groups=65534(nogroup)
Safe Mode:OFF
Open_Basedir:OFF
Freespace:24 GB of 70.42 GB (34.08%)
MySQL: ON MSSQL: OFF Oracle: OFF PostgreSQL: OFF Curl: OFF Sockets: ON Fetch: OFF Wget: ON Perl: ON
Disabled Functions: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,

/ usr/ share/ doc/ libinnodb-dev/ examples/ - drwxr-xr-x

Directory:
Viewing file:     ib_cfg.c (3.93 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
/***********************************************************************
Copyright (c) 2009 Innobase Oy. All rights reserved.
Copyright (c) 2009 Oracle. All rights reserved.

This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; version 2 of the License.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA

************************************************************************/

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <assert.h>

#include "test0aux.h"

void
get_all()
{
    static const char*    var_names[] = {
        "adaptive_hash_index",
        "additional_mem_pool_size",
        "autoextend_increment",
        "buffer_pool_size",
        "checksums",
        "data_file_path",
        "data_home_dir",
        "doublewrite",
        "file_format",
        "file_io_threads",
        "file_per_table",
        "flush_log_at_trx_commit",
        "flush_method",
        "force_recovery",
        "lock_wait_timeout",
        "log_buffer_size",
        "log_file_size",
        "log_files_in_group",
        "log_group_home_dir",
        "max_dirty_pages_pct",
        "max_purge_lag",
        "lru_old_blocks_pct",
        "lru_block_access_recency",
        "open_files",
        "pre_rollback_hook",
        "print_verbose_log",
        "rollback_on_timeout",
        "stats_sample_pages",
        "status_file",
        "sync_spin_loops",
        "version",
        NULL
    };

    const char**    ptr;

    for (ptr = var_names; *ptr; ++ptr) {
        void*        val;
        ib_err_t    err;

        err = ib_cfg_get(*ptr, &val);
        assert(err == DB_SUCCESS);
    }
}

/*********************************************************************
Function to test our simple config file parser. */
static
void
test_config_parser(void)
/*====================*/
{
    ib_config_t    config;
    const char*    filename = "test.conf";

    memset(&config, 0x0, sizeof(config));

    if (config_parse_file(filename, &config) == 0) {
        config_print(&config);
    } else {
        perror(filename);
    }

    config_free(&config);
}

void
test_ib_cfg_get_all()
{
    const char**    names;
    ib_u32_t    names_num;
    char        buf[8]; /* long enough to store any type */
    ib_u32_t    i;

    /* can be called before ib_init() */
    OK(ib_cfg_get_all(&names, &names_num));

    for (i = 0; i < names_num; i++) {
        /* must be called after ib_init() */
        OK(ib_cfg_get(names[i], buf));

        /* the type of the variable can be retrieved with
        ib_cfg_var_get_type() */
    }

    free(names);
}

int
main(int argc, char** argv)
{
    ib_err_t    err;
    char*        ptr;
    ib_ulint_t    val;
    int        i;

    test_config_parser();

    err = ib_init();
    assert(err == DB_SUCCESS);

    test_ib_cfg_get_all();

    get_all();

    /* the value should end in / */
    err = ib_cfg_set("data_home_dir", "/some/path");
    assert(err == DB_INVALID_INPUT);

    err = ib_cfg_set("data_home_dir", "/some/path/");
    assert(err == DB_SUCCESS);

    err = ib_cfg_get("data_home_dir", &ptr);
    assert(err == DB_SUCCESS);
    assert(strcmp("/some/path/", ptr) == 0);

    err = ib_cfg_set("buffer_pool_size", 0xFFFFFFFFUL - 5);
    assert(err == DB_SUCCESS);

    err = ib_cfg_set("flush_method", "fdatasync");
    assert(err == DB_INVALID_INPUT);

    for (i = 0; i <= 100; i++) {
        err = ib_cfg_set("lru_old_blocks_pct", i);
        if (5 <= i && i <= 95) {
            assert(err == DB_SUCCESS);
            err = ib_cfg_get("lru_old_blocks_pct", &val);
            assert(err == DB_SUCCESS);
            assert(i == val);
        } else {
            assert(err == DB_INVALID_INPUT);
        }
    }

    err = ib_cfg_set("lru_block_access_recency", 123);
    assert(err == DB_SUCCESS);
    err = ib_cfg_get("lru_block_access_recency", &val);
    assert(err == DB_SUCCESS);
    assert(val == 123);

    err = ib_cfg_set("open_files", 123);
    assert(err == DB_SUCCESS);

    get_all();

    err = ib_shutdown(IB_SHUTDOWN_NORMAL);
    assert(err == DB_SUCCESS);

    return(0);
}
Command:
Quick Commands:
Upload:
[Read-Only] Max size: 100MB
PHP Filesystem: <@ Ú
Search File:
regexp
Create File:
Overwrite [Read-Only]
View File:
Mass Defacement:
[+] Main Directory: [+] Defacement Url:
LmfaoX Shell - Private Build [BETA] - v0.1 -; Generated: 0.4925 seconds