You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tajo.apache.org by ji...@apache.org on 2016/02/04 01:29:12 UTC

svn commit: r1728394 [2/42] - in /tajo/site/docs: 0.11.1/ 0.11.1/_sources/ 0.11.1/_sources/backup_and_restore/ 0.11.1/_sources/configuration/ 0.11.1/_sources/functions/ 0.11.1/_sources/index/ 0.11.1/_sources/partitioning/ 0.11.1/_sources/sql_language/ ...

Added: tajo/site/docs/0.11.1/_sources/functions/datetime_func_and_operators.txt
URL: http://svn.apache.org/viewvc/tajo/site/docs/0.11.1/_sources/functions/datetime_func_and_operators.txt?rev=1728394&view=auto
==============================================================================
--- tajo/site/docs/0.11.1/_sources/functions/datetime_func_and_operators.txt (added)
+++ tajo/site/docs/0.11.1/_sources/functions/datetime_func_and_operators.txt Thu Feb  4 00:29:05 2016
@@ -0,0 +1,455 @@
+********************************
+DateTime Functions and Operators
+********************************
+
+  * Note : Example result may be various based on time zone.
+
+.. function:: add_days (date date|timestamp, day int)
+
+  Returns date value which is added with given day parameter.
+
+  :param date: base timestamp or date
+  :param day: day value to be added
+  :rtype: timestamp
+  :example:
+          
+  .. code-block:: sql
+
+    select add_days(date '2013-12-30', 5);
+    > 2014-01-03 15:00:00
+
+    select add_days(timestamp '2013-12-05 12:10:20', -7);
+    > 2013-11-28 03:10:20
+
+.. function:: add_months (date date|timestamp, month int)
+
+  Returns date value which is added with given month parameter.
+
+  :param date: base timestamp or date
+  :param month: month value to be added
+  :rtype: timestamp
+  :example:
+          
+  .. code-block:: sql
+
+    select add_months(date '2013-12-17', 2);
+    > 2014-02-16 15:00:00
+
+.. function:: current_date ()
+
+  Returns current date.
+
+  :rtype: date
+          
+  .. code-block:: sql
+
+    select current_date();
+    > 2014-09-23
+
+.. function:: current_time ()
+
+  Returns current time.
+
+  :rtype: time
+          
+  .. code-block:: sql
+
+    select current_time();
+    > 05:18:27.651999
+
+.. function:: extract(field FROM source date|timestamp|time)
+
+  The extract function retrieves subfields such as year or hour from date/time values. *source* must be a value expression of type *timestamp*, or *time*. (Expressions of type *date* are cast to *timestamp* and can therefore be used as well.) *field* is an identifier that selects what field to extract from the source value. The extract function returns values of type double precision. The following are valid field names:
+
+  :param field: extract field
+  :param source: source value
+  :rtype: float8
+
+  **century**
+
+  The century
+
+  .. code-block:: sql
+
+    select extract(century from timestamp '2001-12-16 12:21:13');
+    > 21.0
+
+  The first century starts at 0001-01-01 00:00:00 AD, although they did not know it at the time. This definition applies to all Gregorian calendar countries. There is no century number 0, you go from -1 century to 1 century. If you disagree with this, please write your complaint to: Pope, Cathedral Saint-Peter of Roma, Vatican.
+
+  **day**
+
+  For *timestamp* values, the day (of the month) field (1 - 31)
+
+  .. code-block:: sql
+
+    select extract(day from timestamp '2001-02-16 20:38:40');
+    > 16.0
+
+  **decade**
+
+  The year field divided by 10
+
+  .. code-block:: sql
+
+    select extract(decade from timestamp '2001-02-16 20:38:40');
+    > 200.0
+
+  **dow**
+
+  The day of the week as Sunday(0) to Saturday(6)
+
+  .. code-block:: sql
+
+    select extract(dow from timestamp '2001-02-16 20:38:40');
+    > 5.0
+
+  Note that extract's day of the week numbering differs from that of the to_char(..., 'D') function.
+
+  **doy**
+
+  The day of the year (1 - 365/366)
+
+  .. code-block:: sql
+
+    select extract(doy from timestamp '2001-02-16 20:38:40');
+    > 47.0
+
+  **hour**
+
+  The hour field (0 - 23)
+
+  .. code-block:: sql
+
+    select extract(hour from timestamp '2001-02-16 20:38:40');
+    > 20.0
+
+  **isodow**
+
+  The day of the week as Monday(1) to Sunday(7)
+
+  .. code-block:: sql
+
+    select extract(isodow from timestamp '2001-02-18 20:38:40');
+    > 7.0
+
+  This is identical to dow except for Sunday. This matches the ISO 8601 day of the week numbering.
+
+  **isoyear**
+
+  The ISO 8601 year that the date falls in
+
+  .. code-block:: sql
+
+    select extract(isoyear from date '2006-01-01');
+    > 2005.0
+
+  Each ISO year begins with the Monday of the week containing the 4th of January, so in early January or late December the ISO year may be different from the Gregorian year. See the week field for more information.
+
+  **microseconds**
+
+  The seconds field, including fractional parts, multiplied by 1 000 000; note that this includes full seconds
+
+  .. code-block:: sql
+
+    select extract(microseconds from time '17:12:28.5');
+    > 2.85E7
+
+  **millennium**
+
+  The millennium
+
+  .. code-block:: sql
+
+    select extract(millennium from timestamp '2001-02-16 20:38:40');
+    > 3.0
+
+  Years in the 1900s are in the second millennium. The third millennium started January 1, 2001.
+
+  **milliseconds**
+
+  The seconds field, including fractional parts, multiplied by 1000. Note that this includes full seconds.
+
+  .. code-block:: sql
+
+    select extract(milliseconds from time '17:12:28.5');
+    > 28500.0
+
+  **minute**
+
+  The minutes field (0 - 59)
+
+  .. code-block:: sql
+
+    select extract(minute from timestamp '2001-02-16 20:38:40');
+    > 38.0
+
+  **month**
+
+  For timestamp values, the number of the month within the year (1 - 12)
+
+  .. code-block:: sql
+
+    select extract(month from timestamp '2001-02-16 20:38:40');
+    > 2.0
+
+  **quarter**
+
+  The quarter of the year (1 - 4) that the date is in
+
+  .. code-block:: sql
+
+    select extract(quarter from timestamp '2001-02-16 20:38:40');
+    > 1.0
+
+  **second**
+
+  The seconds field, including fractional parts (0 - 59[1])
+
+  .. code-block:: sql
+
+    select extract(second from timestamp '2001-02-16 20:38:40');
+    > 40.0
+
+  **week**
+
+  The number of the week of the year that the day is in. By definition (ISO 8601), weeks start on Mondays and the first week of a year contains January 4 of that year. In other words, the first Thursday of a year is in week 1 of that year.
+
+  In the ISO definition, it is possible for early-January dates to be part of the 52nd or 53rd week of the previous year, and for late-December dates to be part of the first week of the next year. For example, 2005-01-01 is part of the 53rd week of year 2004, and 2006-01-01 is part of the 52nd week of year 2005, while 2012-12-31 is part of the first week of 2013. It's recommended to use the isoyear field together with week to get consistent results.
+
+  .. code-block:: sql
+
+    select extract(week from timestamp '2001-02-16 20:38:40');
+    > 7.0
+
+  **year**
+
+  The year field. Keep in mind there is no 0 AD, so subtracting BC years from AD years should be done with care.
+
+  .. code-block:: sql
+
+    select extract(year from timestamp '2001-02-16 20:38:40');
+    > 2001.0
+
+  The extract function is primarily intended for computational processing.
+
+  The date_part function is also supported. It is equivalent to the SQL-standard function extract:
+
+.. function:: date_part(field text, source date|timestamp|time)
+
+  Note that here the field parameter needs to be a string value, not a name. The valid field names for date_part are the same as for extract.
+
+  :param field: extract field
+  :param source: source value
+  :rtype: float8
+
+  .. code-block:: sql
+
+    select date_part('day', timestamp '2001-02-16 20:38:40');
+    > 16.0
+
+.. function:: now()
+
+  Returns current timestamp
+
+  :rtype: timestamp
+  :example:
+
+  .. code-block:: sql
+
+    select now();
+    > 2014-09-23 08:32:43.286
+
+.. function:: to_char(src timestamp, format text)
+
+  Converts timestamp to text. For more detailed, see 'Date/Time Formatting and Conversion' section below.
+
+  :param src: timestamp to be converted
+  :param format: format string
+  :rtype: text
+
+  .. code-block:: sql
+
+    select to_char(current_timestamp, 'yyyy-MM-dd');
+    > 2014-09-23
+
+.. function:: to_date(src text, format text)
+
+  Converts text to date. For more detailed, see 'Date/Time Formatting and Conversion' section below.
+
+  :param src: date string to be converted
+  :param format: format string
+  :rtype: date
+
+  .. code-block:: sql
+
+    select to_date('2014-01-04', 'YYYY-MM-DD');
+    > 2014-01-04
+
+.. function:: to_timestamp(epoch int)
+
+  Converts int(UNIX epoch) to timestamp.
+
+  :param epoch: second value from Jan. 1, 1970
+  :rtype: timestamp
+
+  .. code-block:: sql
+
+    select to_timestamp(412312345);
+    > 1983-01-25 03:12:25
+
+.. function:: to_timestamp(src text, format text)
+
+  Converts text timestamp. For more detailed, see 'Date/Time Formatting and Conversion' section below.
+
+  :param src: timestamp string to be converted
+  :param format: format string
+  :rtype: timestamp
+
+  .. code-block:: sql
+
+    select to_timestamp('97/2/16 8:14:30', 'FMYYYY/FMMM/FMDD FMHH:FMMI:FMSS');
+    > 0097-02-15 23:14:30
+
+.. function:: utc_usec_to (string text , timestamp long , dayOfWeek int)
+
+  * If the **first parameter** is 'day'.
+
+    Shifts and return a UNIX timestamp in microseconds to the beginning of the day it occurs in.
+    For example, if unix_timestamp occurs on May 19th at 08:58, this function returns a UNIX timestamp for May 19th at 00:00 (midnight).
+
+  * If the **first parameter** is 'hour'.
+
+    Shifts and return a UNIX timestamp in microseconds to the beginning of the hour it occurs in.
+    For example, if unix_timestamp occurs at 08:58, this function returns a UNIX timestamp for 08:00 on the same day.
+
+  * If the **first parameter** is 'month'.
+
+    Shifts and return a UNIX timestamp in microseconds to the beginning of the month it occurs in.
+    For example, if unix_timestamp occurs on March 19th, this function returns a UNIX timestamp for March 1st of the same year.
+
+  * If the **first parameter** is 'year'.
+
+    Returns a UNIX timestamp in microseconds that represents the year of the unix_timestamp argument.
+    For example, if unix_timestamp occurs in 2010, the function returns 1274259481071200, the microsecond representation of 2010-01-01 00:00.
+
+  * If the **first parameter** is 'week' and **third parameter** is 2 i.e (TUESDAY)
+
+    Returns a UNIX timestamp in microseconds that represents a day in the week of the
+    For example, if unix_timestamp occurs on Friday, 2008-04-11, and you set day_of_week to 2 (Tuesday), the function returns a UNIX timestamp for Tuesday, 2008-04-08.
+
+  :param string: could be 'day' 'hour' 'month' 'year' 'week'
+  :param long: unix timestamp in microseconds
+  :param int: day of the week from 0 (Sunday) to 6 (Saturday).Optional parameter required only if first parameter is 'week'
+  :rtype: long
+  :example:
+
+  .. code-block:: sql
+
+    SELECT utc_usec_to('day', 1274259481071200);
+    > 1274227200000000
+
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+Date/Time Formatting and Conversion
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+*Template patterns for date/time formatting*
+
+=========================== ================================================================
+Pattern                     Description
+=========================== ================================================================
+HH                          hour of day (01-12)
+HH12                        hour of day (01-12)
+HH24                        hour of day (00-23)
+MI                          minute (00-59)
+SS                          second (00-59)
+MS                          millisecond (000-999)
+US                          microsecond (000000-999999)
+SSSS                        seconds past midnight (0-86399)
+AM, am, PM or pm            meridiem indicator (without periods)
+A.M., a.m., P.M. or p.m.    meridiem indicator (with periods)
+Y,YYY                       year (4 and more digits) with comma
+YYYY                        year (4 and more digits)
+YYY                         last 3 digits of year
+YY                          last 2 digits of year
+Y                           last digit of year
+IYYY                        ISO year (4 and more digits)
+IYY                         last 3 digits of ISO year
+IY                          last 2 digits of ISO year
+I                           last digit of ISO year
+BC, bc, AD or ad            era indicator (without periods)
+B.C., b.c., A.D. or a.d.    era indicator (with periods)
+MONTH                       full upper case month name (blank-padded to 9 chars)
+Month                       full capitalized month name (blank-padded to 9 chars)
+month                       full lower case month name (blank-padded to 9 chars)
+MON                         abbreviated upper case month name (3 chars in English, localized lengths vary)
+Mon                         abbreviated capitalized month name (3 chars in English, localized lengths vary)
+mon                         abbreviated lower case month name (3 chars in English, localized lengths vary)
+MM                          month number (01-12)
+DAY                         full upper case day name (blank-padded to 9 chars)
+Day                         full capitalized day name (blank-padded to 9 chars)
+day                         full lower case day name (blank-padded to 9 chars)
+DY                          abbreviated upper case day name (3 chars in English, localized lengths vary)
+Dy                          abbreviated capitalized day name (3 chars in English, localized lengths vary)
+dy                          abbreviated lower case day name (3 chars in English, localized lengths vary)
+DDD                         day of year (001-366)
+IDDD                        ISO day of year (001-371; day 1 of the year is Monday of the first ISO week.)
+DD                          day of month (01-31)
+D                           day of the week, Sunday(1) to Saturday(7)
+ID                          ISO day of the week, Monday(1) to Sunday(7)
+W                           week of month (1-5) (The first week starts on the first day of the month.)
+WW                          week number of year (1-53) (The first week starts on the first day of the year.)
+IW                          ISO week number of year (01 - 53; the first Thursday of the new year is in week 1.)
+CC                          century (2 digits) (The twenty-first century starts on 2001-01-01.)
+J                           Julian Day (integer days since November 24, 4714 BC at midnight UTC)
+Q                           quarter (ignored by to_date and to_timestamp)
+RM                          month in upper case Roman numerals (I-XII; I=January)
+rm                          month in lower case Roman numerals (i-xii; i=January)
+TZ                          upper case time-zone name
+tz                          lower case time-zone name
+=========================== ================================================================
+
+
+*Template pattern modifiers for date/time formatting*
+
+=========== ======================================================================= ================
+Modifier    Description                                                             Example
+=========== ======================================================================= ================
+FM prefix   fill mode (suppress padding blanks and trailing zeroes)                 FMMonth
+TH suffix   upper case ordinal number suffix    DDTH, e.g.,                         12TH
+th suffix   lower case ordinal number suffix    DDth, e.g.,                         12th
+FX prefix   fixed format global option (see usage notes)                            FX Month DD Day
+TM prefix   translation mode (print localized day and month names based on lc_time) TMMonth
+SP suffix   spell mode (not implemented)                                            DDSP
+=========== ======================================================================= ================
+
+  * FM suppresses leading zeroes and trailing blanks that would otherwise be added to make the output of a pattern be fixed-width. In Tajo, FM modifies only the next specification, while in Oracle FM affects all subsequent specifications, and repeated FM modifiers toggle fill mode on and off.
+
+  * TM does not include trailing blanks.
+
+  * *to_timestamp* and *to_date* skip multiple blank spaces in the input string unless the FX option is used. For example, *to_timestamp* ('2000    JUN', 'YYYY MON') works, but *to_timestamp* ('2000    JUN', 'FXYYYY MON') returns an error because *to_timestamp* expects one space only. FX must be specified as the first item in the template.
+
+  * Ordinary text is allowed in *to_char* templates and will be output literally. You can put a substring in double quotes to force it to be interpreted as literal text even if it contains pattern key words. For example, in '"Hello Year "YYYY', the YYYY will be replaced by the year data, but the single Y in Year will not be. In *to_date*, to_number, and *to_timestamp*, double-quoted strings skip the number of input characters contained in the string, e.g. "XX" skips two input characters.
+
+  * If you want to have a double quote in the output you must precede it with a backslash, for example '\"YYYY Month\"'.
+
+  * If the year format specification is less than four digits, e.g. YYY, and the supplied year is less than four digits, the year will be adjusted to be nearest to the year 2020, e.g. 95 becomes 1995.
+
+  * The YYYY conversion from string to timestamp or date has a restriction when processing years with more than 4 digits. You must use some non-digit character or template after YYYY, otherwise the year is always interpreted as 4 digits. For example (with the year 20000): *to_date* ('200001131', 'YYYYMMDD') will be interpreted as a 4-digit year; instead use a non-digit separator after the year, like *to_date* ('20000-1131', 'YYYY-MMDD') or *to_date* ('20000Nov31', 'YYYYMonDD').
+
+  * In conversions from string to timestamp or date, the CC (century) field is ignored if there is a YYY, YYYY or Y,YYY field. If CC is used with YY or Y then the year is computed as the year in the specified century. If the century is specified but the year is not, the first year of the century is assumed.
+
+  * An ISO week date (as distinct from a Gregorian date) can be specified to *to_timestamp* and *to_date* in one of two ways:
+
+  * Year, week, and weekday: for example *to_date* ('2006-42-4', 'IYYY-IW-ID') returns the date 2006-10-19. If you omit the weekday it is assumed to be 1 (Monday).
+
+  * Year and day of year: for example *to_date* ('2006-291', 'IYYY-IDDD') also returns 2006-10-19.
+
+  * Attempting to construct a date using a mixture of ISO week and Gregorian date fields is nonsensical, and will cause an error. In the context of an ISO year, the concept of a "month" or "day of month" has no meaning. In the context of a Gregorian year, the ISO week has no meaning. Users should avoid mixing Gregorian and ISO date specifications.
+
+  * In a conversion from string to timestamp, millisecond (MS) or microsecond (US) values are used as the seconds digits after the decimal point. For example *to_timestamp* ('12:3', 'SS:MS') is not 3 milliseconds, but 300, because the conversion counts it as 12 + 0.3 seconds. This means for the format SS:MS, the input values 12:3, 12:30, and 12:300 specify the same number of milliseconds. To get three milliseconds, one must use 12:003, which the conversion counts as 12 + 0.003 = 12.003 seconds.
+
+  * Here is a more complex example: *to_timestamp* ('15:12:02.020.001230', 'HH:MI:SS.MS.US') is 15 hours, 12 minutes, and 2 seconds + 20 milliseconds + 1230 microseconds = 2.021230 seconds.
+
+  * *to_char* (..., 'ID')'s day of the week numbering matches the extract(isodow from ...) function, but *to_char* (..., 'D')'s does not match extract(dow from ...)'s day numbering.
+
+  * *to_char* (interval) formats HH and HH12 as shown on a 12-hour clock, i.e. zero hours and 36 hours output as 12, while HH24 outputs the full hour value, which can exceed 23 for intervals.

