public ProcedureData GetProcedure(string procName, ObjectData columnTemplate)
        {
            var procTemplate = new ProcedureData(columnTemplate.TableName, procName);

            try
            {
                var list = GetProcedureParams(columnTemplate.TableName, procName, DatabaseUserId);
                foreach (var parameter in list.FindAll(p => p.InOut == "IN"))
                {
                    var match = columnTemplate.Find(t => t.ColumnName.Equals(parameter.ColumnName));
                    if (match != null)
                    {
                        procTemplate.Add(parameter);
                    }
                }

                procTemplate.OutParam = list.FirstOrDefault(p => p.InOut == "OUT");
            }
            catch (Exception ex)
            {
                throw new ProcedureMetadataRetrievalException(ex, columnTemplate.TableName, procName);
            }

            return(procTemplate);
        }
 public void LoadDatabaseData(ProcedureData data)
 {
     Host     = data.Host;
     DbName   = data.Name;
     Password = data.Password;
     User     = data.User;
 }
Exemple #3
0
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#:
//ORIGINAL LINE: private void verifyProcedureCloseAllAcquiredKernelStatements(ProcedureData proc) throws java.util.concurrent.ExecutionException, InterruptedException
        private void VerifyProcedureCloseAllAcquiredKernelStatements(ProcedureData proc)
        {
            if (proc.Skip)
            {
                return;
            }
            string failureMessage = "Failed on procedure " + proc.Name;

            using (Transaction outer = Db.beginTx())
            {
                string procedureQuery = proc.BuildProcedureQuery();
                Exhaust(Db.execute(procedureQuery)).close();
                Exhaust(Db.execute("MATCH (mo:Label) WHERE mo.prop = 'n/a' RETURN mo")).close();
                ExecuteInOtherThread("CREATE(mo:Label) SET mo.prop = 'val' RETURN mo");
                Result result = Db.execute("MATCH (mo:Label) WHERE mo.prop = 'val' RETURN mo");
//JAVA TO C# CONVERTER TODO TASK: Java iterators are only converted within the context of 'while' and 'for' loops:
                assertTrue(failureMessage, result.HasNext());
//JAVA TO C# CONVERTER TODO TASK: Java iterators are only converted within the context of 'while' and 'for' loops:
                IDictionary <string, object> next = result.Next();
                assertNotNull(failureMessage, next["mo"]);
                Exhaust(result);
                result.Close();
                outer.Success();
            }
        }
 public DatabaseEditTabViewModel(ITabController controller, ProcedureData procedureData) : base(controller)
 {
     Procedure = procedureData;
     CheckConnectionCommand = new ActionCommand(CheckDbConenction);
     CloseHandler           = new ActionCommand(CloseAction);
     Name = "Database";
     SelectedDatabaseName = procedureData.Name;
 }
 public void WriteCommandParameters(ProcedureData procTemplate)
 {
     foreach (var p in procTemplate)
     {
         var parameter = (ProcedureParameter)p;
         PushIndent("\t\t\t");
         WriteLine("cmd.AddParameter(DbType.{0}, \"{1}\", ent.{2});",
                   parameter.Type.Name,
                   parameter.ParameterName,
                   parameter.PropertyName);
         PopIndent();
     }
 }
Exemple #6
0
        private void createProcedure_Click(object sender, EventArgs e)
        {
            var procedureHelper = new ProcedureData(Nametxt.Text, varsTxt.Text,
                                                    scriptTb.Text);
            var sql = tManager.CreateQuery(procedureHelper);

            try
            {
                connection.ExecuteCommand(sql, new string[] { });
            }
            catch (SqlException error)
            {
                MessageBox.Show(error.Message);
                return;
            }

            MessageBox.Show("Query Executed Correctly!");
        }
