Example #1
0
QString View::getCodeDefinition(unsigned def_type)
{
	QString code_def=getCachedCode(def_type, false);
	if(!code_def.isEmpty()) return(code_def);

	attributes[ParsersAttributes::CTE_EXPRESSION]=cte_expression;
  attributes[ParsersAttributes::MATERIALIZED]=(materialized ? ParsersAttributes::_TRUE_ : QString());
  attributes[ParsersAttributes::RECURSIVE]=(recursive ? ParsersAttributes::_TRUE_ : QString());
  attributes[ParsersAttributes::WITH_NO_DATA]=(with_no_data ? ParsersAttributes::_TRUE_ : QString());
  attributes[ParsersAttributes::COLUMNS]=QString();
  attributes[ParsersAttributes::TAG]=QString();

  setSQLObjectAttribute();

  if(recursive)
    attributes[ParsersAttributes::COLUMNS]=getColumnsList().join(',');

  if(tag && def_type==SchemaParser::XML_DEFINITION)
   attributes[ParsersAttributes::TAG]=tag->getCodeDefinition(def_type, true);

	if(def_type==SchemaParser::SQL_DEFINITION)
		setDeclarationAttribute();
	else
	{
		setPositionAttribute();
		setReferencesAttribute();
	}

  return(BaseObject::__getCodeDefinition(def_type));
}
Example #2
0
QString View::getCodeDefinition(unsigned def_type)
{
	attributes[ParsersAttributes::CTE_EXPRESSION]=cte_expression;

	if(def_type==SchemaParser::SQL_DEFINITION)
		setDeclarationAttribute();
	else
	{
		setPositionAttribute();
		setReferencesAttribute();
	}

	return(BaseObject::__getCodeDefinition(def_type));
}
Example #3
0
QString View::getCodeDefinition(unsigned def_type)
{
	unsigned count, i;

	attributes[ParsersAttributes::CTE_EXPRESSION]=cte_expression;
  attributes[ParsersAttributes::MATERIALIZED]=(materialized ? "1" : "");
  attributes[ParsersAttributes::RECURSIVE]=(recursive ? "1" : "");
  attributes[ParsersAttributes::WITH_NO_DATA]=(with_no_data ? "1" : "");
  attributes[ParsersAttributes::COLUMNS]="";
  attributes[ParsersAttributes::TAG]="";

  if(materialized)
    attributes[ParsersAttributes::SQL_OBJECT]="MATERIALIZED " + BaseObject::getSQLName(OBJ_VIEW);

  if(recursive)
    attributes[ParsersAttributes::COLUMNS]=getColumnsList().join(",");

  if(tag && def_type==SchemaParser::XML_DEFINITION)
   attributes[ParsersAttributes::TAG]=tag->getCodeDefinition(def_type, true);

	if(def_type==SchemaParser::SQL_DEFINITION)
		setDeclarationAttribute();
	else
	{
		setPositionAttribute();
		setReferencesAttribute();
	}

	count=triggers.size();
	for(i=0; i < count; i++)
		attributes[ParsersAttributes::TRIGGERS]+=triggers[i]->getCodeDefinition(def_type);

	count=rules.size();
	for(i=0; i < count; i++)
		attributes[ParsersAttributes::RULES]+=rules[i]->getCodeDefinition(def_type);


	return(BaseObject::__getCodeDefinition(def_type));
}