An error occurred fetching the project authors.
  1. 22 Jun, 2007 1 commit
    • unknown's avatar
      - WL#3239 "log CREATE TABLE in Maria" · 1a962591
      unknown authored
      - WL#3240 "log DROP TABLE in Maria"
      - similarly, log RENAME TABLE, REPAIR/OPTIMIZE TABLE, and
      DELETE no_WHERE_clause (== the DELETE which just truncates the files)
      - create_rename_lsn added to MARIA_SHARE's state
      - all these operations (except DROP TABLE) also update the table's
      create_rename_lsn, which is needed for the correctness of
      Recovery (see function comment of _ma_repair_write_log_record()
      in ma_check.c)
      - write a COMMIT record when transaction commits.
      - don't log REDOs/UNDOs if this is an internal temporary table
      like inside ALTER TABLE (I expect this to be a big win). There was
      already no logging for user-created "CREATE TEMPORARY" tables.
      - don't fsync files/directories if the table is not transactional
      - in translog_write_record(), autogenerate a 2-byte-id for the table
      and log the "id->name" pair (LOGREC_FILE_ID); log
      LOGREC_LONG_TRANSACTION_ID; automatically store
      the table's 2-byte-id in any log record.
      - preparations for Checkpoint: translog_get_horizon(); pausing Checkpoint
      when some dirty pages are unknown; capturing trn->rec_lsn,
      trn->first_undo_lsn for Checkpoint and log's low-water-mark computing.
      - assertions, comments.
      
      
      storage/maria/Makefile.am:
        more files to build
      storage/maria/ha_maria.cc:
        - logging a REPAIR log record if REPAIR/OPTIMIZE was successful.
        - ha_maria::data_file_type does not have to be set in every info()
        call, just do it once in open().
        - if caller said that transactionality can be disabled (like if
        caller is ALTER TABLE) i.e. thd->transaction.on==FALSE, then we
        temporarily disable transactionality of the table in external_lock();
        that will ensure that no REDOs/UNDOs are logged for this possibly
        massive write operation (they are not needed, as if any write fails,
        the table will be dropped). We re-enable in external_lock(F_UNLCK),
        which in ALTER TABLE happens before the tmp table replaces the original
        one (which is good, as thus the final table will have a REDO RENAME
        and a correct create_rename_lsn).
        - when we commit we also have to write a log record, so
        trnman_commit_trn() calls become ma_commit() calls
        - at end of engine's initialization, we are potentially entering a
        multi-threaded dangerous world (clients are going to be accepted)
        and so some assertions of mutex-owning become enforceable, for that
        we set maria_multi_threaded=TRUE (see ma_control_file.c)
      storage/maria/ha_maria.h:
        new member ha_maria::save_transactional (see also ha_maria.cc)
      storage/maria/ma_blockrec.c:
        - fixing comments according to discussion with Monty
        - if a table is transactional but temporarily non-transactional
        (like in ALTER TABLE), we need to give a sensible LSN to the pages
        (and, if we give 0, pagecache asserts).
        - translog_write_record() now takes care of storing the share's
        2-byte-id in the log record
      storage/maria/ma_blockrec.h:
        fixing comment according to discussion with Monty
      storage/maria/ma_check.c:
        When REPAIR/OPTIMIZE modify the data/index file, if this is a
        transactional table, they must sync it; if they remove files or rename
        files, they must sync the directory, so that everything is durable.
        This is just applying to REPAIR/OPTIMIZE the logic already implemented
        in CREATE/DROP/RENAME a few months ago.
        Adding a function to write a LOGREC_REPAIR_TABLE at end of
        REPAIR/OPTIMIZE (called only by ha_maria, not by maria_chk), and
        to update the table's create_rename_lsn.
      storage/maria/ma_close.c:
        fix for a future bug
      storage/maria/ma_control_file.c:
        ensuring that if Maria is running in multi-threaded mode, anybody
        wanting to write to the control file and update
        last_checkpoint_lsn/last_logno owns the log's lock.
      storage/maria/ma_control_file.h:
        see ma_control_file.c
      storage/maria/ma_create.c:
        when creating a table:
        - sync it and its directory only if this is a transactional table
        and there is a log (no point in syncing in maria_chk)
        - decouple the two uses of linkname/linkname_ptr (for index file and
        for data file) into more variables, as we need to know all links
        until the moment we write the LOGREC_CREATE_TABLE.
        - set share.data_file_type early so that _ma_initialize_data_file()
        knows it (Monty's bugfix so that a table always has at least a bitmap
        page when it is created; so data-file is not 0 bytes anymore).
        - log a LOGREC_CREATE_TABLE; it contains the bytes which we have
        just written to the index file's header. Update table's
        create_rename_lsn.
        - syncing of kfile had been bugified in a previous merge, correcting
        - syncing of dfile is now needed as it's not empty anymore
        - in _ma_initialize_data_file(), use share's block_size and not the
        global one. This is a gratuitous change, both variables are equal,
        just that I find it more future-proof to use share-bound variable
        rather than global one.
      storage/maria/ma_delete_all.c:
        log a LOGREC_DELETE_ALL record when doing ma_delete_all_rows();
        update create_rename_lsn then.
      storage/maria/ma_delete_table.c:
        - logging LOGREC_DROP_TABLE; knowing if this is needed, requires
        knowing if the table is transactional, which requires opening the
        table.
        - we need to sync directories only if the table is transactional
      storage/maria/ma_extra.c:
        questions
      storage/maria/ma_init.c:
        when maria_end() is called, engine is not multithreaded
      storage/maria/ma_loghandler.c:
        - translog_inited has to be visible to ma_create() (see how it is used
        in ma_create())
        - checkpoint record will be a single record, not three
        - no REDO for TRUNCATE (TRUNCATE calls ma_create() internally so will
        log a REDO_CREATE)
        - adding REDO for DELETE no_WHERE_clause (fast DELETE of all rows by
        truncating the files), REPAIR.
        - MY_WAIT_IF_FULL to wait&retry if a log write hits a full disk
        - in translog_write_record(), if MARIA_SHARE does not yet have a
        2-byte-id, generate one for it and log LOGREC_FILE_ID; automatically
        store this short id into log records.
        - in translog_write_record(), if transaction has not logged its
        long trid, log LOGREC_LONG_TRANSACTION_ID.
        - For Checkpoint, we need to know the current end-of-log: adding
        translog_get_horizon().
        - For Control File, adding an assertion that the thread owns the
        log's lock (control file is protected by this lock)
      storage/maria/ma_loghandler.h:
        Changes in log records (see ma_loghandler.c).
        new prototypes, new functions.
      storage/maria/ma_loghandler_lsn.h:
        adding a type LSN_WITH_FLAGS especially for TRN::first_undo_lsn,
        where the most significant byte is used for flags.
      storage/maria/ma_open.c:
        storing the create_rename_lsn in the index file's header (in the
        state, precisely) and retrieving it from there.
      storage/maria/ma_pagecache.c:
        - my set_if_bigger was wrong, correcting it
        - if the first_in_switch list is not empty, it means that
        changed_blocks misses some dirty pages, so Checkpoint cannot run and
        needs to wait. A variable missing_blocks_in_changed_list is added to
        tell that (should it be named missing_blocks_in_changed_blocks?)
        - pagecache_collect_changed_blocks_with_lsn() now also tells the
        minimum rec_lsn (needed for low-water mark computation).
      storage/maria/ma_pagecache.h:
        see ma_pagecache.c
      storage/maria/ma_panic.c:
        comment
      storage/maria/ma_range.c:
        comment
      storage/maria/ma_rename.c:
        - logging LOGREC_RENAME_TABLE; knowing if this is needed, requires
        knowing if the table is transactional, which requires opening the
        table.
        - update create_rename_lsn
        - we need to sync directories only if the table is transactional
      storage/maria/ma_static.c:
        comment
      storage/maria/ma_test_all.sh:
        - tip for Valgrind-ing ma_test_all
        - do "export maria_path=somepath" before calling ma_test_all,
        if you want to run ma_test_all out of storage/maria (useful
        to have parallel runs, like one normal and one Valgrind, they
        must not use the same tables so need to run in different directories)
      storage/maria/maria_def.h:
        - state now contains, in memory and on disk, the create_rename_lsn
        - share now contains a 2-byte-id
      storage/maria/trnman.c:
        preparations for Checkpoint: capture trn->rec_lsn, trn->first_undo_lsn;
        minimum first_undo_lsn needed to know log's low-water-mark
      storage/maria/trnman.h:
        using most significant byte of first_undo_lsn to hold miscellaneous
        flags, for now TRANSACTION_LOGGED_LONG_ID.
        dummy_transaction_object is already declared in ma_static.c.
      storage/maria/trnman_public.h:
        dummy_transaction_object was declared in all files including
        trnman_public.h, while in fact it's a single object.
        new prototype
      storage/maria/unittest/ma_test_loghandler-t.c:
        update for new prototype
      storage/maria/unittest/ma_test_loghandler_multigroup-t.c:
        update for new prototype
      storage/maria/unittest/ma_test_loghandler_multithread-t.c:
        update for new prototype
      storage/maria/unittest/ma_test_loghandler_pagecache-t.c:
        update for new prototype
      storage/maria/ma_commit.c:
        function which wraps:
        - writing a LOGREC_COMMIT record (==commit on disk)
        - calling trnman_commit_trn() (=commit in memory)
      storage/maria/ma_commit.h:
        new header file
      .tree-is-private:
        this file is now needed to keep our tree private (don't push it
        to public trees). When 5.1 is merged into mysql-maria, we can abandon
        our maria-specific post-commit trigger; .tree_is_private will take
        care of keeping commit mails private. Don't push this file to public
        trees.
      1a962591
  2. 29 May, 2007 1 commit
    • unknown's avatar
      This patch is a collection of patches from from Sanja, Sergei and Monty. · 8f39541e
      unknown authored
      Added logging and pinning of pages to block format.
      Integration of transaction manager, log handler.
      Better page cache intergration
      Split trnman.h into two files, so that we don't have to include my_atomic.h into C++ programs.
      Renaming of structures, more comments, more debugging etc.
      Fixed problem with small head block + long varchar.
      Added extra argument to delete_record() and update_record() (needed for UNDO logging)
      Small changes to interface of pagecache and log handler.
      Change initialization of log_record_type_descriptors to not be depending on enum order.
      Use array of LEX_STRING's to send data to log handler
      Added 'dummy' transaction option to MARIA_INFO so that we can always assume 'trn' exists.
      
      
      include/lf.h:
        Interface fixes
        Rename of structures
        (Patch from Sergei via Sanja)
      include/my_atomic.h:
        More comments
      include/my_global.h:
        Added MY_ERRPTR
      include/pagecache.h:
        Added undo LSN when unlocking pages
      mysql-test/r/maria.result:
        Updated results
      mysql-test/t/maria.test:
        Added autocommit around lock tables
        (Patch from Sanja)
      mysys/lf_alloc-pin.c:
        Post-review fixes, simple optimizations
        More comments
        Struct slot renames
        Check amount of memory on stack
        (Patch from Sergei)
      mysys/lf_dynarray.c:
        More comments
      mysys/lf_hash.c:
        More comments
        After review fixes
        (Patch from Sergei)
      storage/maria/ha_maria.cc:
        Split trnman.h into two files, so that we don't have to include my_atomic.h into the .cc program.
        (Temporary fix to avoid bug in gcc)
        Move out all deferencing of the transaction structure.
        Transaction manager integrated (Patch from Sergei)
      storage/maria/ha_maria.h:
        Added prototype for start_stmt()
      storage/maria/lockman.c:
        Function call rename
      storage/maria/ma_bitmap.c:
        Mark deleted pages free from page cache
      storage/maria/ma_blockrec.c:
        Offset -> rownr
        More debugging
        Fixed problem with small head block + long varchar
        Added logging of changed pages
        Added logging of undo (Including only loggging of changed fields in case of update)
        Added pinning/unpinning of all changed pages
        More comments
        Added free_full_pages() as the same code was used in several places.
        fill_rows_parts() renamed as fill_insert_undo_parts()
        offset -> rownr
        Added some optimization of not transactional tables
        _ma_update_block_record() has new parameter, as we need original row to do efficent undo for update
      storage/maria/ma_blockrec.h:
        Added ROW_EXTENTS_ON_STACK
        Changed prototype for update and delete of row
      storage/maria/ma_check.c:
        Added original row to delete_record() call
      storage/maria/ma_control_file.h:
        Added ifdefs for C++
      storage/maria/ma_delete.c:
        Added original row to delete_record() call
        (Needed for efficent undo logging)
      storage/maria/ma_dynrec.c:
        Added extra argument to delete_record() and update_record()
        Removed not used variable
      storage/maria/ma_init.c:
        Initialize log handler
      storage/maria/ma_loghandler.c:
        Removed not used variable
        Change initialization of log_record_type_descriptors to not be depending on enum order
        Use array of LEX_STRING's to send data to log handler
      storage/maria/ma_loghandler.h:
        New defines
        Use array of LEX_STRING's to send data to log handler
      storage/maria/ma_open.c:
        Added 'dummy' transaction option to MARIA_INFO so that we can always assume 'trn' exists.
        Store in MARIA_SHARE->page_type if pages will have up to date LSN's
      storage/maria/ma_pagecache.c:
        Don't decrease number of readers when using pagecache_write()/pagecache_read()
        In pagecache_write() decrement request count if page was left pinned
        Added pagecache_delete_pages()
        Removed some casts
        Make trace output consistent with rest of code
        Simplify calling of DBUG_ASSERT(0)
        Only update LSN if the LSN is bigger than what's already on the page
        Added LSN parameter pagecache_unpin_page(), pagecache_unpin(), and pagecache_unlock()
        (Part of patch from Sanja)
      storage/maria/ma_static.c:
        Added 'dummy' transaction option to MARIA_INFO so that we can always assume 'trn' exists.
        Added default page cache
      storage/maria/ma_statrec.c:
        Added extra argument to delete_record() and update_record()
      storage/maria/ma_test1.c:
        Added option -T for transactions
      storage/maria/ma_test2.c:
        Added option -T for transactions
      storage/maria/ma_test_all.sh:
        Test with transactions
      storage/maria/ma_update.c:
        Changed prototype for update of row
      storage/maria/maria_def.h:
        Changed prototype for update & delete of row as block records need to access the old row
        Store in MARIA_SHARE->page_type if pages will have up to date LSN's
        Added MARIA_MAX_TREE_LEVELS to allow us to calculate the number of possible pinned pages we may need.
        Removed not used 'empty_bits_buffer'
        Added pointer to transaction object
        Added array for pinned pages
        Added log_row_parts array for logging of field data.
        Added MARIA_PINNED_PAGE to store pinned pages
      storage/maria/trnman.c:
        Added accessor functions to transaction object
        Added missing DBUG_RETURN()
        More debugging
        More comments
        Changed // comment of code to #ifdef NOT_USED
        Transaction manager integrated.
        Post review fixes
        Part of patch originally from Sergei
      storage/maria/trnman.h:
        Split trnman.h into two files, so that we don't have to include my_atomic.h into the .cc program.
        (Temporary fix to avoid bug in gcc)
      storage/maria/unittest/ma_pagecache_single.c:
        Added missing argument
        Added SKIP_BIG_TESTS
        (Patch from Sanja)
      storage/maria/unittest/ma_test_loghandler-t.c:
        Test logging with new LEX_STRING parameter
        (Patch from Sanja)
      storage/maria/unittest/ma_test_loghandler_multigroup-t.c:
        Test logging with new LEX_STRING parameter
        (Patch from Sanja)
      storage/maria/unittest/ma_test_loghandler_multithread-t.c:
        Test logging with new LEX_STRING parameter
        (Patch from Sanja)
      storage/maria/unittest/ma_test_loghandler_pagecache-t.c:
        Test logging with new LEX_STRING parameter
        (Patch from Sanja)
      storage/maria/unittest/trnman-t.c:
        Stack overflow detection
        (Patch from Sergei)
      unittest/unit.pl:
        Command-line options --big and --verbose
        (Patch from Sergei)
      unittest/mytap/tap.c:
        Detect --big
        (Patch from Sergei)
      unittest/mytap/tap.h:
        Skip_big_tests and SKIP_BIG_TESTS
        (Patch from Sergei)
      storage/maria/trnman_public.h:
        New BitKeeper file ``storage/maria/trnman_public.h''
      8f39541e
  3. 18 Jan, 2007 1 commit
    • unknown's avatar
      Implementation of rows-in-block · 345959c6
      unknown authored
      - Fixes some things missed in myisam->maria port
      - Moved variables that holds the state for the current row to 'cur_row'
      - Changed most uchar * to byte * to be able to remove a lot of casts
      - Removed RAID support
      - Added CHECK for rows-in-block
      - Added allocate_dynamic() for easier usage of dynamic rows when we know how many entries we will need
      - Reorder columns after CREATE for more optimal row storage (for rows-in-block)
      - Removed flag 'RRND_PRESERVER_LASTINX' (not needed)
      - Extended ma_test_all.sh to test more completely all row formats
      - New structs and variables to hold rows-in-block and bitmap information
      - Added org_data_file_type in header to allow easy restore of old record format when doing maria_pack / maria_chk -u
      - More virtual functions to handle different row types
      - Pointer to row is now MARIA_RECORD_POS instead of my_off_t
      - New header signature for MARIA index files
      - Fixed bugs in ma_test1.c and ma_test2.c
      - All key and row blocks are now of same size
      - We now only have one link chain for deleted key blocks
      
      
      include/m_string.h:
        Define bzero_if_purify
      include/maria.h:
        Implementation of rows-in-block
      include/my_base.h:
        Implementation of rows-in-block
      include/my_handler.h:
        Cleanup macros
        Added size_to_store_key_length()
      include/my_sys.h:
        Added 'allocate_dynamic()'
      include/myisamchk.h:
        Implementation of rows-in-block
      mysys/array.c:
        Added allocate_dynamic()
      mysys/mf_keycache.c:
        Moved DBUG_ENTER to it's right position
      mysys/my_pread.c:
        Ensure my_errno is always set
      sql/filesort.cc:
        Fixed some compiler warnings
      sql/gen_lex_hash.cc:
        Removed not needed 'inline'
      sql/ha_maria.cc:
        Implementation of rows-in-block
        Fixed compiler warnings
      sql/mysqld.cc:
        Fixed setting of wrong variable
      sql/uniques.cc:
        Fixed compiler warnings
      storage/maria/Makefile.am:
        Implementation of rows-in-block
      storage/maria/ma_check.c:
        Removed RAID functions
        Added support for CHECK of rows-in-blocks rows
      storage/maria/ma_checksum.c:
        Implementation of rows-in-block
      storage/maria/ma_close.c:
        Implementation of rows-in-block
      storage/maria/ma_create.c:
        Implementation of rows-in-block:
        - Reorder columns
        - All key blocks are now of same size
        - Removed old RAID support
      storage/maria/ma_dbug.c:
        Implementation of rows-in-block
      storage/maria/ma_delete.c:
        Implementation of rows-in-block
      storage/maria/ma_delete_all.c:
        Implementation of rows-in-block
      storage/maria/ma_dynrec.c:
        info->rec_buff is now allocated through _ma_alloc_buffer()
        Use new info->cur_row structure
      storage/maria/ma_extra.c:
        Implementation of rows-in-block
      storage/maria/ma_ft_boolean_search.c:
        Removed compiler warnings
        Indentation fixes
      storage/maria/ma_ft_nlq_search.c:
        Removed compiler warnings
        Indentation fixes
      storage/maria/ma_ft_update.c:
        Removed some casts
      storage/maria/ma_fulltext.h:
        Changed pointer type
      storage/maria/ma_info.c:
        Implementation of rows-in-block
        More general _ma_report_error()
      storage/maria/ma_init.c:
        Implementation of rows-in-block
      storage/maria/ma_key.c:
        Implementation of rows-in-block
        Removed some casts
      storage/maria/ma_keycache.c:
        Fixed DBUG entry
      storage/maria/ma_locking.c:
        Implementation of rows-in-block
      storage/maria/ma_open.c:
        Implementation of rows-in-block
      storage/maria/ma_packrec.c:
        Indentation fixes
        Changed uchar * to byte * to make it possible to remove some casts
      storage/maria/ma_page.c:
        Implementation of rows-in-block
      storage/maria/ma_range.c:
        Implementation of rows-in-block
      storage/maria/ma_rfirst.c:
        Implementation of rows-in-block
      storage/maria/ma_rkey.c:
        Implementation of rows-in-block
        Indentation fixes
      storage/maria/ma_rlast.c:
        Implementation of rows-in-block
      storage/maria/ma_rnext.c:
        Implementation of rows-in-block
      storage/maria/ma_rnext_same.c:
        Implementation of rows-in-block
      storage/maria/ma_rprev.c:
        Implementation of rows-in-block
      storage/maria/ma_rrnd.c:
        Implementation of rows-in-block
        Removed flag 'RRND_PRESERVER_LASTINX', by not resetting lastinx (This is reset by maria_scan_init())
      storage/maria/ma_rsame.c:
        Implementation of rows-in-block
      storage/maria/ma_rsamepos.c:
        Implementation of rows-in-block
      storage/maria/ma_rt_index.c:
        Implementation of rows-in-block
      storage/maria/ma_rt_index.h:
        Implementation of rows-in-block
      storage/maria/ma_rt_key.c:
        Implementation of rows-in-block
      storage/maria/ma_rt_key.h:
        Implementation of rows-in-block
      storage/maria/ma_rt_mbr.c:
        Implementation of rows-in-block
      storage/maria/ma_rt_mbr.h:
        Implementation of rows-in-block
      storage/maria/ma_rt_split.c:
        Implementation of rows-in-block
      storage/maria/ma_rt_test.c:
        Indentation fix
      storage/maria/ma_scan.c:
        Implementation of rows-in-block
        Added 'maria_scan_end()'
      storage/maria/ma_search.c:
        Implementation of rows-in-block
      storage/maria/ma_sort.c:
        Indentation fixes
        uchar -> byte to be able to remove some casts
      storage/maria/ma_sp_defs.h:
        uchar * -> byte *
      storage/maria/ma_sp_key.c:
        uchar * -> byte *
      storage/maria/ma_sp_test.c:
        Indentation fixes
      storage/maria/ma_static.c:
        New header signature for MARIA
      storage/maria/ma_statrec.c:
        int -> my_bool functions
        my_off_t -> MARIA_RECORD_POS
        Fixed argument order for _ma_read_static_record()
      storage/maria/ma_test1.c:
        Implementation of rows-in-block
        Fixed some bugs in VARCHAR and BLOB testing
      storage/maria/ma_test2.c:
        Implementation of rows-in-block
        Fixed bug in BLOB testing
      storage/maria/ma_test3.c:
        Implementation of rows-in-block
      storage/maria/ma_test_all.sh:
        Run all tests with dynamic, static and block row formats
        (For the moment we skip REPAIR test of rows-in-block as this is not yet implemented)
      storage/maria/ma_unique.c:
        Implementation of rows-in-block
      storage/maria/ma_update.c:
        Implementation of rows-in-block
      storage/maria/ma_write.c:
        Implementation of rows-in-block
        Write of row is split into two parts, as rows-in-block format require us to do write of row before keys (to get row position) in contrast to all other row formats
      storage/maria/maria_chk.c:
        Implementation of rows-in-block
      storage/maria/maria_def.h:
        Implementation of rows-in-block
        - New structs and variables to hold rows-in-block and bitmap information
        - Added org_data_file_type in header to allow easy restore of old record format when doing maria_pack / maria_chk -u
        - More virtual functions to handle different row types
        - Pointer to row is now MARIA_RECORD_POS instead of my_off_t
        - uchar -> byte for many parameters to avoid casts
      storage/maria/maria_ftdump.c:
        Implementation of rows-in-block
      storage/maria/maria_pack.c:
        Implementation of rows-in-block
      storage/myisam/mi_check.c:
        Added new row types into switch to avoid compiler warnings
        Added some casts to avoid warnings after changing type of lastkey and buff
      storage/myisam/mi_create.c:
        Fix that 'pack_fields' is calculated correctly
      storage/myisam/mi_rsamepos.c:
        Implementation of rows-in-block
      storage/myisam/mi_test2.c:
        Fixed wrong printf
      storage/myisam/sort.c:
        uchar * -> byte *
      support-files/magic:
        Added support for Maria files
        Fided wrong entry's for MyISAM files
      storage/maria/ma_bitmap.c:
        New BitKeeper file ``storage/maria/ma_bitmap.c''
      storage/maria/ma_blockrec.c:
        New BitKeeper file ``storage/maria/ma_blockrec.c''
      storage/maria/ma_blockrec.h:
        New BitKeeper file ``storage/maria/ma_blockrec.h''
      345959c6
  4. 10 Nov, 2006 1 commit
  5. 07 Sep, 2006 1 commit
    • unknown's avatar
      Merge of Myisam changes into Maria. · 4535e559
      unknown authored
      First step: ha_maria moves to storage/maria.
      
      
      BitKeeper/deleted/.del-ft_maria.c:
        Delete: storage/maria/ft_maria.c
      storage/maria/ha_maria.h:
        Rename: sql/ha_maria.h -> storage/maria/ha_maria.h
      storage/maria/ha_maria.cc:
        Rename: sql/ha_maria.cc -> storage/maria/ha_maria.cc
      libmysqld/Makefile.am:
        ha_maria moves to other dir (like myisam has)
      sql/Makefile.am:
        ha_maria moves to other dir (like myisam has)
      sql/mysqld.cc:
        ha_maria moves to other dir (like myisam has)
      storage/maria/Makefile.am:
        I delete ft_maria.c like ft_myisam.c has
      storage/maria/ma_test_all.sh:
        -l option is removed (no MyISAM log in Maria), maria_log is removed too.
      4535e559
  6. 12 Apr, 2006 1 commit
  7. 11 Apr, 2006 1 commit
    • unknown's avatar
      Added storage/maria (based on MyISAM). WL#3245 · d2b8d744
      unknown authored
      Moved things into ft_global.h, my_handler.h and myisamchk.h to allow MyISAM and Maria to share code and defines
      Rename of not properly renamed functions in MyISAM and my_handler.c
      Renamed some MI_ defines to HA_ to allow MyISAM and Maria to share
      Added maria variables to mysqld.cc and set_var.cc
      Fixed compiler warnings
      
      
      
      BitKeeper/etc/ignore:
        added storage/maria/*.MAI
      BUILD/SETUP.sh:
        Compile maria by default
      BitKeeper/triggers/post-commit:
        No public maria emails.
        Mark changesets emails with 'maria'
      configure.in:
        Add maria
      include/ft_global.h:
        Move defines needed by maria and MyISAM here
      include/keycache.h:
        Add support for default key_cache if cache not found
      include/my_base.h:
        Add invalidator_by_filename
      include/my_handler.h:
        Remove duplicate header files
        Add defines that are typical for handlers (MyISAM and Maria)
      include/myisam.h:
        Move things to my_handler.h to allow Maria and MyISAM to share things
        (Some things needed to be shared to allow sharing of HA_CHECK structure)
      libmysqld/Makefile.am:
        Added ha_maria.cc
      mysys/mf_keycaches.c:
        Added default value for multi_key_cache_search
      mysys/my_handler.c:
        mi_compare_text -> ha_compare_text
        Removed compiler warnings
      sql/ha_myisam.cc:
        MI_CHECK -> HA_CHECK
        MI_MAX_KEY_LENGTH -> HA_MAX_KEY_LENGTH
      sql/ha_myisam.h:
        MI_CHECK -> HA_CHECK
        MI_MAX_KEY_LENGTH -> HA_MAX_KEY_LENGTH
      sql/ha_myisammrg.h:
        MI_CHECK -> HA_CHECK
        MI_MAX_KEY_LENGTH -> HA_MAX_KEY_LENGTH
      sql/handler.h:
        Added MARIA
        Added inclusion of my_handler.h
      sql/item_func.h:
        Remove duplicate include
      sql/mysql_priv.h:
        Added maria variables
      sql/mysqld.cc:
        Added maria
      sql/set_var.cc:
        Added maria status variables
      sql/set_var.h:
        Added maria
      sql/sql_class.h:
        Added maria status variables
      sql/sql_sort.h:
        Remove duplicate BUFFPEK struct
      storage/Makefile.am:
        Added maria
      storage/csv/ha_tina.cc:
        Removed compiler warning
      storage/myisam/Makefile.am:
        Added ft_myisam.c
      storage/myisam/ft_boolean_search.c:
        mi_compare_text -> ha_compare_text
        MI_MAX_KEY_BUFF -> HA_MAX_KEY_BUFF
        Remove compiler warnings
      storage/myisam/ft_nlq_search.c:
        mi_compare_text -> ha_compare_text
      storage/myisam/ft_parser.c:
        mi_compare_text -> ha_compare_text
      storage/myisam/ft_static.c:
        Move ft_init_search() to ft_myisam.c to make ft_static.c independent of MyISAM
      storage/myisam/ft_stopwords.c:
        mi_compare_text -> ha_compare_text
      storage/myisam/ft_update.c:
        mi_compare_text -> ha_compare_text
      storage/myisam/fulltext.h:
        Move things to ft_global.h to allow to share more things between MyISAM and Maria
      storage/myisam/mi_check.c:
        MI_CHECK -> HA_CHECK
      storage/myisam/mi_create.c:
        MI_MAX_POSSIBLE_KEY ->   HA_MAX_POSSIBLE_KEY
        MI_MAX_KEY_BLOCK_SIZE -> HA_MAX_KEY_BLOCK_SIZE
        MI_MAX_KEY_SEG ->  HA_MAX_KEY_SEG
        MI_MAX_KEY_BUFF -> HA_MAX_KEY_BUFF
      storage/myisam/mi_delete.c:
        MI_MAX_KEY_BUFF -> HA_MAX_KEY_BUFF
      storage/myisam/mi_delete_all.c:
        Remove not used variable
      storage/myisam/mi_dynrec.c:
        _my_calc_total_blob_length -> _mi_calc_total_blob_length
      storage/myisam/mi_key.c:
        _my_store_blob_length -> _mi_store_blob_length
      storage/myisam/mi_log.c:
        _my_calc_total_blob_length -> _mi_calc_total_blob_length
      storage/myisam/mi_open.c:
        MI_MAX_POSSIBLE_KEY -> HA_MAX_POSSIBLE_KEY
        MI_MAX_KEY_SEG ->      HA_MAX_KEY_SEG
        MI_MAX_KEY_BUFF ->     HA_MAX_KEY_BUFF
        my_n_base_info_read -> mi_n_base_info_read
      storage/myisam/mi_packrec.c:
        Made read_pack_length static
        _my_store_blob_length -> _mi_store_blob_length
        Remove not used variable
      storage/myisam/mi_range.c:
        MI_MAX_KEY_BUFF -> HA_MAX_KEY_BUFF
      storage/myisam/mi_search.c:
        MI_MAX_KEY_BUFF -> HA_MAX_KEY_BUFF
      storage/myisam/mi_test1.c:
        MI_MAX_KEY_LENGTH -> HA_MAX_KEY_LENGTH
      storage/myisam/mi_test2.c:
        Fixed compiler warning
      storage/myisam/mi_unique.c:
        Fixed compiler warning
        mi_compare_text -> ha_compare_text
      storage/myisam/mi_update.c:
        MI_MAX_KEY_BUFF -> HA_MAX_KEY_BUFF
      storage/myisam/mi_write.c:
        Rename of defines and functions
      storage/myisam/myisamchk.c:
        Rename of defines and functions
      storage/myisam/myisamdef.h:
        Remove tabs
        Indentation fixes (Large changes as I did run indent-ex on the file)
        Move some things to myisamchk.h
        Added missing functions that gave compiler warnings
      storage/myisam/myisamlog.c:
        Rename of defines and functions
      storage/myisam/myisampack.c:
        Remove compiler warning
      storage/myisam/rt_index.c:
        Rename of defines and functions
      storage/myisam/sort.c:
        Rename of defines, functions and structures
      config/ac-macros/ha_maria.m4:
        New BitKeeper file ``config/ac-macros/ha_maria.m4''
      include/maria.h:
        New BitKeeper file ``include/maria.h''
      include/myisamchk.h:
        New BitKeeper file ``include/myisamchk.h''
      libmysqld/ha_maria.cc:
        New BitKeeper file ``libmysqld/ha_maria.cc''
      mysql-test/include/have_maria.inc:
        New BitKeeper file ``mysql-test/include/have_maria.inc''
      mysql-test/r/have_maria.require:
        New BitKeeper file ``mysql-test/r/have_maria.require''
      mysql-test/r/maria.result:
        New BitKeeper file ``mysql-test/r/maria.result''
      mysql-test/r/ps_maria.result:
        New BitKeeper file ``mysql-test/r/ps_maria.result''
      mysql-test/t/maria.test:
        New BitKeeper file ``mysql-test/t/maria.test''
      mysql-test/t/ps_maria.test:
        New BitKeeper file ``mysql-test/t/ps_maria.test''
      sql/ha_maria.cc:
        New BitKeeper file ``sql/ha_maria.cc''
      sql/ha_maria.h:
        New BitKeeper file ``sql/ha_maria.h''
      storage/maria/Makefile.am:
        New BitKeeper file ``storage/maria/Makefile.am''
      storage/maria/cmakelists.txt:
        New BitKeeper file ``storage/maria/cmakelists.txt''
      storage/maria/ft_maria.c:
        New BitKeeper file ``storage/maria/ft_maria.c''
      storage/maria/ma_cache.c:
        New BitKeeper file ``storage/maria/ma_cache.c''
      storage/maria/ma_changed.c:
        New BitKeeper file ``storage/maria/ma_changed.c''
      storage/maria/ma_check.c:
        New BitKeeper file ``storage/maria/ma_check.c''
      storage/maria/ma_checksum.c:
        New BitKeeper file ``storage/maria/ma_checksum.c''
      storage/maria/ma_close.c:
        New BitKeeper file ``storage/maria/ma_close.c''
      storage/maria/ma_create.c:
        New BitKeeper file ``storage/maria/ma_create.c''
      storage/maria/ma_dbug.c:
        New BitKeeper file ``storage/maria/ma_dbug.c''
      storage/maria/ma_delete.c:
        New BitKeeper file ``storage/maria/ma_delete.c''
      storage/maria/ma_delete_all.c:
        New BitKeeper file ``storage/maria/ma_delete_all.c''
      storage/maria/ma_delete_table.c:
        New BitKeeper file ``storage/maria/ma_delete_table.c''
      storage/maria/ma_dynrec.c:
        New BitKeeper file ``storage/maria/ma_dynrec.c''
      storage/maria/ma_extra.c:
        New BitKeeper file ``storage/maria/ma_extra.c''
      storage/maria/ma_ft_boolean_search.c:
        New BitKeeper file ``storage/maria/ma_ft_boolean_search.c''
      storage/maria/ma_ft_eval.c:
        New BitKeeper file ``storage/maria/ma_ft_eval.c''
      storage/maria/ma_ft_eval.h:
        New BitKeeper file ``storage/maria/ma_ft_eval.h''
      storage/maria/ma_ft_nlq_search.c:
        New BitKeeper file ``storage/maria/ma_ft_nlq_search.c''
      storage/maria/ma_ft_parser.c:
        New BitKeeper file ``storage/maria/ma_ft_parser.c''
      storage/maria/ma_ft_stem.c:
        New BitKeeper file ``storage/maria/ma_ft_stem.c''
      storage/maria/ma_ft_test1.c:
        New BitKeeper file ``storage/maria/ma_ft_test1.c''
      storage/maria/ma_ft_test1.h:
        New BitKeeper file ``storage/maria/ma_ft_test1.h''
      storage/maria/ma_ft_update.c:
        New BitKeeper file ``storage/maria/ma_ft_update.c''
      storage/maria/ma_ftdefs.h:
        New BitKeeper file ``storage/maria/ma_ftdefs.h''
      storage/maria/ma_fulltext.h:
        New BitKeeper file ``storage/maria/ma_fulltext.h''
      storage/maria/ma_info.c:
        New BitKeeper file ``storage/maria/ma_info.c''
      storage/maria/ma_init.c:
        New BitKeeper file ``storage/maria/ma_init.c''
      storage/maria/ma_key.c:
        New BitKeeper file ``storage/maria/ma_key.c''
      storage/maria/ma_keycache.c:
        New BitKeeper file ``storage/maria/ma_keycache.c''
      storage/maria/ma_locking.c:
        New BitKeeper file ``storage/maria/ma_locking.c''
      storage/maria/ma_log.c:
        New BitKeeper file ``storage/maria/ma_log.c''
      storage/maria/ma_open.c:
        New BitKeeper file ``storage/maria/ma_open.c''
      storage/maria/ma_packrec.c:
        New BitKeeper file ``storage/maria/ma_packrec.c''
      storage/maria/ma_page.c:
        New BitKeeper file ``storage/maria/ma_page.c''
      storage/maria/ma_panic.c:
        New BitKeeper file ``storage/maria/ma_panic.c''
      storage/maria/ma_preload.c:
        New BitKeeper file ``storage/maria/ma_preload.c''
      storage/maria/ma_range.c:
        New BitKeeper file ``storage/maria/ma_range.c''
      storage/maria/ma_rename.c:
        New BitKeeper file ``storage/maria/ma_rename.c''
      storage/maria/ma_rfirst.c:
        New BitKeeper file ``storage/maria/ma_rfirst.c''
      storage/maria/ma_rkey.c:
        New BitKeeper file ``storage/maria/ma_rkey.c''
      storage/maria/ma_rlast.c:
        New BitKeeper file ``storage/maria/ma_rlast.c''
      storage/maria/ma_rnext.c:
        New BitKeeper file ``storage/maria/ma_rnext.c''
      storage/maria/ma_rnext_same.c:
        New BitKeeper file ``storage/maria/ma_rnext_same.c''
      storage/maria/ma_rprev.c:
        New BitKeeper file ``storage/maria/ma_rprev.c''
      storage/maria/ma_rrnd.c:
        New BitKeeper file ``storage/maria/ma_rrnd.c''
      storage/maria/ma_rsame.c:
        New BitKeeper file ``storage/maria/ma_rsame.c''
      storage/maria/ma_rsamepos.c:
        New BitKeeper file ``storage/maria/ma_rsamepos.c''
      storage/maria/ma_rt_index.c:
        New BitKeeper file ``storage/maria/ma_rt_index.c''
      storage/maria/ma_rt_index.h:
        New BitKeeper file ``storage/maria/ma_rt_index.h''
      storage/maria/ma_rt_key.c:
        New BitKeeper file ``storage/maria/ma_rt_key.c''
      storage/maria/ma_rt_key.h:
        New BitKeeper file ``storage/maria/ma_rt_key.h''
      storage/maria/ma_rt_mbr.c:
        New BitKeeper file ``storage/maria/ma_rt_mbr.c''
      storage/maria/ma_rt_mbr.h:
        New BitKeeper file ``storage/maria/ma_rt_mbr.h''
      storage/maria/ma_rt_split.c:
        New BitKeeper file ``storage/maria/ma_rt_split.c''
      storage/maria/ma_rt_test.c:
        New BitKeeper file ``storage/maria/ma_rt_test.c''
      storage/maria/ma_scan.c:
        New BitKeeper file ``storage/maria/ma_scan.c''
      storage/maria/ma_search.c:
        New BitKeeper file ``storage/maria/ma_search.c''
      storage/maria/ma_sort.c:
        New BitKeeper file ``storage/maria/ma_sort.c''
      storage/maria/ma_sp_defs.h:
        New BitKeeper file ``storage/maria/ma_sp_defs.h''
      storage/maria/ma_sp_key.c:
        New BitKeeper file ``storage/maria/ma_sp_key.c''
      storage/maria/ma_sp_test.c:
        New BitKeeper file ``storage/maria/ma_sp_test.c''
      storage/maria/ma_static.c:
        New BitKeeper file ``storage/maria/ma_static.c''
      storage/maria/ma_statrec.c:
        New BitKeeper file ``storage/maria/ma_statrec.c''
      storage/maria/ma_test1.c:
        New BitKeeper file ``storage/maria/ma_test1.c''
      storage/maria/ma_test2.c:
        New BitKeeper file ``storage/maria/ma_test2.c''
      storage/maria/ma_test3.c:
        New BitKeeper file ``storage/maria/ma_test3.c''
      storage/maria/ma_test_all.sh:
        New BitKeeper file ``storage/maria/ma_test_all.sh''
      storage/maria/ma_unique.c:
        New BitKeeper file ``storage/maria/ma_unique.c''
      storage/maria/ma_update.c:
        New BitKeeper file ``storage/maria/ma_update.c''
      storage/maria/ma_write.c:
        New BitKeeper file ``storage/maria/ma_write.c''
      storage/maria/maria_chk.c:
        New BitKeeper file ``storage/maria/maria_chk.c''
      storage/maria/maria_def.h:
        New BitKeeper file ``storage/maria/maria_def.h''
      storage/maria/maria_ftdump.c:
        New BitKeeper file ``storage/maria/maria_ftdump.c''
      storage/maria/maria_log.c:
        New BitKeeper file ``storage/maria/maria_log.c''
      storage/maria/maria_pack.c:
        New BitKeeper file ``storage/maria/maria_pack.c''
      storage/maria/maria_rename.sh:
        New BitKeeper file ``storage/maria/maria_rename.sh''
      storage/maria/test_pack:
        New BitKeeper file ``storage/maria/test_pack''
      storage/myisam/ft_myisam.c:
        New BitKeeper file ``storage/myisam/ft_myisam.c''
      d2b8d744