Example Code for CMetaFilterInfo - Teradata Meta Data Services

Teradata Meta Data Services Programmer Guide

Product
Teradata Meta Data Services
Release Number
15.00
Language
English (United States)
Last Update
2018-09-28
Product Category
Teradata Tools and Utilities

Example Code for CMetaFilterInfo

CMetaFilterInfo filterInfo;    // one property filter entry
MetaFilterInfoVector propFilter;  // property filter list
CMetaObject obj;
CMetaObjectVector objectList;
 
PrintHeader(23.02,
	"Ok: get all Autos (by class loid, PID) w/ DesignDate =      '1997-03-30'");
CLEARVECTOR(propFilter);  filterInfo.Initialize();
filterInfo.Filter.SetPropertyID(3);
filterInfo.Filter.SetString(_TEXT("1997-03-30"));  
filterInfo.SetComparisonOperator(EQUAL);
propFilter.push_back(filterInfo);
result = obj.GetClassObjectsByProperty(objectList, propFilter, NULLGUID, lClassID);
 
PrintHeader(23.03,
	"Ok: get all Autos (by class GUID, PID) w/ BasePrice <      15480");
CLEARVECTOR(propFilter);  filterInfo.Initialize();
filterInfo. Filter.SetPropertyID(2);
filterInfo. Filter.SetShort(15480);  
filterInfo.SetComparisonOperator(LESS_THAN);
propFilter.push_back(filterInfo);
result = obj.GetClassObjectsByProperty(objectList, propFilter,
	NULLGUID, lClassID);
 
// Composition showing AND binds tighter than OR. If the OR were //evaluated first, the result set would not contain the Avalon, //but since the AND is evaluated first, it does.
PrintHeader(23.20,
	"Ok: get Autos w/ CarId = '1013abff'XBF OR Review = 'tbd'" \
	" AND DesignDate >= '1997-08-01'");
 
CLEARVECTOR(propFilter);  filterInfo.Initialize();
filterInfo.Filter.SetName(_TEXT("CarId"));
filterInfo.Filter.SetBinary(avalonId, 4);  
filterInfo.SetComparisonOperator(EQUAL);
 
filterInfo.SetLogicalOperator(META_OR);
propFilter.push_back(filterInfo);
 
filterInfo.Initialize();
filterInfo.Filter.SetName(_TEXT("Review"));
filterInfo.Filter.SetString(_TEXT("tbd"));  
filterInfo.SetComparisonOperator(EQUAL);
 
filterInfo.SetLogicalOperator(META_AND);
propFilter.push_back(filterInfo);
 
filterInfo.Initialize();
filterInfo.Filter.SetName(_TEXT("DesignDate"));
filterInfo.Filter.SetString(_TEXT("1997-08-01"));  
filterInfo.SetComparisonOperator(GREATER_THAN_OR_EQUAL);
propFilter.push_back(filterInfo);
 
result = obj.GetClassObjectsByProperty(objectList, propFilter,
NULLGUID, lClassID);