We're Moving!

The Vertica Forum is moving to a new OpenText Analytics Database (Vertica) Community.

Join us there to post discussion topics, learn about

product releases, share tips, access the blog, and much more.

Create My New Community Account Now


COPY, CSV, NUMBER(1024,512) : Change in Behavior / Bug v11 -> v12 ? — Vertica Forum

COPY, CSV, NUMBER(1024,512) : Change in Behavior / Bug v11 -> v12 ?

mark_d_drakemark_d_drake Community Edition User
edited March 2023 in General Discussion

Simple contrived test case.

Given the following data files

y:\stagingArea\db\vertica\t1.csv
"1"

y:\stagingArea\db\vertica\t2.csv
"1.0"

y:\stagingArea\db\vertica\t3.csv
1

C:\Development\YADAMU>

Running the following script:

select version();
--
drop schema "test";
--
drop table "reject_t1";
--
drop table "reject_t2";
--
drop table "reject_t3";
--
create schema "test";
--
create table "test"."t1" ("x" number(1024,512));
--
copy "test"."t1" ("x") from '/mnt/shared/stagingArea/db/vertica/t1.csv' PARSER fcsvparser(type='rfc4180', header=false, trim=false) NULL '' REJECTED DATA AS TABLE "reject_t1"  NO COMMIT;
--
select * from "test"."t1";
--
select * from "reject_t1";
--
select count(*) from "test"."t1" where "x" is null;
--
copy "test"."t1" ("x") from '/mnt/shared/stagingArea/db/vertica/t2.csv' PARSER fcsvparser(type='rfc4180', header=false, trim=false) NULL '' REJECTED DATA AS TABLE "reject_t2"  NO COMMIT;
--
select * from "test"."t1";
--
select * from "reject_t2";
--
select count(*) from "test"."t1" where "x" is null;
--
copy "test"."t1" ("x") from '/mnt/shared/stagingArea/db/vertica/t3.csv' PARSER fcsvparser(type='rfc4180', header=false, trim=false) NULL '' REJECTED DATA AS TABLE "reject_t3"  NO COMMIT;
--
select * from "test"."t1";
--
select * from "reject_t3";
--
select count(*) from "test"."t1" where "x" is null;
--

