Esempio n. 1
0
        IEnumerable <ITreeNode> ITreeNode.GetChildren(bool refresh)
        {
            var commandText =
                $@"
select	s.TABLE_OWNER,
	s.TABLE_NAME
from	SYS.ALL_SYNONYMS s
where	s.OWNER			= '{_schema.Name}'
	and s.SYNONYM_NAME	= '{_name}'"        ;
            var executor   = _schema.SchemasNode.Connection.CreateCommandExecutor();
            var dataTable  = executor.ExecuteDataTable(new ExecuteReaderRequest(commandText));
            var dataRow    = dataTable.Rows[0];
            var schemaName = (string)dataRow["TABLE_OWNER"];
            var schemaNode = new SchemaNode(_schema.SchemasNode, schemaName);
            var tableNode  = new TableNode(schemaNode, (string)dataRow["TABLE_NAME"], true);

            return(new ITreeNode[] { tableNode });
        }
        public IEnumerable <ITreeNode> GetChildren(bool refresh)
        {
            var folder = DataCommanderApplication.Instance.ApplicationData.CurrentType;
            var key    = _schema.SchemasNode.Connection.DataSource + "." + _schema.Name;

            string[] tables;
            var      contains = folder.Attributes.TryGetAttributeValue(key, out tables);

            if (!contains || refresh)
            {
                var commandText = "select table_name from all_tables where owner = '{0}' order by table_name";
                commandText = string.Format(commandText, _schema.Name);

                var command = new OracleCommand(commandText, _schema.SchemasNode.Connection);
                command.FetchSize = 256 * 1024;
                var dataTable = command.ExecuteDataTable(CancellationToken.None);
                var count     = dataTable.Rows.Count;
                tables = new string[count];

                for (var i = 0; i < count; i++)
                {
                    var name = (string)dataTable.Rows[i][0];
                    tables[i] = name;
                }

                folder.Attributes.SetAttributeValue(key, tables);
            }

            var treeNodes = new ITreeNode[tables.Length];

            for (var i = 0; i < tables.Length; i++)
            {
                treeNodes[i] = new TableNode(_schema, tables[i], false);
            }

            return(treeNodes);
        }
 public TriggerCollectionNode(TableNode tableNode)
 {
     _table = tableNode;
 }
 public IndexeCollectionNode(TableNode tableNode)
 {
     _table = tableNode;
 }