NDB_SELECT_ALL(1)

NAME
ndb_select_all - print rows from an NDB table

SYNOPSIS

ndb_select_all -c connect_string tbl_name -d db_name [> file_name]

DESCRIPTION

ndb_select_all prints all rows from an NDB table to stdout.
        Usage

    ndb_select_all -c connect_string tbl_name -d db_name [> file_name]

The following table includes options that are specific to the MySQL Cluster native backup restoration program ndb_select_all. Additional descriptions follow the table. For options common to most MySQL Cluster programs (including ndb_select_all), see Options Common to MySQL Cluster Programs(1).

Table 17.24. ndb_select_all Options and Variables: MySQL 5.1, MySQL Cluster NDB 6.3-7.1
Format | Description | Added / Removed
--database=dbname, -d | Name of the database in which the table is found | All MySQL 5.1 based releases
--parallelism=#, -p | Degree of parallelism | All MySQL 5.1 based releases
--lock=#, -l | Lock type | All MySQL 5.1 based releases
--order=index, -o | Sort resultset according to index whose name is supplied | All MySQL 5.1 based releases
--descending, -z | Sort resultset in descending order (requires order flag) | All MySQL 5.1 based releases
--header, -h | Print header (set to 0|FALSE to disable headers in output) | All MySQL 5.1 based releases
--useHexFormat, -x | Output numbers in hexadecimal format | All MySQL 5.1 based releases
--delimiter=char, -D | Set a column delimiter | All MySQL 5.1 based releases
--disk | Print disk references (useful only for Disk Data tables having nonindexed columns) | All MySQL 5.1 based releases
--rowid | Print rowid | All MySQL 5.1 based releases
--gci | Include GCI in output | All MySQL 5.1 based releases
--tup, -t | Scan in tup order | All MySQL 5.1 based releases
--nodata | Do not print table column data | All MySQL 5.1 based releases

    • --database=dbname, -d dbname

    Name of the database in which the table is found. The default value is TEST_DB.

    • parallelism=#, -p #

    Specifies the degree of parallelism.

    • --lock=lock_type, -l lock_type

    Employs a lock when reading the table. Possible values for lock_type are:

        • 0: Read lock

        • 1: Read lock with hold

        • 2: Exclusive read lock

    There is no default value for this option.

    • --order=index_name, -o index_name

    Orders the output according to the index named index_name. Note that this is the name of an index, not of a column, and that the index must have been explicitly named when created.

    • --descending, -z

    Sorts the output in descending order. This option can be used only in conjunction with the -o (--order) option.

    • --header=FALSE

    Excludes column headers from the output.

    • --useHexFormat -x

    Causes all numeric values to be displayed in hexadecimal format. This does not affect the output of numerals contained in strings or datetime values.

    • --delimiter=character, -D character

    Causes the character to be used as a column delimiter. Only table data columns are separated by this delimiter.

    The default delimiter is the tab character.

    • --disk

    Adds a disk reference column to the output. The column is nonempty only for Disk Data tables having nonindexed columns.

    • --rowid

    Adds a ROWID column providing information about the fragments in which rows are stored.

    • --gci

    Adds a column to the output showing the global checkpoint at which each row was last updated. See Section 17.1, “MySQL Cluster Overview”, and Section 17.5.6.2, “MySQL Cluster Log Events”, for more information about checkpoints.

    • --tupscan, -t

    Scan the table in the order of the tuples.

    • --nodata

    Causes any table data to be omitted.
        Sample Output

Output from a MySQL SELECT statement:

    mysql> SELECT * FROM ctest1.fish;
    +----+-----------+
    | id | name      |
    +----+-----------+
    |  3 | shark     |
    |  6 | puffer    |
    |  2 | tuna      |
    |  4 | manta ray |
    |  5 | grouper   |
    |  1 | guppy     |
    +----+-----------+
    6 rows in set (0.04 sec)

Output from the equivalent invocation of ndb_select_all:

    shell> ./ndb_select_all -c localhost fish -d ctest1
    id      name
    3       [shark]
    6       [puffer]
    2       [tuna]
    4       [manta ray]
    5       [grouper]
    1       [guppy]
    6 rows returned
    NDBT_ProgramExit: 0 - OK

Note that all string values are enclosed by square brackets (“[...]”) in the output of ndb_select_all. For a further example, consider the table created and populated as shown here:

    CREATE TABLE dogs (
        id INT(11) NOT NULL AUTO_INCREMENT,
        name VARCHAR(25) NOT NULL,
        breed VARCHAR(50) NOT NULL,
        PRIMARY KEY pk (id),
        KEY ix (name)
    )
    TABLESPACE ts STORAGE DISK
    ENGINE=NDBCLUSTER;
    INSERT INTO dogs VALUES
        ('', 'Lassie', 'collie'),
        ('', 'Scooby-Doo', 'Great Dane'),
        ('', 'Rin-Tin-Tin', 'Alsatian'),
        ('', 'Rosscoe', 'Mutt');

This demonstrates the use of several additional ndb_select_all options:

    shell> ./ndb_select_all -d ctest1 dogs -o ix -z --gci --disk
    GCI     id name          breed        DISK_REF
    834461  2  [Scooby-Doo]  [Great Dane] [ m_file_no: 0 m_page: 98 m_page_idx: 0 ]
    834878  4  [Rosscoe]     [Mutt]       [ m_file_no: 0 m_page: 98 m_page_idx: 16 ]
    834463  3  [Rin-Tin-Tin] [Alsatian]   [ m_file_no: 0 m_page: 34 m_page_idx: 0 ]
    835657  1  [Lassie]      [Collie]     [ m_file_no: 0 m_page: 66 m_page_idx: 0 ]
    4 rows returned
    NDBT_ProgramExit: 0 - OK

    Note

    In earlier MySQL Cluster NDB 7.0 and 7.1 releases, ndb_select_all did not print any output for NULL values as it did in MySQL Cluster NDB 6.3 and earlier release series. This issue was fixed in MySQL Cluster NDB 7.0.22 and MySQL Cluster NDB 7.1.11. (Bug #60045)

COPYRIGHT

Copyright © 1997, 2013, Oracle and/or its affiliates. All rights reserved.

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

This documentation 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 the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA or see http://www.gnu.org/licenses/.

SEE ALSO
For more information, please refer to the MySQL Reference Manual, which may already be installed locally and which is also available online at http://dev.mysql.com/doc/.

AUTHOR
Oracle Corporation (http://dev.mysql.com/).