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

	attributes[ParsersAttributes::OIDS]=(with_oid ? ParsersAttributes::_TRUE_ : QString());
	attributes[ParsersAttributes::GEN_ALTER_CMDS]=(gen_alter_cmds ? ParsersAttributes::_TRUE_ : QString());
	attributes[ParsersAttributes::UNLOGGED]=(unlogged ? ParsersAttributes::_TRUE_ : QString());
	attributes[ParsersAttributes::COPY_TABLE]=QString();
	attributes[ParsersAttributes::ANCESTOR_TABLE]=QString();
  attributes[ParsersAttributes::TAG]=QString();

	if(def_type==SchemaParser::SQL_DEFINITION && copy_table)
		attributes[ParsersAttributes::COPY_TABLE]=copy_table->getName(true) + copy_op.getSQLDefinition();

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

	(copy_table ? copy_table->getName(true) : QString());

	setColumnsAttribute(def_type);
	setConstraintsAttribute(def_type);
	setAncestorTableAttribute();

	if(def_type==SchemaParser::XML_DEFINITION)
  {
    setRelObjectsIndexesAttribute();
		setPositionAttribute();
  }

	return(BaseObject::__getCodeDefinition(def_type));
}
示例#2
0
QString Table::getCodeDefinition(unsigned def_type)
{
	attributes[ParsersAttributes::OIDS]=(with_oid ? "1" : "");
	attributes[ParsersAttributes::COPY_TABLE]="";

	if(def_type==SchemaParser::SQL_DEFINITION && copy_table)
		attributes[ParsersAttributes::COPY_TABLE]=copy_table->getName(true) + copy_op.getSQLDefinition();

	(copy_table ? copy_table->getName(true) : "");

	setColumnsAttribute(def_type);
	setConstraintsAttribute(def_type);
	setTriggersAttribute(def_type);
	setIndexesAttribute(def_type);
	setRulesAttribute(def_type);

	if(def_type==SchemaParser::XML_DEFINITION)
		setPositionAttribute();

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