Esempio n. 1
0
		internal override List<Trigger> GetVersionTableTriggers(ExtractedTableMap table, VersionField.VersionTypes versionType)
		{
            Type t = Pool.Mapping.GetTypeForVersionTable(table.TableName);
			List<Trigger> ret = new List<Trigger>();
			string tmp = "";
			tmp += "\tINSERT INTO " + table.TableName + "(" + table.Fields[0].FieldName;
			for (int x = 1; x < table.Fields.Count; x++)
			{
				ExtractedFieldMap efm = table.Fields[x];
				tmp += "," + efm.FieldName;
			}
			tmp += ") VALUES(";
			if (table.Fields[0].Type=="DATETIME")
				tmp+="CURRENT_DATE()";
			else
				tmp+="0";
			for (int x = 1; x < table.Fields.Count; x++)
			{
				ExtractedFieldMap efm = table.Fields[x];
				tmp += ",NEW." + efm.FieldName;
			}
			tmp += ");";
			ret.Add(new Trigger(Pool.Translator.GetVersionInsertTriggerName(t,this),
			                    "AFTER INSERT ON " + Pool.Mapping[t].Name+ " FOR EACH ROW",
			                    tmp));
			ret.Add(new Trigger(Pool.Translator.GetVersionUpdateTriggerName(t,this),
			                    "AFTER UPDATE ON " + Pool.Mapping[t].Name+" FOR EACH ROW",
			                    tmp));
			return ret;
		}
Esempio n. 2
0
 public sTable GetVersionTable(Type table,out VersionField.VersionTypes versionType){
     versionType = _versionTypes[table];
     return _versionMaps[table];
 }
		public VersionForeignField(bool NullAble,UpdateDeleteAction OnUpdate,UpdateDeleteAction OnDelete,VersionField.VersionTypes VersionType) : base(NullAble,OnUpdate,OnDelete)
		{
			_versionType = VersionType;
		}
		public VersionForeignField(UpdateDeleteAction OnUpdate,UpdateDeleteAction OnDelete,VersionField.VersionTypes VersionType) : this(true,OnUpdate,OnDelete,VersionType)
		{}
		public VersionForeignField(bool NullAble,VersionField.VersionTypes VersionType) : this(NullAble,UpdateDeleteAction.NO_ACTION,UpdateDeleteAction.NO_ACTION,VersionType)
		{}
		public VersionForeignField(VersionField.VersionTypes VersionType) : this(true,UpdateDeleteAction.NO_ACTION,UpdateDeleteAction.NO_ACTION,VersionType)
		{
		}