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)); }
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)); }
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)); }