Added: tajo/site/docs/0.11.1/_sources/functions/json_func.txt
URL: http://svn.apache.org/viewvc/tajo/site/docs/0.11.1/_sources/functions/json_func.txt?rev=1728394&view=auto
==============================================================================
--- tajo/site/docs/0.11.1/_sources/functions/json_func.txt (added)
+++ tajo/site/docs/0.11.1/_sources/functions/json_func.txt Thu Feb  4 00:29:05 2016
@@ -0,0 +1,62 @@
+*******************************
+JSON Functions
+*******************************
+
+.. function:: json_extract_path_text (json text, json_path text)
+
+  Extracts JSON string from a JSON string based on json path specified and returns JSON string pointed to by JSONPath.
+  Returns null if either argument is null.
+
+  :param json: JSON string
+  :param json_path: JSONpath
+  :rtype: text
+  :example:
+
+  .. code-block:: sql
+
+    select json_extract_path_text('{"test" : {"key" : "tajo"}}','$.test.key');
+    > tajo
+
+.. function:: json_array_get (json_array text, index int4)
+
+  Returns the element at the specified index into the JSON array. This function returns an element indexed from the end of an array with a negative index, and null if the element at the specified index doesn’t exist.
+
+  :param json_array: String of a JSON array
+  :param index: index
+  :rtype: text
+  :example:
+
+  .. code-block:: sql
+
+    select json_array_get('[100, 200, 300]', 0);
+    > 100
+
+    select json_array_get('[100, 200, 300]', -2);
+    > 200
+
+.. function:: json_array_contains (json_array text, value any)
+
+  Determine if the given value exists in the JSON array.
+
+  :param json_array: String of a JSON array
+  :param value: value of any type
+  :rtype: text
+  :example:
+
+  .. code-block:: sql
+
+    select json_array_contains('[100, 200, 300]', 100);
+    > t
+
+.. function:: json_array_length(json_array text)
+
+  Returns the length of json array.
+
+  :param json_array: String of a JSON array
+  :rtype: int8
+  :example:
+
+  .. code-block:: sql
+
+    select json_array_length('[100, 200, 300]');
+    > 3

