Ejemplo n.º 1
0
        public override string DropInlineTableValuedFunction(DataContext sourceDataContext, DataContext targetDataContext, InlineTableValuedFunction inlineTableValuedFunction)
        {
            if (sourceDataContext.ContextType != targetDataContext.ContextType)
            {
                return(null);
            }

            var builder = new StringBuilder();

            builder.Append("DROP FUNCTION ");
            builder.Append(CreateIdentifier(inlineTableValuedFunction));
            return(builder.ToString());
        }
Ejemplo n.º 2
0
 public override string AlterInlineTableValuedFunction(DataContext sourceDataContext, DataContext targetDataContext, InlineTableValuedFunction inlineTableValuedFunction)
 {
     return(sourceDataContext.ContextType != targetDataContext.ContextType
         ? null
         : MySqlModuleManager.GetAlterDefinition(inlineTableValuedFunction.Definition));
 }
Ejemplo n.º 3
0
 public override string CreateInlineTableValuedFunction(DataContext sourceDataContext, DataContext targetDataContext, InlineTableValuedFunction inlineTableValuedFunction)
 {
     return(sourceDataContext.ContextType != targetDataContext.ContextType
         ? null
         : inlineTableValuedFunction.Definition);
 }
Ejemplo n.º 4
0
        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":
            }
        }
Ejemplo n.º 5
0
        public static DataSyncAction DropInlineTableValuedFunction(DataContext sourceDataContext, DataContext targetDataContext, InlineTableValuedFunction inlineTableValuedFunction)
        {
            var builder = new StringBuilder();

            builder.Append(StartThe)
            .Append(inlineTableValuedFunction.Description)
            .Append(Space)
            .Append(inlineTableValuedFunction.Namespace)
            .Append(EndDropped);
            Func <string> script = () => ContextScriptFactory.DropInlineTableValuedFunction(sourceDataContext, targetDataContext, inlineTableValuedFunction);

            if (string.IsNullOrEmpty(script.Invoke()))
            {
                return(null);
            }
            return(new DataSyncAction(
                       inlineTableValuedFunction
                       , inlineTableValuedFunction.Namespace
                       , builder.ToString()
                       , DataSyncOperationType.DropInlineTableValuedFunction
                       , script
                       ));
        }
Ejemplo n.º 6
0
 public abstract string DropInlineTableValuedFunction(DataContext sourceDataContext, DataContext targetDataContext, InlineTableValuedFunction inlineTableValuedFunction);