Clone Tools
Constraints: committers
Constraints: files
Constraints: dates
jira TRAFODION-3157 Add support for BINARY/VARBINARY datatype

Spec attached to jira.

new test regress/seabase/TEST004 added.

  1. … 86 more files in changeset.
Merge [TRAFODION-3112] pr 1669 get command updates

  1. … 2 more files in changeset.
TRAFODION-3146 Support ANSI OVERLAY function

OVERLAY modifies a source string by replacing a given

substring of the string, which is specified by a given numeric starting

position and a given numeric length, with a replacement string).

When the length of the substring is zero, nothing is removed

from the source string and the string returned by the function is the

result of inserting the replacement string into the source string at the

starting position.

STUFF is syntactic variation of OVERLAY.


overlay ('source original string' placing 'modified ' from 8 for 9)

stuff ('source original string', 8, 9, 'modified ')

will return:

'source modified string'

overlay ('source original string' placing 'modified ' from 8 for 0)

will return:

'source modified original string'

  1. … 13 more files in changeset.
Fix for TRAFODION-3112

Internal error: get ... for user/role

Heading incorrect for libraries

Parser error: get procedures/table_mapping functions/functions for user/role

  1. … 11 more files in changeset.
Merge branch 'master' of into TRAFODION-3147

  1. … 7 more files in changeset.
[TRAFODION-3147] support sys_guid function

  1. … 7 more files in changeset.
Merge [TRAFODION-3136] PR 1642 Add new split_part function to Trafodion SQL

modified: core/sql/bin/SqlciErrors.txt modified: core/sql/common/OperTypeEnum.h modified: core/sql/exp/ExpPackDefs.cpp modified: core/sql/exp/exp_clause.cpp modified: core/sql/exp/exp_clause.h modified: core/sql/exp/exp_function.cpp modified: core/sql/exp/exp_function.h modified: core/sql/generator/GenItemFunc.cpp modified: core/sql/optimizer/ItemExpr.cpp modified: core/sql/optimizer/ItemFunc.h modified: core/sql/optimizer/SynthType.cpp modified: core/sql/parser/ParKeyWords.cpp modified: core/sql/parser/sqlparser.y modified: core/sql/regress/core/EXPECTED038.LINUX modified: core/sql/regress/core/TEST038 modified: docs/messages_guide/src/asciidoc/_chapters/binder_msgs.adoc

  1. … 15 more files in changeset.
[TRAFODION-3135] Remove anachronisms from keyword tables

  1. … 5 more files in changeset.
Merge [TRAFODION-3131] PR 1637 Fix some reserved/non-reserved word issues

[TRAFODION-3131] Fix some reserved and non-reserved word issues

  1. … 4 more files in changeset.
Merge [TRAFODION-3118] PR 1622 EXTRACT enhancements

  1. … 2 more files in changeset.
TRAFODION-3086 DDL on Hive objs: use database and msck support

-- traf "set schema hive.<sch>" now behaves the same as Hive "use <db>".

1) <sch> is validated to exist at set schema time.

2) <sch> is set in Hive environment for that session. Any unqualified

object reference in ddl uses that default schema (database)

-- added support for msck (meta store check) command.

This command repairs database by refreshing untracked files/partitions

in hive metadata.

  1. … 14 more files in changeset.
trafodion-3118 Improve on parts of EXTRACT

  1. … 10 more files in changeset.
TRAFODION-1573: Additional GET commands for privileges TRAFODION-3074: Failed to register/unregister user when security disabled

TRAFODION-1573 changes:

- Added support for the following commands:

get privileges on <object>


- Added support for the FOR CLAUSE on all supported objects

Removed the need to specify keyword 'USER" before username. If USER is

included, then it is ignored.

get privileges on <object> FOR [USER] <user or role name>



- The following get command can only be run by DB__ROOT or a user that has been

granted the DB__ROOTROLE or DB__HIVEROLE role

get <objects> in schema hive.xx.xx;


- The following get command can only be run by DB__ROOT or a user that has been

granted the DB__ROOTROLE or DB__HBASEROLE role

get external hbase objects;

- The following get commands retrieve privilege details from Trafodion metadata;

users can only see objects where they have been granted at least one privilege

get hive registered tables in catalog trafodion;

get hbase registered tables in catalog trafodion;