Added: tajo/site/docs/0.11.1/_sources/functions/math_func_and_operators.txt
URL: http://svn.apache.org/viewvc/tajo/site/docs/0.11.1/_sources/functions/math_func_and_operators.txt?rev=1728394&view=auto
==============================================================================
--- tajo/site/docs/0.11.1/_sources/functions/math_func_and_operators.txt (added)
+++ tajo/site/docs/0.11.1/_sources/functions/math_func_and_operators.txt Thu Feb  4 00:29:05 2016
@@ -0,0 +1,293 @@
+*****************************
+Math Functions and Operators
+*****************************
+
+.. function:: abs (number int|float)
+
+  Returns absolute value
+
+  :param number: input number
+  :rtype: same as a parameter type
+  :example:
+  
+  .. code-block:: sql
+
+    select abs(-9); 
+    > 9
+
+.. function:: acos (number float)
+
+  Returns the arc cosine of number value
+
+  :param number: input number as radian
+  :rtype: float8
+  :example:
+
+  .. code-block:: sql
+
+    select acos(0.3); 
+    > 1.2661036727794992 
+
+.. function:: asin (number float)
+
+  Returns the arc sine of number value
+
+  :param number: input number as radian
+  :rtype: float8
+  :example:
+
+  .. code-block:: sql
+
+    select acos(0.8); 
+    > 0.9272952180016123
+
+.. function:: atan (number float8)
+
+  Returns the arc tangent of number value
+
+  :param number: input number as radian
+  :rtype: float8
+  :example:
+
+  .. code-block:: sql
+
+    select atan(0.8); 
+    > 0.6747409422235527
+
+.. function:: atan2 (y float, x float)
+
+  Returns the angle theta from the conversion of rectangular coordinates (x, y) to polar coordinates (r, theta)
+
+  :param y: the ordinate(y axis) coordinate
+  :param x: the abscissa(x axis) coordinate
+  :rtype: float8
+  :example:
+
+  .. code-block:: sql
+
+    select atan2(2.7, 0.3);
+    > 1.460139105621001
+
+.. function:: cbrt (number float)
+
+  Returns the cube root of a number
+
+  :param number: target real number
+  :rtype: float8
+  :example:
+
+  .. code-block:: sql
+
+    select cbrt(27.0); 
+    > 3.0
+
+.. function:: ceil (number float)
+
+  Returns a smallest integer not less than argument
+
+  :param number: target real number
+  :rtype: int8
+  :alias: ceiling
+  :example:
+
+  .. code-block:: sql
+
+    select ceil(-42.8); 
+    > -42
+
+.. function:: cos (number float)
+
+  Returns the cosine of a number
+
+  :param number: target real number
+  :rtype: float8
+  :example:
+
+  .. code-block:: sql
+
+    select cos(0.7);
+    > 0.7648421872844885
+
+.. function:: degrees (number float)
+
+  Converts radians to degrees
+
+  :param number: radian value
+  :rtype: float8
+  :example:
+
+  .. code-block:: sql
+
+    select degrees(0.8);
+    > 45.83662361046586
+
+.. function:: div (num1 int, num2 int)
+
+  Integer division truncates resut
+
+  :param num1: number to be divided
+  :param num2: number to divide
+  :rtype: int8
+  :example:
+
+  .. code-block:: sql
+
+    select div(8,3);
+    > 2
+
+.. function:: exp (number float)
+
+  Returns Euler's number e raised to the power of a number
+
+  :param number: input number
+  :rtype: float8
+  :example:
+
+  .. code-block:: sql
+
+    select exp(1.0);
+    > 2.718281828459045
+
+.. function:: floor (number float)
+
+  Returns a largest integer not greater than argument
+
+  :param number: target real number
+  :rtype: int8
+  :example:
+
+  .. code-block:: sql
+
+    select floor(53.1); 
+    > 53
+
+.. function:: mod (num1 int, num2 int)
+
+  Returns remainder of num1 / num2
+
+  :param num1: number to be divided
+  :param num2: number to divide
+  :rtype: int8
+  :example:
+
+  .. code-block:: sql
+
+    select mod(10,3);
+    > 1
+
+.. function:: pi ()
+
+  Returns constant value of pi
+
+  :rtype: float8
+  :example:
+
+  .. code-block:: sql
+
+    select pi();
+    > 3.141592653589793
+
+.. function:: pow (x float, y float)
+
+  Returns value of x raised to the power of y
+
+  :param x: base number
+  :param y: exponent
+  :rtype: float8
+  :example:
+
+  .. code-block:: sql
+
+    select pow(2.0, 10.0);
+    > 1024.0
+
+.. function:: radians (number float)
+
+  Converts degrees to radians
+
+  :param number: degree value
+  :rtype: float8
+  :example:
+
+  .. code-block:: sql
+
+    select radians(45.0);
+    > 0.7853981633974483
+
+.. function:: random(number int4)
+
+  Returns a pseudorandom number.
+
+  :param number: range restriction
+  :rtype: int4
+  :example:
+
+  .. code-block:: sql
+
+    select random(10);
+    > 4
+
+.. function:: round (number int|float)
+
+  Rounds to nearest integer
+
+  :param number: target number
+  :rtype: int8
+  :example:
+
+  .. code-block:: sql
+
+    select round(5.1); 
+    > 5
+
+.. function:: sign (number int|float)
+
+  Returns sign of argument as -1, 0, 1
+
+  :param number: target number
+  :rtype: float8
+  :example:
+
+  .. code-block:: sql
+
+    select sign(-8.4); 
+    > -1.0
+
+.. function:: sin (number float)
+
+  Returns the sine of number value
+
+  :param number: target number
+  :rtype: float8
+  :example:
+
+  .. code-block:: sql
+
+    select sin(1.0); 
+    > 0.8414709848078965
+
+.. function:: sqrt (number float8)
+
+  Returns the square root of a number
+
+  :param number: target number
+  :rtype: float8
+  :example:
+
+  .. code-block:: sql
+
+    select sqrt(256.0); 
+    > 16.0
+
+.. function:: tan (number float)
+
+  Returns the tangent of number value
+
+  :param number: target number
+  :rtype: float8
+  :example:
+
+  .. code-block:: sql
+
+    select tan(0.2); 
+    > 0.2027100355086725

