Clone Tools
Constraints: committers
Constraints: files
Constraints: dates
Merge "Add dependencies and fix build."

Merge "branch-info in SCMBuildStr.h."

Merge "Enable SQL memory overflow check for debug tests"

Bulk unload and snapshot scan

+ adding testware files that were not delivered in t he first checkin

Change-Id: I87c3592cb34a12dc3e30a58c74e45582749b1807

    • -0
    • +24
    • -0
    • +24
    • -0
    • +29
C++ run-time interface for TMUDFs

blueprint cmp-tmudf-compile-time-interface

- Support for C++ run-time interface:

- A new language, C++ is added to langman, the existing

LanguageManagerC handles both C and C++

- Two new parameter styles got added, C++ and Java

object-oriented parameter styles. Routines written in C++

use the new object-oriented C++ parameter style. The compiler

interface is only supported for that style (and in the future

for the Java object-oriented style).

- Also added one more compile time interface, the "completeDescription()"

call in the generator. Added logic to extract the UDRPlanInfo of

the optimal plan.

- Changes to UDRInvocationInfo and UDRPlanInfo classes:

- UDRInvocationInfo and UDRPlanInfo objects can now be serialized

and they are added to generated plans, as part of the UDR TDB.

- Split TableInfo into TupleInfo and TableInfo classes. TupleInfo

is now the common base class for describing both parameters and

input/output tables.

- TypeInfo now has offsets for data, null indicator and varchar


- New get<type> and set<type> methods on class TupleInfo, to be

used at compile time for parameters and at runtime for parameters,

input and output tables.

- Added a "call phase" member, to be able to throw exceptions when

certain methods are called at the wrong time (e.g. trying to modify

compile time members at runtime).

- Routine class in langman now has a new subclass, LmRoutineCppObj

and a new method, invokeRoutineMethod, that is used to invoke

the object-oriented methods, requiring UDRInvocationInfo and

UDRPlanInfo as parameters.

- Fixed some executor issues with error handling for UDFs, this is

still not very well supported

- Emitting the EOD row in the UDF is no longer required, and no longer

supported or even possible.

- UDRPlanInfo is now part of the physical properties, so that we

can extract it from the optimal plan.

- Disabling TMUDF as the inner of a nested join - for now.

We might support this "routine join" at a later time.

- regress/udr/TEST001:

- SESSIONIZE_STATIC remains in C, but other TMUDFs are now

rewritten in C++ (the runtime part that was not yet in C++)

- SESSIONIZE_DYNAMIC is now the same as the example on the wiki

- regress/udr/TEST002: Added some tests for event log reader UDF,

but can't add the part that copies a sample log file, since

in Jenkins, we don't have $MY_SQROOT set. Tried the test on my

workstation, though. Steve tells me $MY_SQROOT should be available,

so in a future checkin I'll enable this code again.

- For patch set 2: Removed fix for LP bug 1420539 and addressed

other review comments.

Change-Id: I008ad68a8f25f1aaee94e1c45bbf097a267129bb

  1. … 59 more files in changeset.
Merge "Fix stubs build."

Specify compiler context when querying natable virtual table interface

select * from table(natablecache('ALL','local')) ;

select * from table(natablecacheentries('meta','local')) ;

select * from table(naroutinecache('user','local')) ;

Following the querycache virtual table interface, now the natable and

naroutine cache virtual table interfaces also support specifying the

name of the context we want to query. The first parameter can be 'all' or

name of context (e.g. 'meta', 'user', 'ustat'). The second parameter

can be local or remote. Parameters are case insensitive.

For remote compiler we only query the context pointed to by activeschemadb.

The column num_entries has been added to natablecache virtual table.

This change can be used to monitor memory growth in these caches.

Patch Set 2:

Address issues found by Dave. Changes in 4 files





Changes cover

A minor leak in in HQCIterator

returning FALSE in NATable/RoutineCacheStats iterator getNext methods

Change-Id: Icf15c93b9ae3c3f523d0abe1580ce7280c5b0d84

  1. … 6 more files in changeset.
Enable SQL memory overflow check for debug tests

This testware changes will turn on the SQL memory overflow checking for

NAMemory allocation while running debug regression tests. For some

regression test suites, this could increase the run time to nearly 20%

while the increased time should be less for rest of test suites.

Plus a note added in the comment section for using the memory allocation

tracing feature.

Change-Id: I2e7e5f6b29fb2f0cee8f3a2928ac67b52c914ad5

    • -6
    • +1
More memory leak Changes

Changes to delete more elements in NATable. LIST or collection type

elements in NATable that collect references are now deleted.

Also removed some defensive code in RMS because it is not valid.

Added code to delete the internal statements when the row

is not found

PatchSet 3 contains the fix for T4 Phoenix test failures

Change-Id: Ib43da75582dd56d2562cb753738abed0ea5842d3

added new DCS Serverna

fixed reported issues:

1. copyright 2015

2. changed tabs to spaces

3. versioning in T2Driver

4. Added detailed description

fixed reported issues.

changed the name of Dcs Serverna to new name Dcs Servermt

changed System.out.println to LOG.debug

changed serverna to servermt in jamon

added property dcs.server.handlers.threads.max. This

