From 038ba7277d930085edbda24b9025cf6d6aedc935 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BE=90=E9=B2=B2=E9=B9=8F?= Date: Fri, 23 Oct 2020 15:21:32 +0800 Subject: [PATCH 1/4] =?UTF-8?q?=E5=88=A0=E9=99=A4create=20function?= =?UTF-8?q?=E4=B8=AD=E5=AF=B9serial=E7=B1=BB=E5=9E=8B=E7=9A=84=E5=88=A4?= =?UTF-8?q?=E6=96=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../optimizer/commands/functioncmds.cpp | 38 ------------------- 1 file changed, 38 deletions(-) diff --git a/src/gausskernel/optimizer/commands/functioncmds.cpp b/src/gausskernel/optimizer/commands/functioncmds.cpp index f977a725c..5f37e8ab4 100755 --- a/src/gausskernel/optimizer/commands/functioncmds.cpp +++ b/src/gausskernel/optimizer/commands/functioncmds.cpp @@ -98,40 +98,6 @@ static const int PRO_RETURN_SET_COST = 1000; * validator, so as not to produce a NOTICE and then an ERROR for the same * condition.) */ -static void CheckIsSerialType(TypeName* t) -{ - bool isSerial = false; - /* Check for SERIAL pseudo-types */ - if (t && list_length(t->names) == 1 && t->pct_type == false) { - char* typname = strVal(linitial(t->names)); - - if (strcmp(typname, "smallserial") == 0 || strcmp(typname, "serial2") == 0) { - isSerial = true; - t->names = NIL; - t->typeOid = INT2OID; - } else if (strcmp(typname, "serial") == 0 || strcmp(typname, "serial4") == 0) { - isSerial = true; - t->names = NIL; - t->typeOid = INT4OID; - } else if (strcmp(typname, "bigserial") == 0 || strcmp(typname, "serial8") == 0) { - isSerial = true; - t->names = NIL; - t->typeOid = INT8OID; - } - - if (isSerial && t->arrayBounds != NIL) { - /* - * We have to reject "serial[]" explicitly, because once we've set - * typeid, LookupTypeName won't notice arrayBounds. We don't need any - * special coding for serial(typmod) though. - */ - ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("array of serial is not implemented"))); - } - } -} - static void compute_return_type( TypeName* returnType, Oid languageOid, Oid* prorettype_p, bool* returnsSet_p, bool fenced) { @@ -145,8 +111,6 @@ static void compute_return_type( */ bool isalter = false; - CheckIsSerialType(returnType); - typtup = LookupTypeName(NULL, returnType, NULL); /* * If the type is relation, then we check @@ -285,8 +249,6 @@ static void examine_parameter_list(List* parameters, Oid languageOid, const char Type typtup; AclResult aclresult; - CheckIsSerialType(t); - typtup = LookupTypeName(NULL, t, NULL); /* * If the type is relation, then we check From 2a73923e35c1c7fbd841125f5e14c35381a3d18f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BE=90=E9=B2=B2=E9=B9=8F?= Date: Fri, 23 Oct 2020 15:22:02 +0800 Subject: [PATCH 2/4] =?UTF-8?q?=E5=88=A0=E9=99=A4=E6=96=87=E4=BB=B6=20src/?= =?UTF-8?q?test/regress/expected/test=5Fserial.out?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/test/regress/expected/test_serial.out | 62 ----------------------- 1 file changed, 62 deletions(-) delete mode 100644 src/test/regress/expected/test_serial.out diff --git a/src/test/regress/expected/test_serial.out b/src/test/regress/expected/test_serial.out deleted file mode 100644 index d6bd790bc..000000000 --- a/src/test/regress/expected/test_serial.out +++ /dev/null @@ -1,62 +0,0 @@ --- --- testserial --- -create table tbl_small_serial(a smallserial, b varchar(2)); -NOTICE: CREATE TABLE will create implicit sequence "tbl_small_serial_a_seq" for serial column "tbl_small_serial.a" - -insert into tbl_small_serial(b) values ('aa'); - -create table tbl_serial(a serial, b varchar(2)); -NOTICE: CREATE TABLE will create implicit sequence "tbl_serial_a_seq" for serial column "tbl_serial.a" - -insert into tbl_serial(b) values ('bb'); - -create table tbl_big_serial(a bigserial, b varchar(2)); -NOTICE: CREATE TABLE will create implicit sequence "tbl_big_serial_a_seq" for serial column "tbl_big_serial.a" - -insert into tbl_big_serial(b) values ('cc'); - -CREATE FUNCTION h_testfun6 (c_SMALLSERIAL SMALLSERIAL) RETURNS SMALLSERIAL AS $$ - BEGIN - RETURN c_SMALLSERIAL; - END; -$$ LANGUAGE plpgsql; -CREATE FUNCTION h_testfun7 (c_SERIAL SERIAL) RETURNS SERIAL AS $$ - BEGIN - RETURN c_SERIAL ; - END; -$$ LANGUAGE plpgsql; -CREATE FUNCTION h_testfun8 (c_BIGSERIAL BIGSERIAL) RETURNS BIGSERIAL AS $$ - BEGIN - RETURN c_BIGSERIAL ; - END; -$$ LANGUAGE plpgsql; - -SELECT h_testfun6((SELECT a from tbl_small_serial)); - h_testfun6 ------------- - 1 -(1 row) - - -SELECT h_testfun7((SELECT a from tbl_serial)); - h_testfun7 ------------- - 1 -(1 row) - - -SELECT h_testfun8((SELECT a from tbl_big_serial)); - h_testfun8 ------------- - 1 -(1 row) - - -drop table tbl_small_serial; -drop table tbl_serial; -drop table tbl_big_serial; - -drop function h_testfun6; -drop function h_testfun7; -drop function h_testfun8; From 50a19e8e489123a772bf7fd144bbd857026ea799 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BE=90=E9=B2=B2=E9=B9=8F?= Date: Fri, 23 Oct 2020 15:22:21 +0800 Subject: [PATCH 3/4] =?UTF-8?q?=E5=88=A0=E9=99=A4=E6=96=87=E4=BB=B6=20src/?= =?UTF-8?q?test/regress/sql/test=5Fserial.sql?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/test/regress/sql/test_serial.sql | 44 ---------------------------- 1 file changed, 44 deletions(-) delete mode 100644 src/test/regress/sql/test_serial.sql diff --git a/src/test/regress/sql/test_serial.sql b/src/test/regress/sql/test_serial.sql deleted file mode 100644 index 568d25121..000000000 --- a/src/test/regress/sql/test_serial.sql +++ /dev/null @@ -1,44 +0,0 @@ --- --- testserial --- -create table tbl_small_serial(a smallserial, b varchar(2)); - -insert into tbl_small_serial(b) values ('aa'); - -create table tbl_serial(a serial, b varchar(2)); - -insert into tbl_serial(b) values ('bb'); - -create table tbl_big_serial(a bigserial, b varchar(2)); - -insert into tbl_big_serial(b) values ('cc'); - -CREATE FUNCTION h_testfun6 (c_SMALLSERIAL SMALLSERIAL) RETURNS SMALLSERIAL AS $$ - BEGIN - RETURN c_SMALLSERIAL ; - END; -$$ LANGUAGE plpgsql; -CREATE FUNCTION h_testfun7 (c_SERIAL SERIAL) RETURNS SERIAL AS $$ - BEGIN - RETURN c_SERIAL ; - END; -$$ LANGUAGE plpgsql; -CREATE FUNCTION h_testfun8 (c_BIGSERIAL BIGSERIAL) RETURNS BIGSERIAL AS $$ - BEGIN - RETURN c_BIGSERIAL ; - END; -$$ LANGUAGE plpgsql; - -SELECT h_testfun6((SELECT a from tbl_small_serial)); - -SELECT h_testfun7((SELECT a from tbl_serial)); - -SELECT h_testfun8((SELECT a from tbl_big_serial)); - -drop table tbl_small_serial; -drop table tbl_serial; -drop table tbl_big_serial; - -drop function h_testfun6; -drop function h_testfun7; -drop function h_testfun8; \ No newline at end of file From d300a9afd7d76163a4cdbcb3d5cf3ba4108cecb9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BE=90=E9=B2=B2=E9=B9=8F?= Date: Fri, 23 Oct 2020 15:23:04 +0800 Subject: [PATCH 4/4] =?UTF-8?q?=E5=88=A0=E9=99=A4test=5Fserial=E7=94=A8?= =?UTF-8?q?=E4=BE=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/test/regress/parallel_schedule | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/test/regress/parallel_schedule b/src/test/regress/parallel_schedule index 8989683f4..789e55a56 100644 --- a/src/test/regress/parallel_schedule +++ b/src/test/regress/parallel_schedule @@ -526,9 +526,6 @@ test: vec_sonic_hashjoin_number_prepare test: vec_sonic_hashjoin_number_nospill #test: hw_pwd_complexity -# test serial function -test: test_serial - test: timeout test: dml #test: iud