Added: tajo/site/docs/0.11.1/_sources/functions/network_func_and_operators.txt
URL: http://svn.apache.org/viewvc/tajo/site/docs/0.11.1/_sources/functions/network_func_and_operators.txt?rev=1728394&view=auto
==============================================================================
--- tajo/site/docs/0.11.1/_sources/functions/network_func_and_operators.txt (added)
+++ tajo/site/docs/0.11.1/_sources/functions/network_func_and_operators.txt Thu Feb  4 00:29:05 2016
@@ -0,0 +1,78 @@
+*******************************
+Network Functions and Operators
+*******************************
+
+=============
+Prerequisites
+=============
+
+Apache Tajo provides network functions and operations using GeoIP databases.
+To use these functions and operations, the GeoIP database should be precedently installed in local disks of
+all the workers.
+(Please refer the install instruction in http://dev.maxmind.com/geoip/legacy/downloadable/)
+
+Once the GeoIP database is installed, you should specify the install location in ``conf/tajo-site.xml``
+as follows. ::
+
+  <property>
+    <name>tajo.function.geoip-database-location</name>
+    <value>/path/to/geoip/database/file</value>
+  </property>
+
+===================
+Supported Functions
+===================
+
+.. function:: geoip_country_code (addr text)
+
+  Convert an ipv4 address string to a geoip country code.
+
+  :param addr: ipv4 address string
+  :rtype: text
+  :example:
+
+  .. code-block:: sql
+
+    select geoip_country_code('163.152.71.31')
+    > 'KR'
+
+.. function:: geoip_country_code (addr inet4)
+
+  Convert an ipv4 address to a geoip country code.
+
+  :param addr: ipv4 address
+  :rtype: text
+  :example:
+
+  .. code-block:: sql
+
+    select geoip_country_code(163.152.71.31)
+    > 'KR'
+
+.. function:: geoip_in_country (addr text, code text)
+
+  If the given country code is same with the country code of the given address, it returns true. Otherwise, returns false.
+
+  :param addr: ipv4 address string
+  :param code: country code
+  :rtype: boolean
+  :example:
+
+  .. code-block:: sql
+
+    select geoip_in_country('163.152.71.31', 'KR')
+    > true
+
+.. function:: geoip_in_country (addr inet4, code text)
+
+  If the given country code is same with the country code of the given address, it returns true. Otherwise, returns false.
+
+  :param addr: ipv4 address
+  :param code: country code
+  :rtype: boolean
+  :example:
+
+  .. code-block:: sql
+
+    select geoip_in_country(163.152.71.31, 'KR')
+    > true
\ No newline at end of file

Added: tajo/site/docs/0.11.1/_sources/functions/python.txt
URL: http://svn.apache.org/viewvc/tajo/site/docs/0.11.1/_sources/functions/python.txt?rev=1728394&view=auto
==============================================================================
--- tajo/site/docs/0.11.1/_sources/functions/python.txt (added)
+++ tajo/site/docs/0.11.1/_sources/functions/python.txt Thu Feb  4 00:29:05 2016
@@ -0,0 +1,159 @@
+******************************
+Python Functions
+******************************
+
+=======================
+User-defined Functions
+=======================
+
+-----------------------
+Function registration
+-----------------------
+
+To register Python UDFs, you must install script files in all cluster nodes.
+After that, you can register your functions by specifying the paths to those script files in ``tajo-site.xml``. Here is an example of the configuration.
+
+.. code-block:: xml
+
+  <property>
+    <name>tajo.function.python.code-dir</name>
+    <value>/path/to/script1.py,/path/to/script2.py</value>
+  </property>
+
+Please note that you can specify multiple paths with ``','`` as a delimiter. Each file can contain multiple functions. Here is a typical example of a script file.
+
+.. code-block:: python
+
+  # /path/to/udf1.py
+
+  @output_type('int4')
+  def return_one():
+    return 1
+
+  @output_type("text")
+  def helloworld():
+    return 'Hello, World'
+
+  # No decorator - blob
+  def concat_py(str):
+    return str+str
+
+  @output_type('int4')
+  def sum_py(a,b):
+    return a+b
+
+If the configuration is set properly, every function in the script files are registered when the Tajo cluster starts up.
+
+-----------------------
+Decorators and types
+-----------------------
+
+By default, every function has a return type of ``BLOB``.
+You can use Python decorators to define output types for the script functions. Tajo can figure out return types from the annotations of the Python script.
+
+* ``output_type``: Defines the return data type for a script UDF in a format that Tajo can understand. The defined type must be one of the types supported by Tajo. For supported types, please refer to :doc:`/sql_language/data_model`.
+
+-----------------------
+Query example
+-----------------------
+
+Once the Python UDFs are successfully registered, you can use them as other built-in functions.
+
+.. code-block:: sql
+
+  default> select concat_py(n_name)::text from nation where sum_py(n_regionkey,1) > 2;
+
+==============================================
+User-defined Aggregation Functions
+==============================================
+
+-----------------------
+Function registration
+-----------------------
+
+To define your Python aggregation functions, you should write Python classes for each function.
+Followings are typical examples of Python UDAFs.
+
+.. code-block:: python
+
+  # /path/to/udaf1.py
+
+  class AvgPy:
+    sum = 0
+    cnt = 0
+
+    def __init__(self):
+        self.reset()
+
+    def reset(self):
+        self.sum = 0
+        self.cnt = 0
+
+    # eval at the first stage
+    def eval(self, item):
+        self.sum += item
+        self.cnt += 1
+
+    # get intermediate result
+    def get_partial_result(self):
+        return [self.sum, self.cnt]
+
+    # merge intermediate results
+    def merge(self, list):
+        self.sum += list[0]
+        self.cnt += list[1]
+
+    # get final result
+    @output_type('float8')
+    def get_final_result(self):
+        return self.sum / float(self.cnt)
+
+
+  class CountPy:
+    cnt = 0
+
+    def __init__(self):
+        self.reset()
+
+    def reset(self):
+        self.cnt = 0
+
+    # eval at the first stage
+    def eval(self):
+        self.cnt += 1
+
+    # get intermediate result
+    def get_partial_result(self):
+        return self.cnt
+
+    # merge intermediate results
+    def merge(self, cnt):
+        self.cnt += cnt
+
+    # get final result
+    @output_type('int4')
+    def get_final_result(self):
+        return self.cnt
+
+
+These classes must provide ``reset()``, ``eval()``, ``merge()``, ``get_partial_result()``, and ``get_final_result()`` functions.
+
+* ``reset()`` resets the aggregation state.
+* ``eval()`` evaluates input tuples in the first stage.
+* ``merge()`` merges intermediate results of the first stage.
+* ``get_partial_result()`` returns intermediate results of the first stage. Output type must be same with the input type of ``merge()``.
+* ``get_final_result()`` returns the final aggregation result.
+
+-----------------------
+Query example
+-----------------------
+
+Once the Python UDAFs are successfully registered, you can use them as other built-in aggregation functions.
+
+.. code-block:: sql
+
+  default> select avgpy(n_nationkey), countpy() from nation;
+
+.. warning::
+
+  Currently, Python UDAFs cannot be used as window functions.
\ No newline at end of file

Added: tajo/site/docs/0.11.1/_sources/functions/string_func_and_operators.txt
URL: http://svn.apache.org/viewvc/tajo/site/docs/0.11.1/_sources/functions/string_func_and_operators.txt?rev=1728394&view=auto
==============================================================================
--- tajo/site/docs/0.11.1/_sources/functions/string_func_and_operators.txt (added)
+++ tajo/site/docs/0.11.1/_sources/functions/string_func_and_operators.txt Thu Feb  4 00:29:05 2016
@@ -0,0 +1,431 @@
+*******************************
+String Functions and Operators
+*******************************
+
+.. function:: str1 || str2
+
+  Returns the concatnenated string of both side strings ``str1`` and ``str2``.
+
+  :param str1: first string
+  :param str2: second string
+  :rtype: text
+  :example:
+
+  .. code-block:: sql
+
+    select 'Ta' || 'jo';
+    > 'Tajo'
+  
+.. function:: ascii (string text)
+
+  Returns the ASCII code of the first character of the text.
+  For UTF-8, this function returns the Unicode code point of the character.
+  For other multibyte encodings, the argument must be an ASCII character.
+
+  :param string: input string
+  :rtype: int4
+  :example:
+
+  .. code-block:: sql
+
+    select ascii('x');
+    > 120
+
+.. function:: bit_length (string text)
+
+  Returns the number of bits in string.
+
+  :param string: input string
+  :rtype: int4
+  :example:
+
+  .. code-block:: sql
+
+    select bit_length('jose');
+    > 32
+
+.. function:: char_length (string text)
+
+  Returns the number of characters in string.
+
+  :param string: to be counted
+  :rtype: int4
+  :alias: character_length, length
+  :example:
+
+  .. code-block:: sql
+
+    select char_length('Tajo');
+    > 4
+
+.. function:: octet_length (string text)
+
+  Returns the number of bytes in string.
+
+  :param string: input string
+  :rtype: int4
+  :example:
+
+  .. code-block:: sql
+
+    select octet_length('jose');
+    > 4
+
+.. function:: chr (code int4)
+
+  Returns a character with the given code.
+
+  :param code: input character code
+  :rtype: char
+  :example:
+
+  .. code-block:: sql
+
+    select chr(65);
+    > A
+
+.. function:: decode (binary text, format text)
+
+  Decode binary data from textual representation in string.
+
+  :param binary: encoded value
+  :param format: decode format. base64, hex, escape. escape converts zero bytes and high-bit-set bytes to octal sequences (\nnn) and doubles backslashes.
+  :rtype: text
+  :example:
+
+  .. code-block:: sql
+
+    select decode('MTIzXDAwMFwwMDE=', 'base64');
+    > 123\\000\\001
+
+.. function:: digest (input text, method text)
+
+  Calculates the Digest hash of string.
+
+  :param input: input string
+  :param method: hash method
+  :rtype: text
+  :example:
+
+  .. code-block:: sql
+
+    select digest('tajo', 'sha1');
+    > 02b0e20540b89f0b735092bbac8093eb2e3804cf
+
+.. function:: encode (binary text, format text)
+
+  Encode binary data into a textual representation.
+
+  :param binary: decoded value
+  :param format: encode format. base64, hex, escape. escape converts zero bytes and high-bit-set bytes to octal sequences (\nnn) and doubles backslashes.
+  :rtype: text
+  :example:
+
+  .. code-block:: sql
+
+    select encode('123\\000\\001', 'base64');
+    > MTIzXDAwMFwwMDE=
+
+.. function:: initcap (string text)
+
+  Convert the first letter of each word to upper case  and the rest to lower case.
+
+  :param string: input string
+  :rtype: text
+  :example:
+
+  .. code-block:: sql
+
+    select initcap('hi THOMAS');
+    > Hi Thomas
+
+.. function:: md5 (string text)
+
+  Calculates the MD5 hash of string.
+
+  :param string: input string
+  :rtype: text
+  :example:
+
+  .. code-block:: sql
+
+    select md5('abc');
+    > 900150983cd24fb0d6963f7d28e17f72
+
+.. function:: left (string text, number int4)
+
+  Returns the first n characters in the string.
+
+  :param string: input string
+  :param number: number of characters retrieved
+  :rtype: text
+  :example:
+
+  .. code-block:: sql
+
+    select left('ABC', 2);
+    > AB
+
+.. function:: right(string text, number int4)
+
+  Returns the last n characters in the string.
+
+  :param string: input string
+  :param number: number of characters retrieved
+  :rtype: text
+  :example:
+
+  .. code-block:: sql
+
+    select right('ABC', 2);
+    > BC
+
+.. function:: locate(source text, target text, [start_index int4])
+
+  Returns the location of specified substring.
+
+  :param source: source string
+  :param target: target substring
+  :param start_index: the index where the search is started
+  :rtype: int4
+  :alias: strpos
+  :example:
+
+  .. code-block:: sql
+
+    select locate('high', 'ig', 1);
+    > 2
+
+.. function:: strposb(source text, target text)
+
+  Returns the binary location of specified substring.
+
+  :param source: source string
+  :param target: target substring
+  :rtype: int4
+  :example:
+
+  .. code-block:: sql
+
+    select strpos('tajo', 'aj');
+    > 2
+
+.. function:: substr(source text, start int4, length int4)
+
+  Extract substring.
+
+  :param source: source string
+  :param start: start index
+  :param length: length of substring
+  :rtype: text
+  :example:
+
+  .. code-block:: sql
+
+    select substr('alphabet', 3, 2);
+    > ph
+
+.. function:: trim(string text, [characters text])
+
+  Removes the characters (a space by default) from the start/end/both ends of the string.
+
+  :param string: input string
+  :param characters: characters which will be removed
+  :rtype: text
+  :example:
+
+  .. code-block:: sql
+
+    select trim('xTajoxx', 'x');
+    > Tajo
+
+.. function:: trim([leading | trailing | both] [characters text] FROM string text)
+
+  Removes the characters (a space by default) from the start/end/both ends of the string.
+
+  :param string: input string
+  :param characters: characters which will be removed
+  :rtype: text
+  :example:
+
+  .. code-block:: sql
+
+    select trim(both 'x' from 'xTajoxx');
+    > Tajo
+
+
+.. function:: btrim(string text, [characters text])
+
+  Removes the characters (a space by default) from the both ends of the string.
+  
+  :param string: input string
+  :param characters: characters which will be removed
+  :rtype: text
+  :alias: trim
+  :example:
+
+  .. code-block:: sql
+
+    select btrim('xTajoxx', 'x');
+    > Tajo 
+
+
+.. function:: ltrim(string text, [characters text])
+
+  Removes the characters (a space by default) from the start ends of the string.
+
+  :param string: input string
+  :param characters: characters which will be removed
+  :rtype: text
+  :example:
+
+  .. code-block:: sql
+
+    select ltrim('xxTajo', 'x');
+    > Tajo 
+
+
+.. function:: rtrim(string text, [characters text])
+
+  Removes the characters (a space by default) from the end ends of the string.
+
+  :param string: input string
+  :param characters: characters which will be removed
+  :rtype: text
+  :example:
+
+  .. code-block:: sql
+
+    select rtrim('Tajoxx', 'x');
+    > Tajo 
+
+
+.. function:: split_part(string text, delimiter text, field int)
+
+  Splits a string on delimiter and return the given field (counting from one).
+
+  :param string: input string
+  :param delimiter: delimiter
+  :param field: index to field
+  :rtype: text
+  :example:
+
+  .. code-block:: sql
+
+    select split_part('ab_bc_cd','_',2);   
+    > bc 
+
+
+
+.. function:: regexp_replace(string text, pattern text, replacement text)
+
+  Replaces substrings matched to a given regular expression pattern.
+
+  :param string: input string
+  :param pattern: pattern
+  :param replacement: string substituted for the matching substring
+  :rtype: text
+  :example:
+
+  .. code-block:: sql
+
+    select regexp_replace('abcdef', '(ˆab|ef$)', '–'); 
+    > –cd–
+
+
+.. function:: upper(string text)
+
+  Makes an input text to be upper case.
+
+  :param string: input string
+  :rtype: text
+  :example:
+
+  .. code-block:: sql
+
+    select upper('tajo');
+    > TAJO
+
+
+.. function:: lower(string text)
+
+  Makes an input text to be lower case.
+
+  :param string: input string
+  :rtype: text
+  :example:
+
+  .. code-block:: sql
+
+    select lower('TAJO');
+    > tajo
+
+.. function:: lpad(source text, number int4, pad text)
+
+  Fill up the string to length by prepending the characters fill (a space by default). If the string is already longer than length then it is truncated (on the right).
+
+  :param source: source string
+  :param number: padding length
+  :param pad: padding string
+  :rtype: text
+  :example:
+
+  .. code-block:: sql
+
+    select lpad('hi', 5, 'xy');
+    > xyxhi
+
+.. function:: rpad(source text, number int4, pad text)
+
+  Fill up the string to length length by appending the characters fill (a space by default). If the string is already longer than length then it is truncated.
+
+  :param source: source string
+  :param number: padding length
+  :param pad: padding string
+  :rtype: text
+  :example:
+
+  .. code-block:: sql
+
+    select rpad('hi', 5, 'xy');
+    > hixyx
+
+.. function:: quote_ident(string text)
+
+  Return the given string suitably quoted to be used as an identifier in an SQL statement string. Quotes are added only if necessary (i.e., if the string contains non-identifier characters or would be case-folded). Embedded quotes are properly doubled.
+
+  :param string: input string
+  :rtype: text
+  :example:
+
+  .. code-block:: sql
+
+    select quote_ident('Foo bar');
+    > "Foo bar"
+
+.. function:: repeat(string text, number int4)
+
+  Repeat string the specified number of times.
+
+  :param string: input string
+  :param number: repetition number
+  :rtype: text
+  :example:
+
+  .. code-block:: sql
+
+    select repeat('Pg', 4);
+    > PgPgPgPg
+
+.. function:: reverse(string text)
+
+  Reverse string.
+
+  :param string: input string
+  :rtype: text
+  :example:
+
+  .. code-block:: sql
+
+    select reverse('TAJO');
+    > OJAT
\ No newline at end of file

Added: tajo/site/docs/0.11.1/_sources/functions/window_func.txt
URL: http://svn.apache.org/viewvc/tajo/site/docs/0.11.1/_sources/functions/window_func.txt?rev=1728394&view=auto
==============================================================================
--- tajo/site/docs/0.11.1/_sources/functions/window_func.txt (added)
+++ tajo/site/docs/0.11.1/_sources/functions/window_func.txt Thu Feb  4 00:29:05 2016
@@ -0,0 +1,47 @@
+************************************
+Window Functions
+************************************
+
+.. function:: first_value (value any)
+
+  Returns the first value of input rows.
+
+  :param value: input value
+  :rtype: same as parameter data type
+
+.. function:: last_value (value any)
+
+  Returns the last value of input rows.
+
+  :param value: input value
+  :rtype: same as parameter data type
+
+.. function:: lag (value any [, offset integer [, default any ]])
+
+  Returns value evaluated at the row that is offset rows before the current row within the partition. If there is no such row, instead return default. Both offset and default are evaluated with respect to the current row. If omitted, offset defaults to 1 and default to null.
+
+  :param value: input value
+  :param offset: offset
+  :param default: default value
+  :rtype: same as parameter data type
+
+.. function:: lead (value any [, offset integer [, default any ]])
+
+  Returns value evaluated at the row that is offset rows after the current row within the partition. If there is no such row, instead return default. Both offset and default are evaluated with respect to the current row. If omitted, offset defaults to 1 and default to null.
+
+  :param value: input value
+  :param offset: offset
+  :param default: default value
+  :rtype: same as parameter data type
+
+.. function:: rank ()
+
+  Returns rank of the current row with gaps.
+
+  :rtype: int8
+
+.. function:: row_number ()
+
+  Returns the current row within its partition, counting from 1.
+
+  :rtype: int8
\ No newline at end of file

Added: tajo/site/docs/0.11.1/_sources/getting_started.txt
URL: http://svn.apache.org/viewvc/tajo/site/docs/0.11.1/_sources/getting_started.txt?rev=1728394&view=auto
==============================================================================
--- tajo/site/docs/0.11.1/_sources/getting_started.txt (added)
+++ tajo/site/docs/0.11.1/_sources/getting_started.txt Thu Feb  4 00:29:05 2016
@@ -0,0 +1,182 @@
+***************
+Getting Started
+***************
+
+In this section, we explain setup of a standalone Tajo instance. It will run against the local filesystem. In later sections, we will present how to run Tajo cluster instance on Apache Hadoop's HDFS, a distributed filesystem. This section shows you how to start up a Tajo cluster, create tables in your Tajo cluster, submit SQL queries via Tajo shell, and shutting down your Tajo cluster instance. The below exercise should take no more than ten minutes.
+
+======================
+Prerequisites
+======================
+
+ * Hadoop 2.3.0 or higher (up to 2.6.0)
+ * Java 1.7 or higher
+ * Protocol buffer 2.5.0
+
+===================================
+Dowload and unpack the source code
+===================================
+
+You can either download the source code release of Tajo or check out the development codebase from Git.
+
+-----------------------------------
+Download the latest source release
+-----------------------------------
+
+Choose a download site from this list of `Apache Download Mirrors <http://www.apache.org/dyn/closer.cgi/tajo>`_.
+Click on the suggested mirror link. This will take you to a mirror of Tajo Releases. 
+Download the file that ends in .tar.gz to your local filesystem, e.g. tajo-x.y.z-src.tar.gz.
+
+Decompress and untar your downloaded file and then change into the unpacked directory. ::
+
+  tar xzvf tajo-x.y.z-src.tar.gz
+
+-----------------------------------
+Check out the source code via Git
+-----------------------------------
+
+The development codebase can also be downloaded from `the Apache git repository <https://git-wip-us.apache.org/repos/asf/tajo.git>`_ as follows: ::
+
+  git clone https://git-wip-us.apache.org/repos/asf/tajo.git
+
+A read-only git repository is also mirrored on `Github <https://github.com/apache/tajo>`_.
+
+
+=================
+Build source code
+=================
+
+You prepare the prerequisites and the source code, you can build the source code now.
+
+The first step of the installation procedure is to configure the source tree for your system and choose the options you would like. This is done by running the configure script. For a default installation simply enter:
+
+You can compile source code and get a binary archive as follows:
+
+.. code-block:: bash
+
+  $ cd tajo-x.y.z
+  $ mvn clean install -DskipTests -Pdist -Dtar -Dhadoop.version=2.X.X
+  $ ls tajo-dist/target/tajo-x.y.z-SNAPSHOT.tar.gz
+
+.. note::
+
+  If you don't specify the hadoop version, tajo cluster may not run correctly. Thus, we highly recommend that you specify your hadoop version with maven build command.
+
+  Example:
+
+    $ mvn clean install -DskipTests -Pdist -Dtar -Dhadoop.version=2.5.1
+
+Then, after you move some proper directory, discompress the tar.gz file as follows:
+
+.. code-block:: bash
+
+  $ cd [a directory to be parent of tajo binary]
+  $ tar xzvf ${TAJO_SRC}/tajo-dist/target/tajo-x.y.z-SNAPSHOT.tar.gz
+
+================================
+Setting up a local Tajo cluster
+================================
+
+Apache Tajo™ provides two run modes: local mode and fully distributed mode. Here, we explain only the local mode where a Tajo instance runs on a local file system. A local mode Tajo instance can start up with very simple configurations.
+
+First of all, you need to add the environment variables to conf/tajo-env.sh.
+
+.. code-block:: bash
+
+  # Hadoop home. Required
+  export HADOOP_HOME= ...
+
+  # The java implementation to use.  Required.
+  export JAVA_HOME= ...
+
+To launch the tajo master, execute start-tajo.sh.
+
+.. code-block:: bash
+
+  $ $TAJO_HOME/bin/start-tajo.sh
+
+.. note::
+
+  If you want to how to setup a fully distributed mode of Tajo, please see :doc:`/configuration/cluster_setup`.
+
+.. warning::
+
+  By default, *Catalog server* which manages table meta data uses `Apache Derby <http://db.apache.org/derby/>`_ as a persistent storage, and Derby stores data into ``/tmp/tajo-catalog-${username}`` directory. But, some operating systems may remove all contents in ``/tmp`` when booting up. In order to ensure persistent store of your catalog data, you need to set a proper location of derby directory. To learn Catalog configuration, please refer to :doc:`/configuration/catalog_configuration`.
+
+======================
+First query execution
+======================
+
+First of all, we need to prepare some table for query execution. For example, you can make a simple text-based table as follows: 
+
+.. code-block:: bash
+
+  $ mkdir /home/x/table1
+  $ cd /home/x/table1
+  $ cat > data.csv
+  1|abc|1.1|a
+  2|def|2.3|b
+  3|ghi|3.4|c
+  4|jkl|4.5|d
+  5|mno|5.6|e
+  <CTRL + D>
+
+
+Apache Tajo™ provides a SQL shell which allows users to interactively submit SQL queries. In order to use this shell, please execute ``bin/tsql`` ::
+
+  $ $TAJO_HOME/bin/tsql
+  tajo>
+
+In order to load the table we created above, we should think of a schema of the table.
+Here, we assume the schema as (int, text, float, text). ::
+
+  $ $TAJO_HOME/bin/tsql
+  tajo> create external table table1 (
+        id int,
+        name text, 
+        score float, 
+        type text) 
+        using text with ('text.delimiter'='|') location 'file:/home/x/table1';
+
+To load an external table, you need to use ‘create external table’ statement. 
+In the location clause, you should use the absolute directory path with an appropriate scheme. 
+If the table resides in HDFS, you should use ‘hdfs’ instead of ‘file’.
+
+If you want to know DDL statements in more detail, please see Query Language. ::
+
+  tajo> \d
+  table1
+
+ ``\d`` command shows the list of tables. ::
+
+  tajo> \d table1
+
+  table name: table1
+  table path: file:/home/x/table1
+  store type: TEXT
+  number of rows: 0
+  volume (bytes): 78 B
+  schema:
+  id      INT
+  name    TEXT
+  score   FLOAT
+  type    TEXT
+
+``\d [table name]`` command shows the description of a given table.
+
+Also, you can execute SQL queries as follows: ::
+
+  tajo> select * from table1 where id > 2;
+  final state: QUERY_SUCCEEDED, init time: 0.069 sec, response time: 0.397 sec
+  result: file:/tmp/tajo-hadoop/staging/q_1363768615503_0001_000001/RESULT, 3 rows ( 35B)
+
+  id,  name,  score,  type
+  - - - - - - - - - -  - - -
+  3,  ghi,  3.4,  c
+  4,  jkl,  4.5,  d
+  5,  mno,  5.6,  e
+
+  tajo> \q
+  bye
+
+Feel free to enjoy Tajo with SQL standards. 
+If you want to know more explanation for SQL supported by Tajo, please refer :doc:`/sql_language`.
\ No newline at end of file

Added: tajo/site/docs/0.11.1/_sources/hbase_integration.txt
URL: http://svn.apache.org/viewvc/tajo/site/docs/0.11.1/_sources/hbase_integration.txt?rev=1728394&view=auto
==============================================================================
--- tajo/site/docs/0.11.1/_sources/hbase_integration.txt (added)
+++ tajo/site/docs/0.11.1/_sources/hbase_integration.txt Thu Feb  4 00:29:05 2016
@@ -0,0 +1,189 @@
+*************************************
+HBase Integration
+*************************************
+
+Apache Tajo™ storage supports integration with Apache HBase™.
+This integration allows Tajo to access all tables used in Apache HBase.
+
+In order to use this feature, you need to build add some configs into ``conf/tajo-env.sh`` and then add some properties into a table create statement.
+
+This section describes how to setup HBase integration.
+
+First, you need to set your HBase home directory to the environment variable ``HBASE_HOME`` in ``conf/tajo-env.sh`` as follows: ::
+
+  export HBASE_HOME=/path/to/your/hbase/directory
+
+If you set the directory, Tajo will add HBase library file to classpath.
+
+Next, you must configure tablespace about HBase. Please see :doc:`/table_management/tablespaces` if you want to know more information about it.
+
+
+
+========================
+CREATE TABLE
+========================
+
+*Synopsis*
+
+.. code-block:: sql
+
+  CREATE [EXTERNAL] TABLE [IF NOT EXISTS] <table_name> [(<column_name> <data_type>, ... )]
+  USING hbase
+  WITH ('table'='<hbase_table_name>'
+  , 'columns'=':key,<column_family_name>:<qualifier_name>, ...'
+  , 'hbase.zookeeper.quorum'='<zookeeper_address>'
+  , 'hbase.zookeeper.property.clientPort'='<zookeeper_client_port>')
+  [LOCATION 'hbase:zk://<hostname>:<port>/'] ;
+
+``IF NOT EXISTS`` allows ``CREATE [EXTERNAL] TABLE`` statement to avoid an error which occurs when the table does not exist.
+
+If you want to create ``EXTERNAL TABLE``, You must write ``LOCATION`` statement.
+
+Options
+
+* ``table`` : Set hbase origin table name. If you want to create an external table, the table must exists on HBase. The other way, if you want to create a managed table, the table must doesn't exist on HBase.
+* ``columns`` : :key means HBase row key. The number of columns entry need to equals to the number of Tajo table column
+* ``hbase.zookeeper.quorum`` : Set zookeeper quorum address. You can use different zookeeper cluster on the same Tajo database. If you don't set the zookeeper address, Tajo will refer the property of hbase-site.xml file.
+* ``hbase.zookeeper.property.clientPort`` : Set zookeeper client port. If you don't set the port, Tajo will refer the property of hbase-site.xml file.
+
+
+
+
+========================
+ DROP TABLE
+========================
+
+*Synopsis*
+
+.. code-block:: sql
+
+  DROP TABLE [IF EXISTS] <table_name> [PURGE]
+
+``IF EXISTS`` allows ``DROP TABLE`` statement to avoid an error which occurs when the table does not exist. ``DROP TABLE`` statement removes a table from Tajo catalog, but it does not remove the contents on HBase cluster. If ``PURGE`` option is given, ``DROP TABLE`` statement will eliminate the entry in the catalog as well as the contents on HBase cluster.
+
+
+========================
+INSERT (OVERWRITE) INTO
+========================
+
+INSERT OVERWRITE statement overwrites a table data of an existing table. Tajo's INSERT OVERWRITE statement follows ``INSERT INTO SELECT`` statement of SQL. The examples are as follows:
+
+.. code-block:: sql
+
+  -- when a target table schema and output schema are equivalent to each other
+  INSERT OVERWRITE INTO t1 SELECT l_orderkey, l_partkey, l_quantity FROM lineitem;
+  -- or
+  INSERT OVERWRITE INTO t1 SELECT * FROM lineitem;
+
+  -- when the output schema are smaller than the target table schema
+  INSERT OVERWRITE INTO t1 SELECT l_orderkey FROM lineitem;
+
+  -- when you want to specify certain target columns
+  INSERT OVERWRITE INTO t1 (col1, col3) SELECT l_orderkey, l_quantity FROM lineitem;
+
+
+.. note::
+
+  If you don't set row key option, You are never able to use your table data. Because Tajo need to have some key columns for sorting before creating result data.
+
+
+
+========================
+Usage
+========================
+
+In order to create a new HBase table which is to be managed by Tajo, use the USING clause on CREATE TABLE:
+
+.. code-block:: sql
+
+  CREATE EXTERNAL TABLE blog (rowkey text, author text, register_date text, title text)
+  USING hbase WITH (
+    'table'='blog'
+    , 'columns'=':key,info:author,info:date,content:title')
+  LOCATION 'hbase:zk://<hostname>:<port>/';
+
+After executing the command above, you should be able to see the new table in the HBase shell:
+
+.. code-block:: sql
+
+  $ hbase shell
+  create 'blog', {NAME=>'info'}, {NAME=>'content'}
+  put 'blog', 'hyunsik-02', 'content:title', 'Getting started with Tajo on your desktop'
+  put 'blog', 'hyunsik-02', 'info:author', 'Hyunsik Choi'
+  put 'blog', 'hyunsik-02', 'info:date', '2014-12-03'
+  put 'blog', 'blrunner-01', 'content:title', 'Apache Tajo: A Big Data Warehouse System on Hadoop'
+  put 'blog', 'blrunner-01', 'info:author', 'Jaehwa Jung'
+  put 'blog', 'blrunner-01', 'info:date', '2014-10-31'
+  put 'blog', 'jhkim-01', 'content:title', 'APACHE TAJO™ v0.9 HAS ARRIVED!'
+  put 'blog', 'jhkim-01', 'info:author', 'Jinho Kim'
+  put 'blog', 'jhkim-01', 'info:date', '2014-10-22'
+
+And then create the table and query the table meta data with ``\d`` option:
+
+.. code-block:: sql
+
+  default> \d blog;
+
+  table name: default.blog
+  table path:
+  store type: HBASE
+  number of rows: unknown
+  volume: 0 B
+  Options:
+          'columns'=':key,info:author,info:date,content:title'
+          'table'='blog'
+
+  schema:
+  rowkey  TEXT
+  author  TEXT
+  register_date   TEXT
+  title   TEXT
+
+
+And then query the table as follows:
+
+.. code-block:: sql
+
+  default> SELECT * FROM blog;
+  rowkey,  author,  register_date,  title
+  -------------------------------
+  blrunner-01,  Jaehwa Jung,  2014-10-31,  Apache Tajo: A Big Data Warehouse System on Hadoop
+  hyunsik-02,  Hyunsik Choi,  2014-12-03,  Getting started with Tajo on your desktop
+  jhkim-01,  Jinho Kim,  2014-10-22,  APACHE TAJO™ v0.9 HAS ARRIVED!
+
+  default> SELECT * FROM blog WHERE rowkey = 'blrunner-01';
+  Progress: 100%, response time: 2.043 sec
+  rowkey,  author,  register_date,  title
+  -------------------------------
+  blrunner-01,  Jaehwa Jung,  2014-10-31,  Apache Tajo: A Big Data Warehouse System on Hadoop
+
+
+Here's how to insert data the HBase table:
+
+.. code-block:: sql
+
+  CREATE TABLE blog_backup(rowkey text, author text, register_date text, title text)
+  USING hbase WITH (
+    'table'='blog_backup'
+    , 'columns'=':key,info:author,info:date,content:title');
+  INSERT OVERWRITE INTO blog_backup SELECT * FROM blog;
+
+
+Use HBase shell to verify that the data actually got loaded:
+
+.. code-block:: sql
+
+  hbase(main):004:0> scan 'blog_backup'
+   ROW          COLUMN+CELL
+   blrunner-01  column=content:title, timestamp=1421227531054, value=Apache Tajo: A Big Data Warehouse System on Hadoop
+   blrunner-01  column=info:author, timestamp=1421227531054, value=Jaehwa Jung
+   blrunner-01  column=info:date, timestamp=1421227531054, value=2014-10-31
+   hyunsik-02   column=content:title, timestamp=1421227531054, value=Getting started with Tajo on your desktop
+   hyunsik-02   column=info:author, timestamp=1421227531054, value=Hyunsik Choi
+   hyunsik-02   column=info:date, timestamp=1421227531054, value=2014-12-03
+   jhkim-01     column=content:title, timestamp=1421227531054, value=APACHE TAJO\xE2\x84\xA2 v0.9 HAS ARRIVED!
+   jhkim-01     column=info:author, timestamp=1421227531054, value=Jinho Kim
+   jhkim-01     column=info:date, timestamp=1421227531054, value=2014-10-22
+  3 row(s) in 0.0470 seconds
+
+

Added: tajo/site/docs/0.11.1/_sources/hive_integration.txt
URL: http://svn.apache.org/viewvc/tajo/site/docs/0.11.1/_sources/hive_integration.txt?rev=1728394&view=auto
==============================================================================
--- tajo/site/docs/0.11.1/_sources/hive_integration.txt (added)
+++ tajo/site/docs/0.11.1/_sources/hive_integration.txt Thu Feb  4 00:29:05 2016
@@ -0,0 +1,52 @@
+****************
+Hive Integration
+****************
+
+Apache Tajo™ catalog supports HiveCatalogStore to integrate with Apache Hive™.
+This integration allows Tajo to access all tables used in Apache Hive. 
+Depending on your purpose, you can execute either SQL queries or HiveQL queries on the 
+same tables managed in Apache Hive.
+
+In order to use this feature, you need to build Tajo with a specified maven profile 
+and then add some configs into ``conf/tajo-env.sh`` and ``conf/catalog-site.xml``. 
+This section describes how to setup HiveMetaStore integration.
+This instruction would take no more than five minutes.
+
+You need to set your Hive home directory to the environment variable **HIVE_HOME** in ``conf/tajo-env.sh`` as follows:
+
+.. code-block:: sh
+
+  export HIVE_HOME=/path/to/your/hive/directory
+
+If you need to use jdbc to connect HiveMetaStore, you have to prepare MySQL jdbc driver.
+Next, you should set the path of MySQL JDBC driver jar file to the environment variable **HIVE_JDBC_DRIVER_DIR** in ``conf/tajo-env.sh`` as follows:
+
+.. code-block:: sh
+
+  export HIVE_JDBC_DRIVER_DIR=/path/to/your/mysql_jdbc_driver/mysql-connector-java-x.x.x-bin.jar
+
+Finally, you should specify HiveCatalogStore as Tajo catalog driver class in ``conf/catalog-site.xml`` as follows:
+
+.. code-block:: xml
+
+  <property>
+    <name>tajo.catalog.store.class</name>
+    <value>org.apache.tajo.catalog.store.HiveCatalogStore</value>
+  </property>
+
+.. note::
+
+  Hive stores a list of partitions for each table in its metastore. When new partitions are
+  added directly to HDFS, HiveMetastore can't recognize these partitions until the user executes
+  ``ALTER TABLE table_name ADD PARTITION`` commands on each of the newly added partitions or
+  ``MSCK REPAIR TABLE table_name`` command.
+
+  But current Tajo doesn't provide ``ADD PARTITION`` command and Hive doesn't provide an api for
+  responding to ``MSK REPAIR TABLE`` command. Thus, if you insert data to Hive partitioned
+  table and you want to scan the updated partitions through Tajo, you must run following command on Hive
+  (see `Hive doc <https://cwiki.apache.org/confluence/display/Hive/LanguageManual+DDL#LanguageManualDDL-RecoverPartitions(MSCKREPAIRTABLE)>`_
+  for more details of the command):
+
+  .. code-block:: sql
+
+    MSCK REPAIR TABLE [table_name];

Added: tajo/site/docs/0.11.1/_sources/index.txt
URL: http://svn.apache.org/viewvc/tajo/site/docs/0.11.1/_sources/index.txt?rev=1728394&view=auto
==============================================================================
--- tajo/site/docs/0.11.1/_sources/index.txt (added)
+++ tajo/site/docs/0.11.1/_sources/index.txt Thu Feb  4 00:29:05 2016
@@ -0,0 +1,51 @@
+.. Licensed 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.
+
+.. Apache Tajo documentation master file, created by
+   sphinx-quickstart on Thu Feb 27 08:29:11 2014.
+   You can adapt this file completely to your liking, but it should at least
+   contain the root `toctree` directive.
+
+Apache Tajo™ (0.11.1 Release) - User documentation
+===========================================================================
+
+Table of Contents:
+
+.. toctree::
+   :maxdepth: 3
+
+   introduction
+   getting_started
+   configuration
+   tsql
+   sql_language
+   time_zone
+   functions
+   table_management
+   table_partitioning
+   storage_plugins
+   index_overview
+   backup_and_restore
+   hive_integration
+   hbase_integration
+   swift_integration
+   jdbc_driver
+   tajo_client_api
+   faq
+
+Indices and tables
+==================
+
+* :ref:`genindex`
+* :ref:`modindex`
+* :ref:`search`
+

Added: tajo/site/docs/0.11.1/_sources/index/future_work.txt
URL: http://svn.apache.org/viewvc/tajo/site/docs/0.11.1/_sources/index/future_work.txt?rev=1728394&view=auto
==============================================================================
--- tajo/site/docs/0.11.1/_sources/index/future_work.txt (added)
+++ tajo/site/docs/0.11.1/_sources/index/future_work.txt Thu Feb  4 00:29:05 2016
@@ -0,0 +1,7 @@
+*************************************
+Future Works
+*************************************
+
+* Supporting more index types, such as bitmap and HBase index
+* Supporting index on partitioned tables
+* Cost-based query optimization by estimating the query selectivity
\ No newline at end of file

Added: tajo/site/docs/0.11.1/_sources/index/how_to_use.txt
URL: http://svn.apache.org/viewvc/tajo/site/docs/0.11.1/_sources/index/how_to_use.txt?rev=1728394&view=auto
==============================================================================
--- tajo/site/docs/0.11.1/_sources/index/how_to_use.txt (added)
+++ tajo/site/docs/0.11.1/_sources/index/how_to_use.txt Thu Feb  4 00:29:05 2016
@@ -0,0 +1,79 @@
+*****************
+How to use index?
+*****************
+
+---------------
+1. Create index
+---------------
+
+The first step for utilizing index is to create an index. You can create an index using SQL (:doc:`/sql_language/ddl`) or Tajo API (:doc:`/tajo_client_api`).
+For example, the following SQL statement will create a BST index on the lineitem table.
+
+.. code-block:: sql
+
+     default> create index l_orderkey_idx on lineitem (l_orderkey);
+
+If the index is created successfully, you can see the index information as follows: ::
+
+  default> \d lineitem
+
+  table name: default.lineitem
+  table path: hdfs://localhost:7020/tpch/lineitem
+  store type: TEXT
+  number of rows: unknown
+  volume: 753.9 MB
+  Options:
+  	'text.delimiter'='|'
+
+  schema:
+  l_orderkey	INT8
+  l_partkey	INT8
+  l_suppkey	INT8
+  l_linenumber	INT8
+  l_quantity	FLOAT4
+  l_extendedprice	FLOAT4
+  l_discount	FLOAT4
+  l_tax	FLOAT4
+  l_returnflag	TEXT
+  l_linestatus	TEXT
+  l_shipdate	DATE
+  l_commitdate	DATE
+  l_receiptdate	DATE
+  l_shipinstruct	TEXT
+  l_shipmode	TEXT
+  l_comment	TEXT
+
+
+  Indexes:
+  "l_orderkey_idx" TWO_LEVEL_BIN_TREE (l_orderkey ASC NULLS LAST )
+
+For more information about index creation, please refer to the above links.
+
+-----------------------------
+2. Enable/disable index scans
+-----------------------------
+
+Reading data using index is disabled by default.
+So, exploiting the created index, you need a further step, enabling 'index scan' as following:
+
+.. code-block:: sql
+
+     default> \set INDEX_ENABLED true
+
+If you don't want to use index scan anymore, you can simply disable it as follows:
+
+.. code-block:: sql
+
+     default> \set INDEX_ENABLED false
+
+.. note::
+
+     Once index scan is enabled, Tajo will perform 'index scan' if possible. In some cases, it may cause performance
+     degradation. If you always want to get better performance, you should either enable or disable 'index scan'
+     according to selectivity. Usually, the performance gain of index will increase when the selectivity is low.
+
+---------------------------
+3. Index backup and restore
+---------------------------
+
+Tajo currently provides only the catalog backup and restore for index. Please refer to :doc:`/backup_and_restore/catalog` for more information about catalog backup and restore.
\ No newline at end of file

Added: tajo/site/docs/0.11.1/_sources/index/types.txt
URL: http://svn.apache.org/viewvc/tajo/site/docs/0.11.1/_sources/index/types.txt?rev=1728394&view=auto
==============================================================================
--- tajo/site/docs/0.11.1/_sources/index/types.txt (added)
+++ tajo/site/docs/0.11.1/_sources/index/types.txt Thu Feb  4 00:29:05 2016
@@ -0,0 +1,7 @@
+*************************************
+Index Types
+*************************************
+
+Currently, Tajo supports only one type of index, ``TWO_LEVEL_BIN_TREE``, shortly ``BST``. The BST index is a kind of binary search tree which is extended to be permanently stored on disk. It consists of two levels of nodes; a leaf node indexes the keys with the offsets to data stored on HDFS, and a root node indexes the keys with the offsets to the leaf nodes.
+
+When an index scan is started, the query engine first reads the root node and finds the search key. If it successfully finds a leaf node corresponding to the search key, it subsequently finds the search key in that leaf node. Finally, it directly reads a tuple corresponding to the search key from HDFS.
\ No newline at end of file

Added: tajo/site/docs/0.11.1/_sources/index_overview.txt
URL: http://svn.apache.org/viewvc/tajo/site/docs/0.11.1/_sources/index_overview.txt?rev=1728394&view=auto
==============================================================================
--- tajo/site/docs/0.11.1/_sources/index_overview.txt (added)
+++ tajo/site/docs/0.11.1/_sources/index_overview.txt Thu Feb  4 00:29:05 2016
@@ -0,0 +1,14 @@
+*****************************
+Index (Experimental Feature)
+*****************************
+
+An index is a data structure that is used for efficient query processing. Using an index, the Tajo query engine can directly retrieve search values.
+
+The following sections describe the supported index types, the query execution with an index, and the future works.
+
+.. toctree::
+      :maxdepth: 1
+
+      index/types
+      index/how_to_use
+      index/future_work
\ No newline at end of file

Added: tajo/site/docs/0.11.1/_sources/introduction.txt
URL: http://svn.apache.org/viewvc/tajo/site/docs/0.11.1/_sources/introduction.txt?rev=1728394&view=auto
==============================================================================
--- tajo/site/docs/0.11.1/_sources/introduction.txt (added)
+++ tajo/site/docs/0.11.1/_sources/introduction.txt Thu Feb  4 00:29:05 2016
@@ -0,0 +1,13 @@
+***************
+Introduction
+***************
+
+The main goal of Apache Tajo project is to build an advanced open source
+data warehouse system in Hadoop for processing web-scale data sets. 
+Basically, Tajo provides SQL standard as a query language.
+Tajo is designed for both interactive and batch queries on data sets
+stored on HDFS and other data sources. Without hurting query response
+times, Tajo provides fault-tolerance and dynamic load balancing which
+are necessary for long-running queries. Tajo employs a cost-based and
+progressive query optimization techniques for reoptimizing running
+queries in order to avoid the worst query plans.
\ No newline at end of file

Added: tajo/site/docs/0.11.1/_sources/jdbc_driver.txt
URL: http://svn.apache.org/viewvc/tajo/site/docs/0.11.1/_sources/jdbc_driver.txt?rev=1728394&view=auto
==============================================================================
--- tajo/site/docs/0.11.1/_sources/jdbc_driver.txt (added)
+++ tajo/site/docs/0.11.1/_sources/jdbc_driver.txt Thu Feb  4 00:29:05 2016
@@ -0,0 +1,140 @@
+*************************************
+Tajo JDBC Driver
+*************************************
+
+Apache Tajo™ provides JDBC driver
+which enables Java applciations to easily access Apache Tajo in a RDBMS-like manner.
+In this section, we explain how to get JDBC driver and an example code.
+
+How to get JDBC driver
+=======================
+
+Direct Download
+--------------------------------
+
+You can directly download a JDBC driver jar file (``tajo-jdbc-x.y.z.jar``) from `Downloads <http://tajo.apache.org/downloads.html>`_.
+
+From Binary Distribution
+--------------------------------
+
+Tajo binary distribution provides JDBC jar file located in ``${TAJO_HOME}/share/jdbc-dist/tajo-jdbc-x.y.z.jar``.
+
+
+From Building Source Code
+--------------------------------
+
+You can build Tajo from the source code and then get JAR files as follows:
+
+.. code-block:: bash
+
+  $ tar xzvf tajo-x.y.z-src.tar.gz
+  $ mvn clean package -DskipTests -Pdist -Dtar
+  $ ls -l tajo-dist/target/tajo-x.y.z/share/jdbc-dist/tajo-jdbc-x.y.z.jar
+
+
+Setting the CLASSPATH
+=======================
+
+In order to use the JDBC driver, you should add ``tajo-jdbc-x.y.z.jar`` in your ``CLASSPATH``.
+
+.. code-block:: bash
+
+  CLASSPATH=path/to/tajo-jdbc-x.y.z.jar:$CLASSPATH
+
+
+Connecting to the Tajo cluster instance
+=======================================
+A Tajo cluster is represented by a URL. Tajo JDBC driver can take the following URL forms:
+
+ * ``jdbc:tajo://host/``
+ * ``jdbc:tajo://host/database``
+ * ``jdbc:tajo://host:port/``
+ * ``jdbc:tajo://host:port/database``
+
+Each part of URL has the following meanings:
+
+ * ``host`` - The hostname of the TajoMaster. You can put hostname or ip address here.
+ * ``port`` - The port number that server is listening. Default port number is 26002.
+ * ``database`` - The database name. The default database name is ``default``.
+
+ To connect, you need to get ``Connection`` instance from Java JDBC Driver Manager as follows:
+
+.. code-block:: java
+
+  Connection db = DriverManager.getConnection(url);
+
+
+Connection Parameters
+=====================
+Connection parameters lets the JDBC Copnnection to enable or disable additional features. You should use ``java.util.Properties`` to pass your connection parameters into ``Connection``. The following example means that the transmission of ResultSet uses compression and its connection timeout is 15 seconds. 
+
+.. code-block:: java
+
+  String url = "jdbc:tajo://localhost/test";
+  Properties props = new Properties();
+  props.setProperty("useCompression","true");  // use compression for ResultSet
+  props.setProperty("connectTimeout","15000"); // 15 seconds
+  Connection conn = DriverManager.getConnection(url, props);
+
+The connection parameters that Tajo currently supports are as follows:
+
+ * ``useCompression = bool`` - Enable compressed transfer for ResultSet.
+ * ``defaultRowFetchSize = int`` - Determine the number of rows fetched in ResultSet by one fetch with trip to the Server.
+ * ``connectTimeout = int (seconds)`` - The timeout value used for socket connect operations. If connecting to the server takes longer than this value, the connection is broken. The timeout is specified in seconds and a value of zero means that it is disabled.
+ * ``socketTimeout = int (seconds)`` - The timeout value used for socket read operations. If reading from the server takes longer than this value, the connection is closed. This can be used as both a brute force global query timeout and a method of detecting network problems. The timeout is specified in seconds and a value of zero means that it is disabled.
+ * ``retry = int`` - Number of retry operation. Tajo JDBC driver is resilient against some network or connection problems. It determines how many times the connection will retry.
+
+
+An Example JDBC Client
+=======================
+
+The JDBC driver class name is ``org.apache.tajo.jdbc.TajoDriver``.
+You can get the driver ``Class.forName("org.apache.tajo.jdbc.TajoDriver")``.
+The connection url should be ``jdbc:tajo://<TajoMaster hostname>:<TajoMaster client rpc port>/<database name>``.
+The default TajoMaster client rpc port is ``26002``.
+If you want to change the listening port, please refer :doc:`/configuration/cluster_setup`.
+
+.. note::
+  
+  Currently, Tajo does not support the concept of database and namespace. 
+  All tables are contained in ``default`` database. So, you don't need to specify any database name.
+
+The following shows an example of JDBC Client.
+
+.. code-block:: java
+
+  import java.sql.Connection;
+  import java.sql.ResultSet;
+  import java.sql.Statement;
+  import java.sql.DriverManager;
+
+  public class TajoJDBCClient {
+    
+    ....
+
+    public static void main(String[] args) throws Exception {
+
+      try {
+        Class.forName("org.apache.tajo.jdbc.TajoDriver");
+      } catch (ClassNotFoundException e) {
+        // fill your handling code
+      }
+
+      Connection conn = DriverManager.getConnection("jdbc:tajo://127.0.0.1:26002/default");
+
+      Statement stmt = null;
+      ResultSet rs = null;
+      try {
+        stmt = conn.createStatement();
+        rs = stmt.executeQuery("select * from table1");
+        while (rs.next()) {
+          System.out.println(rs.getString(1) + "," + rs.getString(3));
+        }
+      } finally {
+        if (rs != null) rs.close();
+        if (stmt != null) stmt.close();
+        if (conn != null) conn.close();
+      }
+    }
+  }
+

Added: tajo/site/docs/0.11.1/_sources/partitioning/column_partitioning.txt
URL: http://svn.apache.org/viewvc/tajo/site/docs/0.11.1/_sources/partitioning/column_partitioning.txt?rev=1728394&view=auto
==============================================================================
--- tajo/site/docs/0.11.1/_sources/partitioning/column_partitioning.txt (added)
+++ tajo/site/docs/0.11.1/_sources/partitioning/column_partitioning.txt Thu Feb  4 00:29:05 2016
@@ -0,0 +1,235 @@
+*********************************
+Column Partitioning
+*********************************
+
+The column table partition is designed to support the partition of Apache Hive™.
+
+================================================
+How to Create a Column Partitioned Table
+================================================
+
+You can create a partitioned table by using the ``PARTITION BY`` clause. For a column partitioned table, you should use
+the ``PARTITION BY COLUMN`` clause with partition keys.
+
+For example, assume a table with the following schema.
+
+.. code-block:: sql
+
+  id        INT,
+  name      TEXT,
+  gender    char(1),
+  grade     TEXT,
+  country   TEXT,
+  city      TEXT,
+  phone     TEXT
+  );
+
+If you want to make country as partitioned column, your Tajo definition would be this:
+
+.. code-block:: sql
+
+  CREATE TABLE student (
+    id        INT,
+    name      TEXT,
+    gender    char(1),
+    grade     TEXT,
+    city      TEXT,
+    phone     TEXT
+  ) PARTITION BY COLUMN (country TEXT);
+
+Let us assume you want to use more partition columns and parquet file format. Here's an example statement to create a table:
+
+.. code-block:: sql
+
+  CREATE TABLE student (
+    id        INT,
+    name      TEXT,
+    gender    char(1),
+    grade     TEXT,
+    phone     TEXT
+  ) USING PARQUET
+  PARTITION BY COLUMN (country TEXT, city TEXT);
+
+The statement above creates the student table with id, name, grade, etc. The table is also partitioned and data is stored in parquet files.
+
+You might have noticed that while the partitioning key columns are a part of the table DDL, they’re only listed in the ``PARTITION BY`` clause. In Tajo, as data is written to disk, each partition of data will be automatically split out into different folders, e.g. country=USA/city=NEWYORK. During a read operation, Tajo will use the folder structure to quickly locate the right partitions and also return the partitioning columns as columns in the result set.
+
+
+==================================================
+Querying Partitioned Tables
+==================================================
+
+If a table created using the ``PARTITION BY`` clause, a query can do partition pruning and scan only a fraction of the table relevant to the partitions specified by the query. Tajo currently does partition pruning if the partition predicates are specified in the WHERE clause. For example, if table student is partitioned on column country and column city, the following query retrieves rows in ``country=KOREA\city=SEOUL`` directory.
+
+.. code-block:: sql
+
+  SELECT * FROM student WHERE country = 'KOREA' AND city = 'SEOUL';
+
+The following predicates in the ``WHERE`` clause can be used to prune column partitions during query planning phase.
+
+* ``=``
+* ``<>``
+* ``>``
+* ``<``
+* ``>=``
+* ``<=``
+* LIKE predicates with a leading wild-card character
+* IN list predicates
+
+
+==================================================
+Add data to Partition Table
+==================================================
+
+Tajo provides a very useful feature of dynamic partitioning. You don't need to use any syntax with both ``INSERT INTO ... SELECT`` and ``Create Table As Select(CTAS)`` statments for dynamic partitioning. Tajo will automatically filter the data, create directories, move filtered data to appropriate directory and create partition over it.
+
+For example, assume there are both ``student_source`` and ``student`` tables composed of the following schema.
+
+.. code-block:: sql
+
+  CREATE TABLE student_source (
+    id        INT,
+    name      TEXT,
+    gender    char(1),
+    grade     TEXT,
+    country   TEXT,
+    city      TEXT,
+    phone     TEXT
+  );
+
+  CREATE TABLE student (
+    id        INT,
+    name      TEXT,
+    gender    char(1),
+    grade     TEXT,
+    phone     TEXT
+  ) PARTITION BY COLUMN (country TEXT, city TEXT);
+
+
+How to INSERT dynamically to partition table
+--------------------------------------------------------
+
+If you want to load an entire country or an entire city in one fell swoop:
+
+.. code-block:: sql
+
+  INSERT OVERWRITE INTO student
+  SELECT id, name, gender, grade, phone, country, city
+  FROM   student_source;
+
+
+How to CTAS dynamically to partition table
+--------------------------------------------------------
+
+when a partition table is created:
+
+.. code-block:: sql
+
+  DROP TABLE if exists student;
+
+  CREATE TABLE student (
+    id        INT,
+    name      TEXT,
+    gender    char(1),
+    grade     TEXT,
+    phone     TEXT
+  ) PARTITION BY COLUMN (country TEXT, city TEXT)
+  AS SELECT id, name, gender, grade, phone, country, city
+  FROM   student_source;
+
+
+.. note::
+
+  When loading data into a partition, it’s necessary to include the partition columns as the last columns in the query. The column names in the source query don’t need to match the partition column names.
+
+
+==================================================
+Compatibility Issues with Apache Hive™
+==================================================
+
+If partitioned tables of Hive are created as external tables in Tajo, Tajo can process the Hive partitioned tables directly.
+
+
+How to create partition table
+--------------------------------------------------------
+
+If you create a partition table as follows in Tajo:
+
+.. code-block:: sql
+
+  default> CREATE TABLE student (
+    id        INT,
+    name      TEXT,
+    gender    char(1),
+    grade     TEXT,
+    phone     TEXT
+  ) PARTITION BY COLUMN (country TEXT, city TEXT);
+
+
+And then you can get table information in Hive:
+
+.. code-block:: sql
+
+  hive> desc student;
+  OK
+  id                  	int
+  name                	string
+  gender              	char(1)
+  grade               	string
+  phone               	string
+  country             	string
+  city                	string
+
+  # Partition Information
+  # col_name            	data_type           	comment
+
+  country             	string
+  city                	string
+
+
+Or as you create the table in Hive:
+
+.. code-block:: sql
+
+  hive > CREATE TABLE student (
+    id int,
+    name string,
+    gender char(1),
+    grade string,
+    phone string
+  ) PARTITIONED BY (country string, city string)
+  ROW FORMAT DELIMITED
+    FIELDS TERMINATED BY '|' ;
+
+You will see table information in Tajo:
+
+.. code-block:: sql
+
+  default> \d student;
+  table name: default.student
+  table uri: hdfs://your_hdfs_namespace/user/hive/warehouse/student
+  store type: TEXT
+  number of rows: 0
+  volume: 0 B
+  Options:
+    'text.null'='\\N'
+    'transient_lastDdlTime'='1438756422'
+    'text.delimiter'='|'
+
+  schema:
+  id	INT4
+  name	TEXT
+  gender	CHAR(1)
+  grade	TEXT
+  phone	TEXT
+
+  Partitions:
+  type:COLUMN
+  columns::default.student.country (TEXT), default.student.city (TEXT)
+
+
+How to add data to partition table
+--------------------------------------------------------
+
+In Tajo, you can add data dynamically to partition table of Hive with both ``INSERT INTO ... SELECT`` and ``Create Table As Select (CTAS)`` statments. Tajo will automatically filter the data to HiveMetastore, create directories and move filtered data to appropriate directory on the distributed file system.
+

