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 });
        }
Exemple #2
0
        public IEnumerable <ITreeNode> GetChildren(bool refresh)
        {
            var folder = DataCommanderApplication.Instance.ApplicationData.CurrentType;
            var key    = schema.SchemasNode.Connection.Database + "." + 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 = schema.SchemasNode.Connection.CreateCommand();
                command.CommandText = commandText;
                // TODO
                // 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 IndexeCollectionNode(TableNode tableNode)
 {
     table = tableNode;
 }
Exemple #4
0
 public TriggerCollectionNode(TableNode tableNode)
 {
     _table = tableNode;
 }