Skip to content

Commit d9e04aa

Browse files
committed
Some fixes to make tests pass
1 parent 15423ff commit d9e04aa

File tree

3 files changed

+18
-13
lines changed

3 files changed

+18
-13
lines changed

tests/CommandTests.cs

+4-2
Original file line numberDiff line numberDiff line change
@@ -132,7 +132,8 @@ public void NoNameParameterAdd()
132132
[Test]
133133
public void FunctionCallFromSelect()
134134
{
135-
ExecuteNonQuery(@"CREATE OR REPLACE FUNCTION funcB() returns setof data as 'select * from data;' language 'sql';");
135+
ExecuteNonQuery(@"DROP FUNCTION IF EXISTS funcB()");
136+
ExecuteNonQuery(@"CREATE FUNCTION funcB() returns setof data as 'select * from data;' language 'sql';");
136137
var command = new NpgsqlCommand("select * from funcB()", Conn);
137138
var reader = command.ExecuteReader();
138139
Assert.IsNotNull(reader);
@@ -369,7 +370,8 @@ public void FunctionCallWithParametersPrepareReturnSingleValueNpgsqlDbType2_Supp
369370
[Test]
370371
public void FunctionCallReturnResultSet()
371372
{
372-
ExecuteNonQuery(@"CREATE OR REPLACE FUNCTION funcB() returns setof data as 'select * from data;' language 'sql';");
373+
ExecuteNonQuery(@"DROP FUNCTION IF EXISTS funcB()");
374+
ExecuteNonQuery(@"CREATE FUNCTION funcB() returns setof data as 'select * from data;' language 'sql';");
373375
var command = new NpgsqlCommand("funcB()", Conn);
374376
command.CommandType = CommandType.StoredProcedure;
375377
var dr = command.ExecuteReader();

tests/DataReaderTests.cs

+6-3
Original file line numberDiff line numberDiff line change
@@ -625,7 +625,8 @@ public void SingleRowCommandBehaviorSupportFunctioncall()
625625
{
626626
ExecuteNonQuery(@"INSERT INTO data (field_text) VALUES ('X')");
627627
ExecuteNonQuery(@"INSERT INTO data (field_text) VALUES ('Y')");
628-
ExecuteNonQuery(@"CREATE OR REPLACE FUNCTION funcB() returns setof data as '
628+
ExecuteNonQuery(@"DROP FUNCTION IF EXISTS funcB()");
629+
ExecuteNonQuery(@"CREATE FUNCTION funcB() returns setof data as '
629630
select * from data;
630631
' language 'sql';");
631632
var command = new NpgsqlCommand("funcb", Conn);
@@ -647,7 +648,8 @@ public void SingleRowCommandBehaviorSupportFunctioncallPrepare()
647648
// Problem is that prepare plan must already have the limit 1 single row support.
648649
ExecuteNonQuery(@"INSERT INTO data (field_text) VALUES ('X')");
649650
ExecuteNonQuery(@"INSERT INTO data (field_text) VALUES ('Y')");
650-
ExecuteNonQuery(@"CREATE OR REPLACE FUNCTION funcB() returns setof data as '
651+
ExecuteNonQuery(@"DROP FUNCTION IF EXISTS funcB()");
652+
ExecuteNonQuery(@"CREATE FUNCTION funcB() returns setof data as '
651653
select * from data;
652654
' language 'sql';");
653655

@@ -891,7 +893,8 @@ public void SchemaOnlyCommandBehaviorSupport()
891893
[Test]
892894
public void SchemaOnlyCommandBehaviorSupportFunctioncall()
893895
{
894-
ExecuteNonQuery(@"CREATE OR REPLACE FUNCTION funcB() returns setof data as '
896+
ExecuteNonQuery(@"DROP FUNCTION IF EXISTS funcB()");
897+
ExecuteNonQuery(@"CREATE FUNCTION funcB() returns setof data as '
895898
select * from data;
896899
' language 'sql';");
897900
var command = new NpgsqlCommand("funcb", Conn);

tests/FunctionTests.cs

+8-8
Original file line numberDiff line numberDiff line change
@@ -19,15 +19,15 @@ public FunctionTests(string backendVersion) : base(backendVersion) {}
1919
[Test]
2020
public void FunctionInOutParameters()
2121
{
22-
ExecuteNonQuery(@"CREATE OR REPLACE FUNCTION ""SomeFunction""(OUT param1 int, INOUT param2 int) RETURNS record AS
22+
ExecuteNonQuery(@"CREATE FUNCTION func(OUT param1 int, INOUT param2 int) RETURNS record AS
2323
'
2424
BEGIN
2525
param1 = 1;
2626
param2 = param2 + 1;
2727
END;
2828
' LANGUAGE 'plpgsql';");
2929

30-
var cmd = new NpgsqlCommand(@"""SomeFunction""", Conn);
30+
var cmd = new NpgsqlCommand(@"func", Conn);
3131
cmd.CommandType = CommandType.StoredProcedure;
3232

3333
cmd.Parameters.Add(new NpgsqlParameter("param1", DbType.Int32) {
@@ -51,7 +51,7 @@ public void FunctionInOutParameters()
5151
public void DeriveParametersVarious()
5252
{
5353
// This function returns record because of the two Out (InOut & Out) parameters
54-
ExecuteNonQuery(@"CREATE OR REPLACE FUNCTION ""func""(IN param1 INT, OUT param2 text, INOUT param3 INT) RETURNS record AS
54+
ExecuteNonQuery(@"CREATE FUNCTION func(IN param1 INT, OUT param2 text, INOUT param3 INT) RETURNS record AS
5555
'
5656
BEGIN
5757
param2 = ''sometext'';
@@ -78,7 +78,7 @@ public void DeriveParametersVarious()
7878
public void DeriveParametersInOnly()
7979
{
8080
// This function returns record because of the two Out (InOut & Out) parameters
81-
ExecuteNonQuery(@"CREATE OR REPLACE FUNCTION ""func""(IN param1 INT, IN param2 INT) RETURNS int AS
81+
ExecuteNonQuery(@"CREATE FUNCTION func (IN param1 INT, IN param2 INT) RETURNS int AS
8282
'
8383
BEGIN
8484
RETURN param1 + param2;
@@ -100,7 +100,7 @@ public void DeriveParametersInOnly()
100100
public void DeriveParametersNoParams()
101101
{
102102
// This function returns record because of the two Out (InOut & Out) parameters
103-
ExecuteNonQuery(@"CREATE OR REPLACE FUNCTION ""func""() RETURNS int AS
103+
ExecuteNonQuery(@"CREATE FUNCTION func() RETURNS int AS
104104
'
105105
BEGIN
106106
RETURN 4;
@@ -122,9 +122,9 @@ public void Setup()
122122

123123
// Drop all functions in the public schema
124124
const string query =
125-
@"SELECT proname, oidvectortypes(proargtypes)
126-
FROM pg_proc INNER JOIN pg_namespace ns ON pg_proc.pronamespace = ns.oid
127-
WHERE ns.nspname = 'public'";
125+
@"SELECT proname, oidvectortypes(proargtypes)
126+
FROM pg_proc INNER JOIN pg_namespace ns ON pg_proc.pronamespace = ns.oid
127+
WHERE ns.nspname = 'public' AND proname='func'";
128128

129129
var funcs = new Dictionary<string, string>();
130130
using (var cmd = new NpgsqlCommand(query, Conn))

0 commit comments

Comments
 (0)