property limits number of threads created by Dcs Server.

Default value is 10.

Fixed error in dcs

fixed description of the property

cleanup the code

changed system.out.println to LOG

Change-Id: Ib5b47a5c09171ddd1b1f062fe8e7b26bf31779bd

    • -0
    • +248
    • -0
    • +70
    • -0
    • +349
    • -0
    • +328
    • -0
    • +456
  1. … 45 more files in changeset.
Merge "Fix for more leaks in NATable"

Merge "Change to avoid placing large scan results in RegionServer cache"

TEST checkin-wait for verify-NDCS build fix part-2.

Change-Id: Ieecdb399fc67c9efeb3d59590d28cf79c23b0042

    • -0
    • +23
    • -0
    • +31
branch-info in SCMBuildStr.h.

Change-Id: I7e7ab87686bf6c55e8fc1d752de578b9e45980fb

Merge "Splitting install_local_hadoop into two scripts."

Merge "Fix for SPJ performance:" into stable/1.0

Merge "Added option to disable SQL plan collection for user queries" into stable/1.0

Splitting install_local_hadoop into two scripts.

This makes it possible to call the part that sets up a Hive TPC-DS

database from the Jenkins regression test environment.

Change-Id: If776fb5fb79d62450b7377be1e8a3ee1f23becbd

    • -0
    • +415
    • -311
    • +10
Fix for SPJ performance:

Added code in langman to enable connection pooling for T2 when UDRServer

uses T2.

Change-Id: I038be48925965ae8c1483b71f1bb7104a2868468

Merge "The following Launchpad bugs are fixed in this change:"

    • -35
    • +265
    • -3
    • +31
Merge "Remove code and cqds related to Thrift interface"

memory leak and salted partitions set up fix

change ported from master branch. LP 1418685

Change-Id: I540c6ecda4d44f4ee6112c05cc144061cb50a66e

Merge "T2Driver - more minor fixes"

Fix LP bug 1323865 -ODBC api test fails with Unknown PCode instruction

During PCODE generation, we were attempting to generate a PCODE

instruction to compare two operands for equality. The two operands

had a data type of REC_BYTE_V_ASCII_LONG which is used only by

ODBC. PCIT::getMemoryAddressingMode() does not currently know how

to handle that datatype so it returned AM_NONE for the operand

type. That resulted in a failure later.

Fix was to detect the operand(s) of that datatype and call

ex_clause::pCodeGenerate(...) rather than doing PCODE generation

of the current expression.

Note: Also found a line saying

return ex_clause::pCodeGenerate(space, f);

which has been missing for a long time. We got away with it

because the preceding 'if' was always false for Trafodion.

Files changed:


Change-Id: I441f5b57fb1b5a67f4e4872d308efe0af5d320db

Fix stubs build.

Change-Id: Ie63538c6a422454408ea584dcc4529460dbf5659

Remove code and cqds related to Thrift interface

ExpHbaseInterface_Thrift class was removed a few months ago. Completing

that cleanup work. exp/Hbase_types.{cpp,h} still remain. These are Thrift

generated files but we use the structs/classes generated for JNI access.

Change-Id: I7bc2ead6cc8d6025fb38f86fbdf7ed452807c445

  1. … 5 more files in changeset.
Change to avoid placing large scan results in RegionServer cache

By default the result of every Scan and Get request to HBase is placed in

the RegionServer cache. When a scan returns a lot of rows this can lead to

cache thrashing, causing results which are being shared by other queries

to be flushed out. This change uses cardinality estimates and hbase row size

estimates along with the configured size of region server cache size to

determine when such thrashing may occur. Heap size for region server is

specified through a cqd HBASE_REGION_SERVER_MAX_HEAP_SIZE. The units are in MB.

The fraction of this heap allocated to block cache is read from the config

file once per session through a lightweight (no disk access) JNI call. The

hueristic used is approximate as it does not consider total number of region

servers or that sometimes a scan may be concentrated in one or a few region

servers. We simply do not place rows in RS cache, if the memory used by all

rows in a scan will exceed the cache in a single RS. Change can be overridden

with cqd HBASE_CACHE_BLOCKS 'ON'. The default is now SYSTEM. Change applies

to both count(*) coproc plans and regular scans.

Change-Id: I0afc8da44df981c1dffa3a77fb3efe2f806c3af1

  1. … 6 more files in changeset.
Merge "Added option to disable SQL plan collection for user queries"

T2Driver - more minor fixes

Change-Id: I6f9ea31172e428a18be77ee87df6da8212847b56

    • -1
    • +1
LP and other fixes.

-- LP 1414074. Added 'cleanup obsolete volatile tables' command

-- Added support for 'get all volatile tables' command

-- LP 1411864. Alter Sequence now correctly returns an error if value

specified exceeds the max value

-- LP 1413743. Error indicating sequence number max is reached is now

being returned instead of a numeric overflow error ff max largeint value

is reached while generating sequence numbers.

-- LP 1418685. Partition information is now being set up correctly for

delimited salted tables.

-- changed copyright message

Change-Id: Ic9e532204890a68ea0616b99a3170a0cc735ad53

Signed-off-by: Anoop Sharma <>

    • -386
    • +51