- get privileges commands now return owner's privileges in output

- Cleaned up code in the parser.

TRAFODION-3074 changes

- register user - fixed query to find next available authID

- unregister user - added checks to not read privilege metadata if authorization

is not enabled

  1. … 17 more files in changeset.
[TRAFODION-2157] add MySQL function unix_timestamp,uuid,sleep

  1. … 15 more files in changeset.
Remove use of new parser token TOK_FILENAME and reuse existing token for TOK_NAME. ../../../sql/optimizer/bre

  1. … 3 more files in changeset.
New syntax to retrieve the LOB HDFS filename for both external and internal LOBs . Also added syntax to return starting offset of a particular LOB handle in the LOB Hdfs data file.

  1. … 15 more files in changeset.
JIRA TRAFODION-2834 Streamline supported xn access modes

traf DTM only supports 'read committed access' for selects

and 'set transaction ' stmts.

With this checkin, only those 2 options will be allowed.

All other access options will return an error.

Read uncommitted access will be treated as read committed.

  1. … 60 more files in changeset.
TRAFODION-2731 CodeCleanup: Phase 4. Remove legacy/obsolete pragmas

  1. … 392 more files in changeset.
TRAFODION-2731 CodeCleanup: Remove obsolete, legacy and unused code

This phase handles the following:

-- removal of code that dealt with:

-- mpalias, NSK, MP, mploc, resource fork, rfork

-- ARLIB, DISK, VOLUME, PFS, compiler version info

-- interpretasrow/IAR, AuditImage, ExtractColumns functions

-- ARKCMP_SINGLE_PROCESS and oneProcess()

-- recompControl, remoteDefaults, rtdu, module

-- latebind thru nsk defines, guardian names, nametype nsk

-- SHADOW implementation


-- older sqlcat ReadTableDef


-- internal cli methods no longer used by any caller

Code within the following defines is removed if it is obsolete

or the define itself is removed if that feature is always on:

-- removed NA_EIDPROC

-- removed SQLEXP_LIB_FUNC

-- removed NA_CMPDLL


-- removed SQ_NEW_PHANDLE

-- removed __EID

-- removed ARKFS_OPEN

-- removed STAND_ALONE

-- removed __TANDEM

-- removed NA_C89

-- removed NA_NSK


-- removed SQLCLI_LIB_FUNC

-- removed CLI_PRIV_SRL

-- removed PRIV_SRL

-- removed NA_LINUX

-- removed NA_HSC_LINUX

-- removed NA_UNIX

-- removed NA_WINNT

-- removed HAVE_MMAP

-- removed NA_NO_C_RUNTIME

-- removed NA_DEBUG_C_RUNTIME(replaced with _DEBUG)

-- removed NA_64BIT usage except in sqlcli.h

-- removed dg64

-- removed SQLEXPORT_LIB

-- removed NA_ARKFS

-- removed NA_IEEE_FLOAT

-- removed NA_GUARDIAN_MSG

-- removed NA_HSC


-- removed ERROR

-- removed ERROR_STATE


Contents of these files have been removed.

Next checkin fill remove the files itself from git:


executor/ExMeas.h, ExMeas.cpp

executor/tempfile.h, .cpp


executor/stubs.cpp, stubs2.cpp


cli/rtdu.h, rtdu2.h, rtdu.cpp, rtdu.cpp












sqlcat/ReadTableDef.h, cpp

sqlcat/readRealArk.h, cpp

  1. … 460 more files in changeset.
[TRAFODION-2603] Remove obsolete utilities and component privileges

  1. … 15 more files in changeset.
JIRA 2485,2540,2582,2591, plus other bug fixes

[TRAFODION-2485] Add support for REVERSE function

