HP Vertica build_flextable_view () function

The build_flextable_view create a view of the flex table using the test_keys table created in the previous article using the compute_flextable_keys() function.

Wen the flex table is created the test_view is created automatically but is not populated until you run the compute_flextable_keys_and_build_view() or you run compute_flextable_keys() and build_flextable_view() separate.

  • See test_view definition/content after the flex table creation.
  • dbadmin=> dv test_view
                    List of View Fields
     Schema |   View    | Column |     Type     | Size
    --------+-----------+--------+--------------+------
     public | test_view | status | varchar(124) |  124
    (1 row)
    
    
    dbadmin=> select * from test_view ;
                                                                status
    ------------------------------------------------------------------------------------------------------------------------------
     Please run compute_flextable_keys_and_build_view() to update this view to reflect real and virtual columns in the flex table
    (1 row)
  • Running the build_flextable_view() options:
  • Syntax:

    build_flextable_view('flex_table' [ [,'view_name'] [,'user_keys_table'] ])

    The function can receive 3 parameters :

    flex_table : will hold the flex table name.

    view_name : optionaly you can choose the view name of your choise.

    user_keys_table: optionaly you can nominate the keys(columns) that will paticipate in the view creation.

  • Run the build_flextable_view() function.
  • dbadmin=> select compute_flextable_keys_and_build_view('test');
                                compute_flextable_keys_and_build_view
    ----------------------------------------------------------------------------------------------
     Please see public.test_keys for updated keys
    The view public.test_view is ready for querying
    (1 row)
    
    dbadmin=> dv public.test_view;
                           List of View Fields
     Schema |   View    |    Column     |        Type         | Size
    --------+-----------+---------------+---------------------+------
     public | test_view | about         | varchar(1270)       | 1270
     public | test_view | address       | varchar(120)        |  120
     public | test_view | age           | varchar(20)         |   20
     public | test_view | balance       | varchar(20)         |   20
     public | test_view | company       | varchar(24)         |   24
     public | test_view | email         | varchar(66)         |   66
     public | test_view | favoritefruit | varchar(20)         |   20
     public | test_view | friends       | long varbinary(304) |  304
     public | test_view | gender        | varchar(20)         |   20
     public | test_view | greeting      | varchar(114)        |  114
     public | test_view | guid          | varchar(72)         |   72
     public | test_view | id            | varchar(20)         |   20
     public | test_view | isactive      | varchar(20)         |   20
     public | test_view | latitude      | varchar(20)         |   20
     public | test_view | longitude     | varchar(20)         |   20
     public | test_view | name          | varchar(40)         |   40
     public | test_view | phone         | varchar(34)         |   34
     public | test_view | picture       | varchar(50)         |   50
     public | test_view | registered    | varchar(52)         |   52
     public | test_view | tags          | long varbinary(288) |  288
    (20 rows)

    The view is now created and ready to be used in queries or to me materialized.

  • Creating a specific view using non-default values:
  • Create view with diferent name:

    dbadmin=>  select build_flextable_view('test','test_custom');
    -[ RECORD 1 ]--------+-------------------------------------------
    build_flextable_view | The view test_custom is ready for querying
    
    dbadmin=> dv test_custom
                            List of View Fields
     Schema |    View     |    Column     |        Type         | Size
    --------+-------------+---------------+---------------------+------
     public | test_custom | about         | varchar(1270)       | 1270
     public | test_custom | address       | varchar(120)        |  120
     public | test_custom | age           | varchar(20)         |   20
     public | test_custom | balance       | varchar(20)         |   20
     public | test_custom | company       | varchar(24)         |   24
     public | test_custom | email         | varchar(66)         |   66
     public | test_custom | favoritefruit | varchar(20)         |   20
     public | test_custom | friends       | long varbinary(304) |  304
     public | test_custom | gender        | varchar(20)         |   20
     public | test_custom | greeting      | varchar(114)        |  114
     public | test_custom | guid          | varchar(72)         |   72
     public | test_custom | id            | varchar(20)         |   20
     public | test_custom | isactive      | varchar(20)         |   20
     public | test_custom | latitude      | varchar(20)         |   20
     public | test_custom | longitude     | varchar(20)         |   20
     public | test_custom | name          | varchar(40)         |   40
     public | test_custom | phone         | varchar(34)         |   34
     public | test_custom | picture       | varchar(50)         |   50
     public | test_custom | registered    | varchar(52)         |   52
     public | test_custom | tags          | long varbinary(288) |  288
    (20 rows)