public override string AlterTableValuedFunction(DataContext sourceDataContext, DataContext targetDataContext, TableValuedFunction tableValuedFunction) { return(sourceDataContext.ContextType != targetDataContext.ContextType ? null : MySqlModuleManager.GetAlterDefinition(tableValuedFunction.Definition)); }
public override string DropTableValuedFunction(DataContext sourceDataContext, DataContext targetDataContext, TableValuedFunction tableValuedFunction) { if (sourceDataContext.ContextType != targetDataContext.ContextType) { return(null); } var builder = new StringBuilder(); builder.Append("DROP FUNCTION "); builder.Append(CreateIdentifier(tableValuedFunction)); return(builder.ToString()); }
public override string CreateTableValuedFunction(DataContext sourceDataContext, DataContext targetDataContext, TableValuedFunction tableValuedFunction) { return(sourceDataContext.ContextType != targetDataContext.ContextType ? null : tableValuedFunction.Definition); }
public void CreateModule( Catalog catalog, IDataRecord reader) { var schemaName = Convert.ToString(reader[SchemaNameOrdinal]); var objectName = Convert.ToString(reader[ObjectNameOrdinal]); var typeDescription = Convert.ToString(reader[TypeDescriptionOrdinal]); var definition = Convert.ToString(reader[DefinitionOrdinal]); var usesAnsiNulls = Convert.ToBoolean(reader[UsesAnsiNullsOrdinal]); var usesQuotedIdentifier = Convert.ToBoolean(reader[UsesQuotedIdentifierOrdinal]); var isDisabled = Convert.ToBoolean(reader[IsDisabledOrdinal]); var isNotForReplication = Convert.ToBoolean(reader[IsNotForReplicationOrdinal]); var triggerForSchema = Convert.ToString(reader[TriggerForSchemaOrdinal]); var triggerForObjectName = Convert.ToString(reader[TriggerForObjectNameOrdinal]); var schema = catalog.Schemas[schemaName]; if (schema == null) { return; } switch (typeDescription) { case "AGGREGATE_FUNCTION": var aggregateFunction = new AggregateFunction { Schema = schema, ObjectName = objectName, Definition = definition, UsesAnsiNulls = usesAnsiNulls, UsesQuotedIdentifier = usesQuotedIdentifier }; schema.AggregateFunctions.Add(aggregateFunction); return; case "SQL_INLINE_TABLE_VALUED_FUNCTION": var inlineTableValuedFunction = new InlineTableValuedFunction { Schema = schema, ObjectName = objectName, Definition = definition, UsesAnsiNulls = usesAnsiNulls, UsesQuotedIdentifier = usesQuotedIdentifier }; schema.InlineTableValuedFunctions.Add(inlineTableValuedFunction); return; case "SQL_SCALAR_FUNCTION": case "FUNCTION": var scalarFunction = new ScalarFunction { Schema = schema, ObjectName = objectName, Definition = definition, UsesAnsiNulls = usesAnsiNulls, UsesQuotedIdentifier = usesQuotedIdentifier }; schema.ScalarFunctions.Add(scalarFunction); return; case "SQL_STORED_PROCEDURE": case "PROCEDURE": var storedProcedure = new StoredProcedure { Schema = schema, ObjectName = objectName, Definition = definition, UsesAnsiNulls = usesAnsiNulls, UsesQuotedIdentifier = usesQuotedIdentifier }; schema.StoredProcedures.Add(storedProcedure); return; case "SQL_TABLE_VALUED_FUNCTION": var tableValuedFunction = new TableValuedFunction { Schema = schema, ObjectName = objectName, Definition = definition, UsesAnsiNulls = usesAnsiNulls, UsesQuotedIdentifier = usesQuotedIdentifier }; schema.TableValuedFunctions.Add(tableValuedFunction); return; case "SQL_TRIGGER": case "TRIGGER": var trigger = new Trigger { Schema = schema, ObjectName = objectName, Definition = definition, UsesAnsiNulls = usesAnsiNulls, UsesQuotedIdentifier = usesQuotedIdentifier, IsDisabled = isDisabled, IsNotForReplication = isNotForReplication, TriggerForSchema = triggerForSchema, TriggerForObjectName = triggerForObjectName }; schema.Triggers.Add(trigger); return; case "VIEW": var view = new View { Schema = schema, ObjectName = objectName, Definition = definition, UsesAnsiNulls = usesAnsiNulls, UsesQuotedIdentifier = usesQuotedIdentifier }; schema.Views.Add(view); return; //case "CLR_SCALAR_FUNCTION": //case "CLR_STORED_PROCEDURE": //case "CLR_TABLE_VALUED_FUNCTION": //case "CLR_TRIGGER": } }
public static DataSyncAction DropTableValuedFunction(DataContext sourceDataContext, DataContext targetDataContext, TableValuedFunction tableValuedFunction) { var builder = new StringBuilder(); builder.Append(StartThe) .Append(tableValuedFunction.Description) .Append(Space) .Append(tableValuedFunction.Namespace) .Append(EndDropped); Func <string> script = () => ContextScriptFactory.DropTableValuedFunction(sourceDataContext, targetDataContext, tableValuedFunction); if (string.IsNullOrEmpty(script.Invoke())) { return(null); } return(new DataSyncAction( tableValuedFunction , tableValuedFunction.Namespace , builder.ToString() , DataSyncOperationType.DropTableValuedFunction , script )); }
public abstract string CreateTableValuedFunction(DataContext sourceDataContext, DataContext targetDataContext, TableValuedFunction tableValuedFunction);