Answers

  • mark_d_drakemark_d_drake Community Edition User
    edited March 2023

    With Vertica 11 results in the following output:

    VMART=> select version();
                   version
    -------------------------------------
     Vertica Analytic Database v11.1.1-0
    (1 row)
    
    
    VMART=> --
    VMART=> drop schema "test";
    DROP SCHEMA
    VMART=> --
    VMART=> drop table "reject_t1";
    ROLLBACK 4876:  Table "reject_t1" does not exist
    VMART=> --
    VMART=> drop table "reject_t2";
    ROLLBACK 4876:  Table "reject_t2" does not exist
    VMART=> --
    VMART=> drop table "reject_t3";
    ROLLBACK 4876:  Table "reject_t3" does not exist
    VMART=> --
    VMART=> create schema "test";
    CREATE SCHEMA
    VMART=> --
    VMART=> create table "test"."t1" ("x" number(1024,512));
    CREATE TABLE
    VMART=> --
    VMART=> copy "test"."t1" ("x") from '/mnt/shared/stagingArea/db/vertica/t1.csv' PARSER fcsvparser(type='rfc4180', header=false, trim=false) NULL '' REJECTED DATA AS TABLE "reject_t1"  NO COMMIT;
    NOTICE 5795:  COPY is not going to commit.  Creating a TEMPORARY rejection table, which will be dropped at end-of-session
     Rows Loaded
    -------------
               1
    (1 row)
    
    VMART=> --
    VMART=> select * from "test"."t1";
                                                                                              x
    ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
     1.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
    (1 row)
    
    VMART=> --
    VMART=> select * from "reject_t1";
     node_name | file_name | session_id | transaction_id | statement_id | batch_number | row_number | rejected_data | rejected_data_orig_length | rejected_reason
    -----------+-----------+------------+----------------+--------------+--------------+------------+---------------+---------------------------+-----------------
    (0 rows)
    
    VMART=> --
    VMART=> select count(*) from "test"."t1" where "x" is null;
     count
    -------
         0
    (1 row)
    
    VMART=> --
    VMART=> copy "test"."t1" ("x") from '/mnt/shared/stagingArea/db/vertica/t2.csv' PARSER fcsvparser(type='rfc4180', header=false, trim=false) NULL '' REJECTED DATA AS TABLE "reject_t2"  NO COMMIT;
    NOTICE 5795:  COPY is not going to commit.  Creating a TEMPORARY rejection table, which will be dropped at end-of-session
     Rows Loaded
    -------------
               1
    (1 row)
    
    
    VMART=> --
    VMART=> select * from "test"."t1";
                                                                                           x
    ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
     1.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
     1.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
    (2 rows)
    
    VMART=> --
    VMART=> select * from "reject_t2";
     node_name | file_name | session_id | transaction_id | statement_id | batch_number | row_number | rejected_data | rejected_data_orig_length | rejected_reason
    -----------+-----------+------------+----------------+--------------+--------------+------------+---------------+---------------------------+-----------------
    (0 rows)
    
    VMART=> --
    VMART=> select count(*) from "test"."t1" where "x" is null;
     count
    -------
         0
    (1 row)
    
    VMART=> --
    VMART=> copy "test"."t1" ("x") from '/mnt/shared/stagingArea/db/vertica/t3.csv' PARSER fcsvparser(type='rfc4180', header=false, trim=false) NULL '' REJECTED DATA AS TABLE "reject_t3"  NO COMMIT;
    NOTICE 5795:  COPY is not going to commit.  Creating a TEMPORARY rejection table, which will be dropped at end-of-session
     Rows Loaded
    -------------
               1
    (1 row)
    
    
  • mark_d_drakemark_d_drake Community Edition User
    VMART=> --
    VMART=> select * from "test"."t1";
                                                                                             x
    ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
     1.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
     1.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
     1.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
    (3 rows)
    
    VMART=> --
    VMART=> select * from "reject_t3";
     node_name | file_name | session_id | transaction_id | statement_id | batch_number | row_number | rejected_data | rejected_data_orig_length | rejected_reason
    -----------+-----------+------------+----------------+--------------+--------------+------------+---------------+---------------------------+-----------------
    (0 rows)
    
    VMART=> --
    VMART=> select count(*) from "test"."t1" where "x" is null;
     count
    -------
         0
    (1 row)
    
    VMART=>
    

    But in Vertica 12 it results in

    VMART=> select version();
                   version
    -------------------------------------
     Vertica Analytic Database v12.0.3-0
    (1 row)
    
    VMART=> --
    VMART=> drop schema "test";
    NOTICE 4927:  The Table t1 depends on Schema test
    ROLLBACK 3128:  DROP failed due to dependencies
    DETAIL:  Cannot drop Schema test because other objects depend on it
    HINT:  Use DROP ... CASCADE to drop the dependent objects too
    VMART=> --
    VMART=> drop table "reject_t1";
    ROLLBACK 4876:  Table "reject_t1" does not exist
    VMART=> --
    VMART=> drop table "reject_t2";
    ROLLBACK 4876:  Table "reject_t2" does not exist
    VMART=> --
    VMART=> drop table "reject_t3";
    ROLLBACK 4876:  Table "reject_t3" does not exist
    VMART=> --
    VMART=> create schema "test";
    ROLLBACK 4213:  Object "test" already exists
    VMART=> --
    VMART=> create table "test"."t1" ("x" number(1024,512));
    ROLLBACK 4213:  Object "t1" already exists
    VMART=> --
    VMART=> copy "test"."t1" ("x") from '/mnt/shared/stagingArea/db/vertica/t1.csv' PARSER fcsvparser(type='rfc4180', header=false, trim=false) NULL '' REJECTED DATA AS TABLE "reject_t1"  NO COMMIT;
    NOTICE 5795:  COPY is not going to commit.  Creating a TEMPORARY rejection table, which will be dropped at end-of-session
     Rows Loaded
    -------------
               1
    (1 row)
    
    VMART=> --
    VMART=> select * from "test"."t1";
     x
    ---
    
    (1 row)
    
    VMART=> --
    VMART=> select * from "reject_t1";
     node_name | file_name | session_id | transaction_id | statement_id | batch_number | row_number | rejected_data | rejected_data_orig_length | rejected_reason
    -----------+-----------+------------+----------------+--------------+--------------+------------+---------------+---------------------------+-----------------
    (0 rows)
    
    VMART=> --
    VMART=> select count(*) from "test"."t1" where "x" is null;
     count
    -------
         1
    (1 row)
    
    VMART=> --
    VMART=> copy "test"."t1" ("x") from '/mnt/shared/stagingArea/db/vertica/t2.csv' PARSER fcsvparser(type='rfc4180', header=false, trim=false) NULL '' REJECTED DATA AS TABLE "reject_t2"  NO COMMIT;
    NOTICE 5795:  COPY is not going to commit.  Creating a TEMPORARY rejection table, which will be dropped at end-of-session
     Rows Loaded
    -------------
               1
    (1 row)
    
    VMART=> --
    VMART=> select * from "test"."t1";
     x
    ---
    
    
    (2 rows)
    
    VMART=> --
    VMART=> select * from "reject_t2";
     node_name | file_name | session_id | transaction_id | statement_id | batch_number | row_number | rejected_data | rejected_data_orig_length | rejected_reason
    -----------+-----------+------------+----------------+--------------+--------------+------------+---------------+---------------------------+-----------------
    (0 rows)
    
    VMART=> --
    VMART=> select count(*) from "test"."t1" where "x" is null;
     count
    -------
         2
    (1 row)
    
    VMART=> --
    VMART=> copy "test"."t1" ("x") from '/mnt/shared/stagingArea/db/vertica/t3.csv' PARSER fcsvparser(type='rfc4180', header=false, trim=false) NULL '' REJECTED DATA AS TABLE "reject_t3"  NO COMMIT;
    NOTICE 5795:  COPY is not going to commit.  Creating a TEMPORARY rejection table, which will be dropped at end-of-session
     Rows Loaded
    -------------
               1
    (1 row)
    
    VMART=> --
    VMART=> select * from "test"."t1";
     x
    ---
    
    
    
    (3 rows)
    
    VMART=> --
    VMART=> select * from "reject_t3";
     node_name | file_name | session_id | transaction_id | statement_id | batch_number | row_number | rejected_data | rejected_data_orig_length | rejected_reason
    -----------+-----------+------------+----------------+--------------+--------------+------------+---------------+---------------------------+-----------------
    (0 rows)
    
    VMART=> --
    VMART=> select count(*) from "test"."t1" where "x" is null;
     count
    -------
         3
    (1 row)
    
    
    VMART=> --
    VMART=>
    

    In version 11 the column contains data, in version 12 the column is NULL. IMHO the output from version 11 is correct.

  • mark_d_drakemark_d_drake Community Edition User

    Simple test case and workaround...

    New testcase

    select version();
    --
    drop schema "test" cascade;
    --
    create schema "test";
    --
    create table "test"."t1" ("x" number(1024,512));
    --
    copy "test"."t1" ("x") from STDIN 
    PARSER fcsvparser(type='rfc4180', header=false, trim=false) NULL '' NO COMMIT;
    "1.0"
    "2.0"
    \.
    --
    select * from "test"."t1";
    --
    drop table "test"."t1";
    --
    create table "test"."t1" ("x" varchar(1024));
    --
    copy "test"."t1" ("x") from STDIN 
    PARSER fcsvparser(type='rfc4180', header=false, trim=false) NULL '' NO COMMIT;
    "1.0"
    "2.0"
    \.
    --
    select * from "test"."t1";
    --
    drop table "test"."t1";
    --
    create table "test"."t1" ("x" number(1024,512),"y" varchar(1024),"z" number(1024,512));
    --
    delete from "test"."t1";
    --
    copy "test"."t1" ("x","y",NUMBER_VARCHAR FILLER VARCHAR(1026), "z" as CAST(NUMBER_VARCHAR as number(1024,512))) from STDIN 
    PARSER fcsvparser(type='rfc4180', header=false, trim=false) NULL '' NO COMMIT;
    "1.0","1.1","1.2"
    "2.0","2.1","2.2"
    \.
    --
    select * from "test"."t1";
    --
    
  • mark_d_drakemark_d_drake Community Edition User
    edited March 2023

    Running in Vertica 10 I get the following

    C:\Development\YADAMU>vsql -Udbadmin -hyadamu-db2 -dVMart -p5434
    Welcome to vsql, the Vertica Analytic Database interactive terminal.
    
    Type:  \h or \? for help with vsql commands
           \g or terminate with semicolon to execute query
           \q to quit
    
    Warning: Console code page (437) differs from Windows code page (1252)
             8-bit characters may not work correctly. See vsql reference
             page "Notes for Windows users" for details.
    
    VMart=> select version();
                   version
    -------------------------------------
     Vertica Analytic Database v10.1.1-0
    (1 row)
    
    
    VMart=> --
    VMart=> drop schema "test" cascade;
    DROP SCHEMA
    VMart=> --
    VMart=> create schema "test";
    CREATE SCHEMA
    VMart=> --
    VMart=> create table "test"."t1" ("x" number(1024,512));
    CREATE TABLE
    VMart=> --
    VMart=> copy "test"."t1" ("x") from STDIN
    VMart-> PARSER fcsvparser(type='rfc4180', header=false, trim=false) NULL '' NO COMMIT;
    Enter data to be copied followed by a newline.
    End with a backslash and a period on a line by itself.
    . >> "1.0"
    . >> "2.0"
    . >> \.
    VMart=> --
    VMart=> select * from "test"."t1";
    
                                                                                              x
    
    
    ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
     1.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
     2.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
    (2 rows)
    
    
    VMart=> --
    VMart=> drop table "test"."t1";
    DROP TABLE
    VMart=> --
    VMart=> create table "test"."t1" ("x" varchar(1024));
    CREATE TABLE
    VMart=> --
    VMart=> copy "test"."t1" ("x") from STDIN
    VMart-> PARSER fcsvparser(type='rfc4180', header=false, trim=false) NULL '' NO COMMIT;
    Enter data to be copied followed by a newline.
    End with a backslash and a period on a line by itself.
    .>> "1.0"
    .>> "2.0"
    .>> \.
    VMart=> --
    VMart=> select * from "test"."t1";
      x
    -----
     1.0
     2.0
    (2 rows)
    
    
    VMart=> --
    VMart=> drop table "test"."t1";
    DROP TABLE
    VMart=> --
    VMart=> create table "test"."t1" ("x" number(1024,512),"y" varchar(1024),"z" number(1024,512));
    CREATE TABLE
    VMart=> --
    VMart=> delete from "test"."t1";
     OUTPUT
    --------
          0
    (1 row)
    
    
    VMart=> --
    VMart=> copy "test"."t1" ("x","y",NUMBER_VARCHAR FILLER VARCHAR(1026), "z" as CAST(NUMBER_VARCHAR as number(1024,512))) from STDIN
    VMart-> PARSER fcsvparser(type='rfc4180', header=false, trim=false) NULL '' NO COMMIT;
    Enter data to be copied followed by a newline.
    End with a backslash and a period on a line by itself.
    .>> "1.0","1.1","1.2"
    .>> "2.0","2.1","2.2"
    .>> \.
    VMart=> --
    VMart=> select * from "test"."t1";
    
                                                                                              x
    
                   |  y  |
                                                                                                                    z
    
    
    ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
     1.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 | 1.1 | 1.20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
     2.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 | 2.1 | 2.20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
    (2 rows)
    
    
    VMart=> --
    VMart=>
    
  • mark_d_drakemark_d_drake Community Edition User

    And with Vertica 12

    ```
    C:\Development\YADAMU>vsql -Udbadmin -hyadamu-db2 -dVMart
    Welcome to vsql, the Vertica Analytic Database interactive terminal.

    Type: \h or \? for help with vsql commands
    \g or terminate with semicolon to execute query
    \q to quit

    Warning: Console code page (437) differs from Windows code page (1252)
    8-bit characters may not work correctly. See vsql reference
    page "Notes for Windows users" for details.

    VMart=> select version();

    version

    Vertica Analytic Database v12.0.3-0
    (1 row)

    VMart=> --
    VMart=> drop schema "test" cascade;
    DROP SCHEMA
    VMart=> --
    VMart=> create schema "test";
    CREATE SCHEMA
    VMart=> --
    VMart=> create table "test"."t1" ("x" number(1024,512));
    CREATE TABLE
    VMart=> --
    VMart=> copy "test"."t1" ("x") from STDIN
    VMart-> PARSER fcsvparser(type='rfc4180', header=false, trim=false) NULL '' NO COMMIT;
    Enter data to be copied followed by a newline.
    End with a backslash and a period on a line by itself.
    .>> "1.0"
    .>> "2.0"
    .>> .
    VMart=> --
    VMart=> select * from "test"."t1";

    x

    (2 rows)

    VMart=> --
    VMart=> drop table "test"."t1";
    DROP TABLE
    VMart=> --
    VMart=> create table "test"."t1" ("x" varchar(1024));
    CREATE TABLE
    VMart=> --
    VMart=> copy "test"."t1" ("x") from STDIN
    VMart-> PARSER fcsvparser(type='rfc4180', header=false, trim=false) NULL '' NO COMMIT;
    Enter data to be copied followed by a newline.
    End with a backslash and a period on a line by itself.
    .>> "1.0"
    .>> "2.0"
    .>> .
    VMart=> --
    VMart=> select * from "test"."t1";

    x

    1.0
    2.0
    (2 rows)

    VMart=> --
    VMart=> drop table "test"."t1";
    DROP TABLE
    VMart=> --
    VMart=> create table "test"."t1" ("x" number(1024,512),"y" varchar(1024),"z" number(1024,512));
    CREATE TABLE
    VMart=> --
    VMart=> delete from "test"."t1";

    OUTPUT

      0
    

    (1 row)

    VMart=> --
    VMart=> copy "test"."t1" ("x","y",NUMBER_VARCHAR FILLER VARCHAR(1026), "z" as CAST(NUMBER_VARCHAR as number(1024,512))) from STDIN
    VMart-> PARSER fcsvparser(type='rfc4180', header=false, trim=false) NULL '' NO COMMIT;
    Enter data to be copied followed by a newline.
    End with a backslash and a period on a line by itself.
    .>> "1.0","1.1","1.2"
    .>> "2.0","2.1","2.2"
    .>> .
    VMart=> --
    VMart=> select * from "test"."t1";
    x | y |
    z

    ---+-----+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    | 1.1 | 1.20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
    | 2.1 | 2.20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
    (2 rows)

    VMart=> --
    VMart=> exit

This discussion has been closed.