Added: tajo/site/docs/0.11.1/_sources/partitioning/hash_partitioning.txt
URL: http://svn.apache.org/viewvc/tajo/site/docs/0.11.1/_sources/partitioning/hash_partitioning.txt?rev=1728394&view=auto
==============================================================================
--- tajo/site/docs/0.11.1/_sources/partitioning/hash_partitioning.txt (added)
+++ tajo/site/docs/0.11.1/_sources/partitioning/hash_partitioning.txt Thu Feb  4 00:29:05 2016
@@ -0,0 +1,5 @@
+********************************
+Hash Partitioning
+********************************
+
+.. todo::
\ No newline at end of file

Added: tajo/site/docs/0.11.1/_sources/partitioning/intro_to_partitioning.txt
URL: http://svn.apache.org/viewvc/tajo/site/docs/0.11.1/_sources/partitioning/intro_to_partitioning.txt?rev=1728394&view=auto
==============================================================================
--- tajo/site/docs/0.11.1/_sources/partitioning/intro_to_partitioning.txt (added)
+++ tajo/site/docs/0.11.1/_sources/partitioning/intro_to_partitioning.txt Thu Feb  4 00:29:05 2016
@@ -0,0 +1,15 @@
+**************************************
+Introduction to Partitioning
+**************************************
+
+Table partitioning provides two benefits: easy table management and data pruning by partition keys.
+Currently, Apache Tajo only provides Apache Hive-compatible column partitioning.
+
+=========================
+Partitioning Methods
+=========================
+
+Tajo provides the following partitioning methods:
+ * Column Partitioning
+ * Range Partitioning (TODO)
+ * Hash Partitioning (TODO)
\ No newline at end of file

