Beispiel #1
0
        private void SetViewExists(string name, IGNQueriable queriable, ExistsEnum existsFunc)
        {
            var checkQuery = $"SELECT * FROM `INFORMATION_SCHEMA`.`VIEWS` WHERE `TABLE_SCHEMA` = database() AND `TABLE_NAME` = '{name}'";
            var query      = IGNQueriable.FromQueryString(checkQuery, this.email, this);
            var result     = ReadDataWithParameters(query, new List <IGNParameterValue>());

            IGNQueriable.SetExists(result.Rows.Count > 0, queriable);
            IGNQueriable.SetCanExecute(existsFunc, queriable);
        }
Beispiel #2
0
        private void SetColumnExists(string name, string table, IGNQueriable queriable, ExistsEnum existsFunc)
        {
            var checkQuery = $"SELECT * FROM [INFORMATION_SCHEMA].[COLUMNS] WHERE [TABLE_CATALOG] = DB_NAME() AND [TABLE_NAME] = '{table}' AND [COLUMN_NAME] = '{name}'";
            var query      = IGNQueriable.FromQueryString(checkQuery, this.email, this);
            var result     = ReadDataWithParameters(query, new List <IGNParameterValue>());

            IGNQueriable.SetExists(result.Rows.Count > 0, queriable);
            IGNQueriable.SetCanExecute(existsFunc, queriable);
        }
Beispiel #3
0
        private void SetStoresProcedureExists(string name, IGNQueriable queriable, ExistsEnum existsFunc)
        {
            var checkQuery = $"SELECT * FROM [INFORMATION_SCHEMA].[ROUTINES] WHERE [ROUTINE_NAME] = '{name}'";
            var query      = IGNQueriable.FromQueryString(checkQuery, this.email, this);
            var result     = ReadDataWithParameters(query, new List <IGNParameterValue>());

            IGNQueriable.SetExists(result.Rows.Count > 0, queriable);
            IGNQueriable.SetCanExecute(existsFunc, queriable);
        }
Beispiel #4
0
        private void SetIndexExists(string name, string table, IGNQueriable queriable, ExistsEnum existsFunc)
        {
            var checkQuery = $"SELECT * FROM sysindexes WHERE name='{name}'";
            var query      = IGNQueriable.FromQueryString(checkQuery, this.email, this);
            var result     = ReadDataWithParameters(query, new List <IGNParameterValue>());

            IGNQueriable.SetExists(result.Rows.Count > 0, queriable);
            IGNQueriable.SetCanExecute(existsFunc, queriable);
        }
Beispiel #5
0
        public void CreateViewIfNotExistsQueryShouldGiveCorrectSyntax()
        {
            var dbDriverMock = new Mock <IDataDriver>();

            dbDriverMock.Setup(x => x.Dialect).Returns(Enums.DialectEnum.MSSQL);
            dbDriverMock.Setup(x => x.GoTerminator()).Returns("\nGO");
            var query = IGNQueriable.Begin("*****@*****.**", dbDriverMock.Object).
                        Create().
                        View("dm_test", IGNQueriable.FromQueryString("SELECT * FROM test WHERE name = 'test'", "*****@*****.**", dbDriverMock.Object)).
                        IfNotExists().
                        Go();
            var expected = "CREATE VIEW [dm_test]\nAS \nSELECT * FROM test WHERE name = 'test'  \nGO";

            Assert.AreEqual(expected, query.ToString());
        }