17.4.20 ndb_select_all — Print Rows from an NDB Table

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 Section 17.4.25, “Options Common to MySQL Cluster Programs — Options Common to MySQL Cluster Programs”.

Table 17.24 ndb_select_all Options and Variables: MySQL 5.1, MySQL Cluster NDB 6.3-7.1

FormatDescriptionAdded / 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

--gci64

Include GCI and row epoch 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


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)