Added: tajo/site/docs/0.11.1/_sources/partitioning/range_partitioning.txt
URL: http://svn.apache.org/viewvc/tajo/site/docs/0.11.1/_sources/partitioning/range_partitioning.txt?rev=1728394&view=auto
==============================================================================
--- tajo/site/docs/0.11.1/_sources/partitioning/range_partitioning.txt (added)
+++ tajo/site/docs/0.11.1/_sources/partitioning/range_partitioning.txt Thu Feb  4 00:29:05 2016
@@ -0,0 +1,5 @@
+***************************
+Range Partitioning
+***************************
+
+.. todo::
\ No newline at end of file

Added: tajo/site/docs/0.11.1/_sources/sql_language.txt
URL: http://svn.apache.org/viewvc/tajo/site/docs/0.11.1/_sources/sql_language.txt?rev=1728394&view=auto
==============================================================================
--- tajo/site/docs/0.11.1/_sources/sql_language.txt (added)
+++ tajo/site/docs/0.11.1/_sources/sql_language.txt Thu Feb  4 00:29:05 2016
@@ -0,0 +1,16 @@
+************
+SQL Language
+************
+
+.. toctree::
+    :maxdepth: 1
+
+    sql_language/data_model
+    sql_language/ddl
+    sql_language/insert
+    sql_language/alter_table
+    sql_language/queries
+    sql_language/joins
+    sql_language/sql_expression
+    sql_language/predicates
+    sql_language/explain
\ No newline at end of file