public void GetProcedureParametersDoesNotRequireSelectFromMySqlProceduresTable() { if (st.Version < new Version(5, 5, 3)) { return; } st.suExecSQL(String.Format("GRANT ALL ON `{0}`.* to 'simpleuser' identified by 'simpleuser'", st.database0)); st.execSQL("DROP PROCEDURE IF EXISTS spTest"); st.execSQL(@"CREATE PROCEDURE spTest(id INT, name VARCHAR(20)) BEGIN SELECT name; END"); string connStr = st.GetConnectionString("simpleuser", "simpleuser", true) + ";use procedure bodies=false"; using (MySqlConnection c = new MySqlConnection(connStr)) { c.Open(); string[] restrictions = new string[4]; restrictions[1] = c.Database; restrictions[2] = "spTest"; #if RT string procTable = "table"; #else DataTable procTable = c.GetSchema("procedures", restrictions); #endif ISSchemaProvider isp = new ISSchemaProvider(c); string[] rest = isp.CleanRestrictions(restrictions); MySqlSchemaCollection parametersTable = isp.GetProcedureParameters(rest, new MySqlSchemaCollection(procTable)); Assert.NotNull(parametersTable); } }
public void GetProcedureParametersDoesNotRequireSelectFromMySqlProceduresTable() { if (_fixture.Version < new Version(5, 5, 3)) { return; } _fixture.execSQL(@"CREATE PROCEDURE spTest(id INT, name VARCHAR(20)) BEGIN SELECT name; END"); MySqlConnectionStringBuilder cb = new MySqlConnectionStringBuilder(_fixture.conn.ConnectionString); cb.CheckParameters = false; using (MySqlConnection c = new MySqlConnection(cb.ConnectionString)) { c.Open(); string[] restrictions = new string[4]; restrictions[1] = c.Database; restrictions[2] = "spTest"; #if RT string procTable = "table"; #else DataTable procTable = c.GetSchema("procedures", restrictions); #endif ISSchemaProvider isp = new ISSchemaProvider(c); string[] rest = isp.CleanRestrictions(restrictions); MySqlSchemaCollection parametersTable = isp.GetProcedureParameters(rest, new MySqlSchemaCollection(procTable)); Assert.NotNull(parametersTable); } }
public void GetProcedureParametersDoesNotRequireSelectFromMySqlProceduresTable() { executeSQL(@"CREATE PROCEDURE spTest(id INT, name VARCHAR(20)) BEGIN SELECT name; END"); MySqlConnectionStringBuilder cb = new MySqlConnectionStringBuilder(Connection.ConnectionString); cb.UseProcedureBodies = false; using (MySqlConnection c = new MySqlConnection(cb.ConnectionString)) { c.Open(); string[] restrictions = new string[4]; restrictions[1] = c.Database; restrictions[2] = "spTest"; DataTable procTable = c.GetSchema("procedures", restrictions); ISSchemaProvider isp = new ISSchemaProvider(c); string[] rest = isp.CleanRestrictions(restrictions); MySqlSchemaCollection parametersTable = isp.GetProcedureParameters(rest, new MySqlSchemaCollection(procTable)); Assert.NotNull(parametersTable); } }