(OperTypeEnum.h, exp/*, sqlparser.y,

BindItemExpr.cpp, ItemExpr.cpp, SynthType.cpp,


[TRAFODION-2540] Alter Drop column on table with identity

"generated always" fails

(file CmpSeabaseDDLtable.cpp)

[TRAFODION-2582] "timestamp - timestamp" returns "days" instead of "seconds"

(file: BindItemExpr.cpp)

[TRAFODION-2591] Create index on added column returns incorrect results.

(file generator/GenRelScan.cpp)

Bug: Invalid "set transaction" stmt syntax no longer causes assertion failure

or abend. An error is issued instead.

(file BindRelExpr.cpp)

Bug: Hive inserts with mismatched tgt/src datatypes would sometimes do not

insert or insert incorrect values.

(file GenFastTransport.cpp)

Bug: an error indication is now returned if buildEncodeTree method is

called to encode a "NULL" value for a non-null column.

(file EncodedKeyValue.cpp)

hive/TEST007 now does initialize auth and register user

  1. … 25 more files in changeset.
[TRAFODION-2584] Add support to register hive objects in traf metadata


register hive table/view [if not exists] <object-name> [cascade]

unregister hive table/view [if exists] <object-name> [cascade]

cascade option: register/unregister all underlying objects that are

part of the specified view

update statistics, grant/revoke, traf views or external table creation

on hive objects will automatically and internally register those objects

in trafodion metadata.

invoke/showddl will show if this object is registered and whether

that registration was internal or explicit.

Get command extensions:

get hive registered tables/view/objects in catalog trafodion;

get hive external tables in catalog trafodion;

Cleanup command extensions:

cleanup metadata command will clean up inconsistent hive objects

(underlying hive object is missing but object is registered or

an external table exists)

cleanup [hive table | hive view] on <object-name>;

Existing hive objects that had implicit or explicit external tables

created prior to this checkin will have no change in behavior.

ObjectUID of those external tables will continue to be used for

relevant operations.

One can drop those external tables and explicitly register them,

or a subsequent operation(upd stats, grant, etc) that needs objectUID will

automatically register them.

minor changes based on review comments of previous checkin

get all objects command on hive metadata no longer fails.

get views on objects return 3-part name that could be used to

differentiate between a traf and hive view.

regress/hive/TEST007 has been extended.

TBD: Add register/unregister privileges

  1. … 52 more files in changeset.
TRAFODION-2498 Add support to run hive stmts from traf interface


process hive statement '<string>';

<string>: hive statement starting with create/drop/alter/truncate.

These are the only stmts currently supported.


>>process hive statement 'create database trafsch';

will create hive database 'trafsch'

>>process hive statement 'create table trafsch.t (a int)';

will create hive table 't' in hive schema 'trafsch'.

'process hive statment ..' could be issued from any traf interface


  1. … 24 more files in changeset.
Merge remote branch 'origin/master' into empty_lob_work

  1. … 22 more files in changeset.
Changes to support new syntax and implementation empty_blob/empty_clob for insert/updates Changes to support new syntax for updating a lob directly through a lobhandle without scanning the table.This is done via new ExeUtil operator. Changes to add columnname info to LOBMD_ table. This helps in mapping any given lobhandle back to the table and the column. Added new sections to the regression test executor/TEST130 to test these changes

  1. … 40 more files in changeset.
Merge [TRAFODION-1586] PR-878 Support for external traf tables mapped to native hbase tables

  1. … 10 more files in changeset.
TRAFODION-1586 Add support for external Traf tables mappedd to HBase tables

This is the initial support for HBase mapped tables.

A doc for external manuals will be added later.

regress/seabase/TEST022 contains various testcases.

  1. … 77 more files in changeset.

Add two functions which used to encrypt and decrypt the data using the

official AES (Advanced Encryption Standard) algorithm.

AES_ENCRYPT(str, key_str[, init_vector])

AES_DECRYPT(crypt_str, key_str[, init_vector])

Both these two function have optional init_vector argument which

provides an initalization vector for block encryption modes that

require it. For modes that require the optional init_vector argument, an error

occurs if init_vector is missing. For modes that don't need

init_vector, it will raise a unused argument waring if init_vector is


The new CQD block_encryption_mode controls the mode for


encryption algorithm. The default value is 0, which use


Here is the list for diffferent values for


CQD value algorithm

0 aes-128-ecb

1 aes_192_ecb

2 aes_256_ecb

3 aes_128_cbc

4 aes_192_cbc

5 aes_256_cbc

6 aes_128_cfb1

7 aes_192_cfb1

8 aes_256_cfb1

9 aes_128_cfb8

10 aes_192_cfb8

11 aes_256_cfb8

12 aes_128_cfb128

13 aes_192_cfb128

14 aes_256_cfb128

15 aes_128_ofb

16 aes_192_ofb

17 aes_256_ofb

  1. … 21 more files in changeset.