trafodion-codereview mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From DaveBirdsall <...@git.apache.org>
Subject [GitHub] incubator-trafodion pull request #1229: [Trafodion-2734] Create *Trafodion L...
Date Thu, 14 Sep 2017 00:39:34 GMT
Github user DaveBirdsall commented on a diff in the pull request:

    https://github.com/apache/incubator-trafodion/pull/1229#discussion_r138769886
  
    --- Diff: docs/lob_guide/src/asciidoc/_chapters/work_with_lob.adoc ---
    @@ -0,0 +1,738 @@
    +////
    +/**
    +* @@@ START COPYRIGHT @@@
    +*
    +* Licensed to the Apache Software Foundation (ASF) under one
    +* or more contributor license agreements. See the NOTICE file
    +* distributed with this work for additional information
    +* regarding copyright ownership. The ASF licenses this file
    +* to you under the Apache License, Version 2.0 (the
    +* "License"); you may not use this file except in compliance
    +* with the License. You may obtain a copy of the License at
    +*
    +*   http://www.apache.org/licenses/LICENSE-2.0
    +*
    +* Unless required by applicable law or agreed to in writing,
    +* software distributed under the License is distributed on an
    +* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
    +* KIND, either express or implied. See the License for the
    +* specific language governing permissions and limitations
    +* under the License.
    +*
    +* @@@ END COPYRIGHT @@@
    +*/
    +////
    +
    +[#work with lob]
    += Work with LOB
    +
    +[#create a sql table with lob columns]
    +== Create a SQL Table with LOB Columns
    +
    +When creating a SQL table with LOB columns, following relevant tables and files are created
as well:
    +
    +* One LOB MD table.
    +* Two dependent descriptor tables.
    +* HDFS data file (locates at /user/trafodion/lobs) for each column.
    +
    +[#syntax]
    +== Syntax
    +
    +```
    +CREATE TABLE table-name (lob-column-spec[, lob-column-spec]…)
    +```
    +
    +```
    +lob-column-spec is:
    +column {lob type}
    +
    +lob type is:
    +BLOB | CLOB [({numeric literal} [unit])] [STORAGE 'storage literal']
    +
    +unit is:
    +empty | 
    +K     | 
    +M     | 
    +G 
    +```
    +
    +[#semantics]
    +=== Semantics
    +
    +* `_storage literal_`
    +
    ++
    +Currently Trafodion only support `'EXTERNAL'` here. 
    +
    ++
    +External LOB object that are not managed by Trafodion.
    +
    +* `_empty_`
    +
    ++
    +Number of bytes specified by the numeric literal.
    +
    +* `_K_`
    +
    ++
    +Numeric literal value * 1024.
    +
    +* `_M_`
    +
    ++
    +Numeric literal value * 1024 * 1024.
    +
    +* `_G_`
    +
    ++
    +Numeric literal value * 1024 * 1024 * 1024.
    +
    +[#examples]
    +=== Examples
    +
    +* This example creates a table tlob1 with 2 columns and primary key on the c1.
    +
    ++
    +
    +```
    +CREATE TABLE tlob1 (c1 INT NOT NULL, c2 BLOB, PRIMARY KEY (c1));
    +```
    +
    +* This example creates a table tlob2 with 3 columns and primary key on the c1.
    +
    ++
    +
    +```
    +CREATE TABLE tlob2 (c1 INT NOT NULL, c2 BLOB, c3 CLOB, PRIMARY KEY (c1));
    +```
    +
    +* This example creates a table tlob130txt_limit50 with 2 columns and primary key on the
c1.
    +
    ++
    +
    +```
    +CREATE TABLE tlob130txt_limit50 (c1 INT NOT NULL, c2 CLOB(50), PRIMARY KEY (c1));
    +```
    +
    +* This example creates a table tlob130bin_limit1K with 2 columns and primary key on the
c1.
    +
    ++
    +
    +```
    +CREATE TABLE tlob130bin_limit1K (c1 INT NOT NULL, c2 BLOB(1 K), PRIMARY KEY (c1));
    +```
    +
    +* This example creates a table tlob130ext with 4 columns and primary key on the c1.
    +
    ++
    +
    +```
    +CREATE TABLE tlob130ext (c1 INT NOT NULL, c2 BLOB, c3 CLOB, c4 BLOB STORAGE 'EXTERNAL',
PRIMARY KEY (c1));
    +```
    +
    +[#hdfs location of lob data]
    +=== HDFS Location of LOB Data
    +
    +When a LOB table is created, the underlying LOB data needs to be stored in HDFS.It is
in the /user/trafodion/lobs by default. 
    +
    +All columns of a table that are declared as LOB types will have all their data in one
file derived from the Object UID and the LOB number of that column which gets assigned during
creation.
    --- End diff --
    
    By "the Object UID" I assume we mean "the table's Object UID"


---

Mime
View raw message