Exemple #7
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void allProcedures() throws Exception
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#:
        public virtual void AllProcedures()
        {
            // when
            CreateIndex();
            CreateExplicitIndex();
            CreateFulltextIndexes();
            foreach (ProcedureSignature procedure in Db.DependencyResolver.resolveDependency(typeof(Procedures)).AllProcedures)
            {
                // then
                InitialData();
                ProcedureData procedureData = null;
                try
                {
                    procedureData = ProcedureDataFor(procedure);
                    VerifyProcedureCloseAllAcquiredKernelStatements(procedureData);
                }
                catch (Exception e)
                {
                    throw new Exception("Failed on procedure: \"" + procedureData + "\"", e);
                }
                ClearDb();
            }
        }
Exemple #8
0
        private ProcedureData ProcedureDataFor(ProcedureSignature procedure)
        {
            ProcedureData proc = new ProcedureData(procedure);

            switch (proc.Name)
            {
            case "db.createProperty":
                proc.WithParam("'propKey'");
                break;

            case "db.resampleIndex":
                proc.WithParam("'" + _indexDefinition + "'");
                break;

            case "db.createRelationshipType":
                proc.WithParam("'RelType'");
                break;

            case "dbms.queryJmx":
                proc.WithParam("'*:*'");
                break;

            case "db.awaitIndex":
                proc.WithParam("'" + _indexDefinition + "'");
                proc.WithParam(100);
                break;

            case "db.createLabel":
                proc.WithParam("'OtherLabel'");
                break;

            case "dbms.killQuery":
                proc.WithParam("'query-1234'");
                break;

            case "dbms.killQueries":
                proc.WithParam("['query-1234']");
                break;

            case "dbms.killConnection":
                proc.WithParam("'bolt-1234'");
                break;

            case "dbms.killConnections":
                proc.WithParam("['bolt-1234']");
                break;

            case "dbms.setTXMetaData":
                proc.WithParam("{realUser:'******'}");
                break;

            case "dbms.listActiveLocks":
                proc.WithParam("'query-1234'");
                break;

            case "db.index.explicit.seekNodes":
                proc.WithParam("'" + _explicitIndexName + "'");
                proc.WithParam("'noKey'");
                proc.WithParam("'noValue'");
                break;

            case "db.index.explicit.searchNodes":
                proc.WithParam("'" + _explicitIndexName + "'");
                proc.WithParam("'noKey:foo*'");
                break;

            case "db.index.explicit.searchRelationships":
                proc.WithParam("'" + _relExplicitIndexName + "'");
                proc.WithParam("'noKey:foo*'");
                break;

            case "db.index.explicit.searchRelationshipsIn":
                proc.WithParam("'" + _relExplicitIndexName + "'");

                proc.WithParam("n");
                proc.WithParam("'noKey:foo*'");
                proc.WithSetup("OPTIONAL MATCH (n) WITH n LIMIT 1", "YIELD relationship AS r RETURN r");
                break;

            case "db.index.explicit.searchRelationshipsOut":
                proc.WithParam("'" + _relExplicitIndexName + "'");
                proc.WithParam("n");
                proc.WithParam("'noKey:foo*'");
                proc.WithSetup("OPTIONAL MATCH (n) WITH n LIMIT 1", "YIELD relationship AS r RETURN r");
                break;

            case "db.index.explicit.searchRelationshipsBetween":
                proc.WithParam("'" + _relExplicitIndexName + "'");
                proc.WithParam("n");
                proc.WithParam("n");
                proc.WithParam("'noKey:foo*'");
                proc.WithSetup("OPTIONAL MATCH (n) WITH n LIMIT 1", "YIELD relationship AS r RETURN r");
                break;

            case "db.index.explicit.seekRelationships":
                proc.WithParam("'" + _relExplicitIndexName + "'");
                proc.WithParam("'noKey'");
                proc.WithParam("'noValue'");
                break;

            case "db.index.explicit.auto.seekNodes":
                proc.WithParam("'noKey'");
                proc.WithParam("'noValue'");
                break;

            case "db.index.explicit.auto.searchNodes":
                proc.WithParam("'noKey:foo*'");
                break;

            case "db.index.explicit.auto.searchRelationships":
                proc.WithParam("'noKey:foo*'");
                break;

            case "db.index.explicit.auto.seekRelationships":
                proc.WithParam("'noKey'");
                proc.WithParam("'noValue'");
                break;

            case "db.index.explicit.existsForNodes":
                proc.WithParam("'" + _explicitIndexName + "'");
                break;

            case "db.index.explicit.existsForRelationships":
                proc.WithParam("'" + _explicitIndexName + "'");
                break;

            case "db.index.explicit.forNodes":
                proc.WithParam("'" + _explicitIndexName + "'");
                break;

            case "db.index.explicit.forRelationships":
                proc.WithParam("'" + _explicitIndexName + "'");
                break;

            case "db.index.explicit.addNode":
                proc.WithParam("'" + _explicitIndexName + "'");
                proc.WithParam("n");
                proc.WithParam("'prop'");
                proc.WithParam("'value'");
                proc.WithSetup("OPTIONAL MATCH (n) WITH n LIMIT 1", "YIELD success RETURN success");
                break;

            case "db.index.explicit.addRelationship":
                proc.WithParam("'" + _explicitIndexName + "'");
                proc.WithParam("r");
                proc.WithParam("'prop'");
                proc.WithParam("'value'");
                proc.WithSetup("OPTIONAL MATCH ()-[r]->() WITH r LIMIT 1", "YIELD success RETURN success");
                break;

            case "db.index.explicit.removeNode":
                proc.WithParam("'" + _explicitIndexName + "'");
                proc.WithParam("n");
                proc.WithParam("'prop'");
                proc.WithSetup("OPTIONAL MATCH (n) WITH n LIMIT 1", "YIELD success RETURN success");
                break;

            case "db.index.explicit.removeRelationship":
                proc.WithParam("'" + _explicitIndexName + "'");
                proc.WithParam("r");
                proc.WithParam("'prop'");
                proc.WithSetup("OPTIONAL MATCH ()-[r]->() WITH r LIMIT 1", "YIELD success RETURN success");
                break;

            case "db.index.explicit.drop":
                proc.WithParam("'" + _explicitIndexName + "'");
                break;

            case "dbms.setConfigValue":
                proc.WithParam("'dbms.logs.query.enabled'");
                proc.WithParam("'false'");
                break;

            case "db.createIndex":
                proc.WithParam("':Person(name)'");
                proc.WithParam("'lucene+native-2.0'");
                break;

            case "db.createNodeKey":
                // Grabs schema lock an so can not execute concurrently with node creation
                proc.Skip = true;
                break;

            case "db.createUniquePropertyConstraint":
                // Grabs schema lock an so can not execute concurrently with node creation
                proc.Skip = true;
                break;

            case "db.index.fulltext.awaitIndex":
                proc.WithParam(_ftsNodesIndex);
                proc.WithParam(100);
                break;

            case "db.index.fulltext.queryNodes":
                proc.WithParam(_ftsNodesIndex);
                proc.WithParam("'value'");
                break;

            case "db.index.fulltext.queryRelationships":
                proc.WithParam(_ftsRelsIndex);
                proc.WithParam("'value'");
                break;

            case "db.index.fulltext.drop":
                proc.WithParam(_ftsRelsIndex);
                break;

            case "db.stats.retrieveAllAnonymized":
                proc.WithParam("'myToken'");
                break;

            case "db.stats.retrieve":
                proc.WithParam("'GRAPH COUNTS'");
                break;

            case "db.stats.stop":
                proc.WithParam("'QUERIES'");
                break;

            case "db.stats.clear":
                proc.WithParam("'QUERIES'");
                break;

            case "db.stats.collect":
                proc.WithParam("'QUERIES'");
                break;

            case "db.index.fulltext.createRelationshipIndex":
                // Grabs schema lock an so can not execute concurrently with node creation
                proc.Skip = true;
                break;

            case "db.index.fulltext.createNodeIndex":
                // Grabs schema lock an so can not execute concurrently with node creation
                proc.Skip = true;
                break;

            default:
                break;
            }
            return(proc);
        }