Subscribe to Terdata Developer Exchange - RSS feed for all blogs Latest blog posts
13 Apr 2011

It's been a busy start to 2011 on Teradata Developer Exchange. Let's get going on the recap.

The biggest development is the new-and-improved Teradata Downloads. The legacy Teradata Download Center has been shuttered, and all content moved to This should result in a more useable, comprehensive, timely, reliable and performant download experience. Since we're on the topic of downloads... the newly available Block Level Compression Evaluation Utility can be run against TD 13.10 to select the list of BLC candidate tables and evaluate BLC space and performance impact. Jenny Wang has also written an accompanying article on the BLC Utility. There have been new releases of Teradata Geospatial, JDBC Driver, JMS Universal Connector, SQL Assistant, and Teradata Multi-System Manager. Finally, there's a new procedure for acquiring  TAM for TRS using Oracle GoldenGate.

11 Apr 2011

The Entity Provider for Teradata 13.10 did not support the VIEWS and VIEWCOLUMNS store schemas.  Therefore, views were not accessible when using the EDM Wizard.

Starting with the the 13.11 release of the provider, the VIEWS and VIEWCOLUMNS  store schemas are supported.  However, support must be enabled by adding entries into the application configuration file.   This blog explains the steps that are needed to be performed to enable the support for these store schemas so that views can be specified when using the EDM Wizard.

08 Apr 2011

TdCommandBuilder class, part  of  the .NET Data Provider for Teradata, generates Insert, Update and Delete commands for a Batch Update. But How can you associate a Transaction with CUD commands given that you have no direct control over the Command generation?

14 Mar 2011

The commonly known technique to pass parameters to SQL statements at the system or session level utilizes tables (permanent or global temporary tables).
In this blog post, I'll show better performing techniques for system and user level variables using views and QueryBanding.
These solutions are based on TD13, but can also be used pre-TD13, although performance might be worse.

07 Mar 2011

3D printing hit the cover of The Economist last month.  It is now “officially” having a major impact on business and, as of result, on the required analytics and underlying data warehouse structures to support the analytics

04 Mar 2011

How do you determine the month-end date when building a date dimension?

One of our ETL developers recently pointed out that our date dimension (which I had populated) had incorrect values for month-end date, so I had to find a way to reliably calculate that value.

Goal: For every date in the calendar, determine the date of the last day of that month. Example: for every day in March of 2011, the month-end date is 2011-03-31.

Here is the logic I ended up using:

11 Feb 2011

Problem: How do you add or subtract a "fractional second" to a TIMESTAMP column in Teradata?

The available documentation is not very clear, so let's look into it using examples.

Basic use of INTERVAL

Build, Populate, and Query Test Table

09 Feb 2011

Teradata Parallel Transporter is a really nice tool which offers new capabilities in comparison to the existing "old" TD load utilities. One of many other advantages is the ability to move data without landing it to disk (see this article). There are also other post / blogs which give good introductions to TPT.

But as TPT needs a different scripting syntax it is sometimes not easy to get a start on this great tool. Therefore we developed and attached (zip download) a wrapper-like java tool which should help to get a first impression on the new capabilities without the need to care about TPT syntax.

The main functionality is to copy one table from one system to a second system in a Fastexport to pipe to Fastload style. The tool checks the table DDL, generates the TPT script and execute the needed scripts.

08 Feb 2011

Problem: There are many cases where a database stores the previous value along with the replacement value. When an update happens, it is important to validate that (using CDC terms) the "before image" matches the most-recent "after image". If those don't match, then the chain of updates is broken.

The specific problem being solved here is where the prior value/new value pairs are stored in separate columns in the each row.

Key Prior Value New Value Date
1 A B 2011-02-05
1 B C 2011-02-06
1 C D 2011-02-07
1 D E 2011-02-08

These prior value/new value pairs generally build a chain. But how do you know when that chain is broken? We'll build an example and show the query that flags the records where the chain is broken.

28 Jan 2011

If you are planning on using Priority Scheduler CPU limits to restrict the amount of CPU available to the system after a hardware upgrade, there are two questions you will need to answer up front.

  1. What is the desired percent of the total platform CPU that you want to make available?
  2. What CPU limit setting will achieve that?

After answering those two questions, setting the CPU limit is simple to do.  So let’s focus on the harder part, answering those 2 preparatory questions, starting with how to determine your desired percent of CPU.