/// <summary>
        /// Visits the given <paramref name="executeNativeSqlNode"/>.
        /// </summary>
        /// <param name="executeNativeSqlNode"></param>
        public override void Visit(IExecuteNativeSqlNode executeNativeSqlNode)
        {
            IVersionNode versionNode = TraverseToParent<IVersionNode>(executeNativeSqlNode);

            string resourceName = MigrationMode == MigrationMode.Upgrade ?
                executeNativeSqlNode.UpgradeResource :
                executeNativeSqlNode.DowngradeResource;

            if(string.IsNullOrEmpty(resourceName))
                return;

            string[] nativeSqlResources = MigrationMode == MigrationMode.Upgrade ?
                NativeSqlResourceProvider.GetUpgradeResources(Platform, resourceName, versionNode.Number) :
                NativeSqlResourceProvider.GetDowngradeResources(Platform, resourceName, versionNode.Number);

            if(nativeSqlResources == null || nativeSqlResources.Length == 0)
                return;

            StatementBatchWriter.EndBatch();
            foreach(string nativeSqlResource in nativeSqlResources)
            {
                TextWriter.Write(nativeSqlResource);
                StatementBatchWriter.EndBatch();
            } // foreach

            StatementBatchWriter.EndBatch();
        }
 /// <summary>
 /// Visits the given <paramref name="executeNativeSqlNode"/>.
 /// </summary>
 /// <param name="executeNativeSqlNode"></param>
 public override void Visit(IExecuteNativeSqlNode executeNativeSqlNode)
 {
     Visit(executeNativeSqlNode.ChildNodes);
 }
        /// <summary>
        /// Visits the given <paramref name="executeNativeSqlNode"/>.
        /// </summary>
        /// <param name="executeNativeSqlNode"></param>
        public override void Visit(IExecuteNativeSqlNode executeNativeSqlNode)
        {
            if(executeNativeSqlNode.Properties[MdlSyntax.UpgradeResource] != null)
                executeNativeSqlNode.UpgradeResource =
                    AstNodePropertyUtil.AsString(executeNativeSqlNode.Properties[MdlSyntax.UpgradeResource].Value);

            if(executeNativeSqlNode.Properties[MdlSyntax.DowngradeResource] != null)
                executeNativeSqlNode.DowngradeResource =
                    AstNodePropertyUtil.AsString(executeNativeSqlNode.Properties[MdlSyntax.DowngradeResource].Value);
        }