Skip to content

Commit

Permalink
Merge remote-tracking branch 'upstream/feature/plcsql-p1n' into plcsq…
Browse files Browse the repository at this point in the history
…l-p1n-CBRD-25730
  • Loading branch information
jongmin-won committed Dec 10, 2024
2 parents 048451e + e36c8ef commit ab6ee05
Show file tree
Hide file tree
Showing 21 changed files with 451 additions and 116 deletions.
6 changes: 3 additions & 3 deletions .github/workflows/check.yml
Original file line number Diff line number Diff line change
Expand Up @@ -99,15 +99,15 @@ jobs:
sudo apt-get -yq install astyle
# indent 2.2.11, the lastest version (2.2.12) make a different result
wget https://ftp.gnu.org/gnu/indent/indent-2.2.11.tar.gz
wget https://github.com/CUBRID/3rdparty/raw/develop/indent/indent-2.2.11.tar.gz
tar xf indent-2.2.11.tar.gz
cd indent-2.2.11
./configure
sudo make -j install
cd ..
# download google-java-format-1.7-all-deps.jar
wget https://github.com/google/google-java-format/releases/download/google-java-format-1.7/google-java-format-1.7-all-deps.jar
wget https://github.com/CUBRID/3rdparty/raw/develop/google-java-format/google-java-format-1.7-all-deps.jar
working-directory: ${{ env.working-directory }}
- uses: actions/setup-java@v3
with:
Expand Down Expand Up @@ -140,7 +140,7 @@ jobs:
# Download cppcheck-2.4.1 source
wd=`pwd`
cd ..
wget https://github.com/danmar/cppcheck/archive/2.4.1.tar.gz
wget https://github.com/CUBRID/3rdparty/raw/develop/cppcheck/2.4.1.tar.gz
tar xf 2.4.1.tar.gz
# build cppcheck-2.4.1
Expand Down
47 changes: 39 additions & 8 deletions 3rdparty/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -15,15 +15,39 @@
# limitations under the License.
#

set(WITH_FLEX_URL "https://github.com/westes/flex/files/981163/flex-2.6.4.tar.gz") # flex
set(WITH_BISON_URL "https://ftp.gnu.org/gnu/bison/bison-3.4.1.tar.gz") # bison
set(WITH_LIBEXPAT_URL "https://github.com/libexpat/libexpat/releases/download/R_2_2_5/expat-2.2.5.tar.bz2") # expat library sources URL
set(WITH_LIBJANSSON_URL "https://github.com/akheron/jansson/releases/download/v2.10/jansson-2.10.tar.gz") # jansson library sources URL
set(WITH_FLEX_URL "https://github.com/CUBRID/3rdparty/raw/develop/flex/flex-2.6.4.tar.gz") # flex
set(WITH_BISON_URL "https://github.com/CUBRID/3rdparty/raw/develop/bison/bison-3.4.1.tar.gz") # bison
set(WITH_LIBEXPAT_URL "https://github.com/CUBRID/3rdparty/raw/develop/expat/expat-2.2.5.tar.bz2") # expat library sources URL
set(WITH_LIBJANSSON_URL "https://github.com/CUBRID/3rdparty/raw/develop/jansson/jansson-2.10.tar.gz") # jansson library sources URL
set(WITH_LIBEDIT_URL "https://github.com/CUBRID/libedit/archive/refs/tags/csql_v1.1.tar.gz") # editline library sources URL
set(WITH_RAPIDJSON_URL "https://github.com/Tencent/rapidjson/archive/v1.1.0.tar.gz") # rapidjson library sources URL
set(WITH_LIBOPENSSL_URL "https://www.openssl.org/source/old/1.1.1/openssl-1.1.1f.tar.gz") # openssl library sources URL
set(WITH_LIBUNIXODBC_URL "https://ftp.osuosl.org/pub/blfs/conglomeration/unixODBC/unixODBC-2.3.9.tar.gz") # unixODBC library sources URL
set(WITH_LIBTBB_URL "https://github.com/oneapi-src/oneTBB/archive/refs/tags/v2021.11.0.tar.gz") # intel oneTBB library sources URL
set(WITH_RAPIDJSON_URL "https://github.com/CUBRID/3rdparty/raw/develop/rapidjson/v1.1.0.tar.gz") # rapidjson library sources URL
set(WITH_LIBOPENSSL_URL "https://github.com/CUBRID/3rdparty/raw/develop/openssl/openssl-1.1.1f.tar.gz") # openssl library sources URL
set(WITH_LIBUNIXODBC_URL "https://github.com/CUBRID/3rdparty/raw/develop/unixODBC/unixODBC-2.3.9.tar.gz") # unixODBC library sources URL
set(WITH_LIBTBB_URL "https://github.com/CUBRID/3rdparty/raw/develop/tbb/v2021.11.0.tar.gz") # intel oneTBB library sources URL

# URL_HASH is a hash value used to verify the integrity of a file downloaded from a specified URL.
# It is optional but highly recommended to set this value. If not set, the file will be downloaded
# every time Ninja reconfigures the project, which can be inefficient.
#
# Specifying the URL_HASH ensures:
# 1. The file's integrity is verified against its hash.
# 2. Ninja avoids unnecessary downloads if the file already exists and matches the hash.
#
# How to generate the URL_HASH:
# - Use the `sha256sum` command to compute the hash of the downloaded tarball.
# Example:
# $ sha256sum openssl-1.1.1f.tar.gz
# Then set the resulting SHA256 hash in the format: "SHA256=<hash_value>"
#
# Below are the URL_HASH values for different libraries used in this project:
set(WITH_LIBEXPAT_URL_HASH "SHA256=d9dc32efba7e74f788fcc4f212a43216fc37cf5f23f4c2339664d473353aedf6")
set(WITH_LIBJANSSON_URL_HASH "SHA256=78215ad1e277b42681404c1d66870097a50eb084be9d771b1d15576575cf6447") # jansson library sources URL
set(WITH_LIBEDIT_URL_HASH "SHA256=972c7d46844b7b56adde028bb2269546938272dd8d7a58978b7a18a6f6e44141") # editline library sources URL
set(WITH_RAPIDJSON_URL_HASH "SHA256=bf7ced29704a1e696fbccf2a2b4ea068e7774fa37f6d7dd4039d0787f8bed98e") # rapidjson library sources URL
set(WITH_LIBOPENSSL_URL_HASH "SHA256=186c6bfe6ecfba7a5b48c47f8a1673d0f3b0e5ba2e25602dd23b629975da3f35") # openssl library sources URL
set(WITH_LIBUNIXODBC_URL_HASH "SHA256=52833eac3d681c8b0c9a5a65f2ebd745b3a964f208fc748f977e44015a31b207") # unixODBC library sources URL
set(WITH_LIBTBB_URL_HASH "SHA256=782ce0cab62df9ea125cdea253a50534862b563f1d85d4cda7ad4e77550ac363") # intel oneTBB library sources URL


# options for external libraries (BUNDLED, EXTERAL or SYSTEM)
set(WITH_EXTERNAL_PREFIX "EXTERNAL" CACHE STRING "External library prefix (default: EXTERNAL)")
Expand Down Expand Up @@ -158,6 +182,7 @@ if(WITH_LIBEXPAT STREQUAL "EXTERNAL")
ADD_BY_PRODUCTS_VARIABLE ("LIBEXPAT" ${LIBEXPAT_LIBS})
externalproject_add(${LIBEXPAT_TARGET}
URL ${WITH_LIBEXPAT_URL}
URL_HASH ${WITH_LIBEXPAT_URL_HASH}
LOG_CONFIGURE TRUE
LOG_BUILD TRUE
LOG_INSTALL TRUE
Expand Down Expand Up @@ -209,6 +234,7 @@ if(WITH_LIBJANSSON STREQUAL "EXTERNAL")
ADD_BY_PRODUCTS_VARIABLE ("LIBJANSSON" ${LIBJANSSON_LIBS})
externalproject_add(${LIBJANSSON_TARGET}
URL ${WITH_LIBJANSSON_URL}
URL_HASH ${WITH_LIBJANSSON_URL_HASH}
LOG_CONFIGURE TRUE
LOG_BUILD TRUE
LOG_INSTALL TRUE
Expand Down Expand Up @@ -258,6 +284,7 @@ if(UNIX)
ADD_BY_PRODUCTS_VARIABLE ("LIBEDIT" ${LIBEDIT_LIBS})
externalproject_add(${LIBEDIT_TARGET}
URL ${WITH_LIBEDIT_URL}
URL_HASH ${WITH_LIBEDIT_URL_HASH}
LOG_BUILD TRUE
LOG_INSTALL TRUE
TIMEOUT 600
Expand Down Expand Up @@ -333,6 +360,7 @@ if(WITH_LIBOPENSSL STREQUAL "EXTERNAL")
ADD_BY_PRODUCTS_VARIABLE ("LIBOPENSSL" ${LIBOPENSSL_LIBS})
externalproject_add(${LIBOPENSSL_TARGET}
URL ${WITH_LIBOPENSSL_URL}
URL_HASH ${WITH_LIBOPENSSL_URL_HASH}
LOG_CONFIGURE TRUE
LOG_BUILD TRUE
LOG_INSTALL TRUE
Expand Down Expand Up @@ -375,6 +403,7 @@ if(WITH_LIBUNIXODBC STREQUAL "EXTERNAL")
ADD_BY_PRODUCTS_VARIABLE ("LIBUNIXODBC" ${LIBUNIXODBC_LIBS})
externalproject_add(${LIBUNIXODBC_TARGET}
URL ${WITH_LIBUNIXODBC_URL}
URL_HASH ${WITH_LIBUNIXODBC_URL_HASH}
LOG_CONFIGURE TRUE
LOG_BUILD TRUE
LOG_INSTALL TRUE
Expand All @@ -401,6 +430,7 @@ ADD_BY_PRODUCTS_VARIABLE ("RAPIDJSON" ${RAPIDJSON_INCLUDES})
externalproject_add(${RAPIDJSON_TARGET}
# tried URL but archive gets downloaded every time. URL_MD5 may help
URL ${WITH_RAPIDJSON_URL}
URL_HASH ${WITH_RAPIDJSON_URL_HASH}
LOG_CONFIGURE TRUE
LOG_BUILD TRUE
LOG_INSTALL TRUE
Expand Down Expand Up @@ -464,6 +494,7 @@ if(WITH_LIBTBB STREQUAL "EXTERNAL")
ADD_BY_PRODUCTS_VARIABLE ("LIBTBB" ${LIBTBB_LIBS})
externalproject_add(${LIBTBB_TARGET}
URL ${WITH_LIBTBB_URL}
URL_HASH ${WITH_LIBTBB_URL_HASH}
LOG_CONFIGURE TRUE
LOG_BUILD TRUE
LOG_INSTALL TRUE
Expand Down
2 changes: 1 addition & 1 deletion contrib/scripts/check_reserved.sql
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ UNION ALL
SELECT 'stored_proc', sp_name, '', ''
FROM _db_stored_procedure WHERE sp_name IN :reserved
UNION ALL
SELECT 'stored_proc_arg', arg_name, '', sp_name
SELECT 'stored_proc_arg', arg_name, '', sp_of.sp_name
FROM _db_stored_procedure_args WHERE arg_name IN :reserved
UNION ALL
SELECT 'user', name, '', ''
Expand Down
20 changes: 10 additions & 10 deletions demo/demodb_schema
Original file line number Diff line number Diff line change
Expand Up @@ -17,34 +17,34 @@ create serial stadium_no
nocycle;
call change_serial_owner ('stadium_no', 'PUBLIC') on class db_serial;

CREATE CLASS stadium dont_reuse_oid;
CREATE CLASS stadium;
call change_owner('stadium', 'PUBLIC') on class db_root;

CREATE CLASS code dont_reuse_oid;
CREATE CLASS code;
call change_owner('code', 'PUBLIC') on class db_root;

CREATE CLASS nation dont_reuse_oid;
CREATE CLASS nation;
call change_owner('nation', 'PUBLIC') on class db_root;

CREATE CLASS [event] dont_reuse_oid;
CREATE CLASS [event];
call change_owner('event', 'PUBLIC') on class db_root;

CREATE CLASS athlete dont_reuse_oid;
CREATE CLASS athlete;
call change_owner('athlete', 'PUBLIC') on class db_root;

CREATE CLASS participant dont_reuse_oid;
CREATE CLASS participant;
call change_owner('participant', 'PUBLIC') on class db_root;

CREATE CLASS olympic dont_reuse_oid;
CREATE CLASS olympic;
call change_owner('olympic', 'PUBLIC') on class db_root;

CREATE CLASS game dont_reuse_oid;
CREATE CLASS game;
call change_owner('game', 'PUBLIC') on class db_root;

CREATE CLASS record dont_reuse_oid;
CREATE CLASS record;
call change_owner('record', 'PUBLIC') on class db_root;

CREATE CLASS history dont_reuse_oid;
CREATE CLASS history;
call change_owner('history', 'PUBLIC') on class db_root;


Expand Down
23 changes: 14 additions & 9 deletions msg/en_US.utf8/cubrid.msg
Original file line number Diff line number Diff line change
Expand Up @@ -1451,12 +1451,13 @@ Check the path of the key file (_keys) and make sure that it includes proper key

1361 Invalid result cache for subquery.

1362 Dropping system generated stored procedure is not allowed.
1363 PL/CSQL Stored procedure/function does not support Invoker's rights.
1362 Locale '%1$s' is unavailable.
1363 Dropping system generated stored procedure is not allowed.
1364 PL/CSQL Stored procedure/function does not support Invoker's rights.

1364 Only DBA and the owner can grant the %1$s privilege.
1365 Only DBA and the owner can grant the %1$s privilege.

1365 Last Error
1366 Last Error

$set 6 MSGCAT_SET_INTERNAL
1 Error in error subsystem (line %1$d):
Expand Down Expand Up @@ -1950,11 +1951,15 @@ $set 8 MSGCAT_SET_PARSER_SEMANTIC
322 Table column '%1$s.%2$s' has not been defined
323 Stored procedure/function '%1$s' has OUT or IN OUT arguments
324 '%1$s' is not a record variable.
325 Stored procedure/function "%1$s" does not exist.
326 Attempting to assign DEFAULT on an Out parameter is not allowed: '%1$s'.
327 Only trailing default parameter is allowed: invalid at '%1$s'.
328 Stored procedure/function '%1$s' has OUT or IN OUT arguments
329 Grant option is not allowed for %1$s.

325 The argument specifying the language must be a string literal.
326 Stored procedure/function "%1$s" does not exist.
327 Attempting to assign DEFAULT on an Out parameter is not allowed: '%1$s'.
328 Only trailing default parameter is allowed: invalid at '%1$s'.
329 Stored procedure/function '%1$s' has OUT or IN OUT arguments
330 Grant option is not allowed for %1$s.



$set 9 MSGCAT_SET_PARSER_RUNTIME
1 Out of virtual memory: unable to allocate %1$d bytes.
Expand Down
23 changes: 14 additions & 9 deletions msg/ko_KR.utf8/cubrid.msg
Original file line number Diff line number Diff line change
Expand Up @@ -1450,12 +1450,13 @@ $ LOADDB
1360 In line %1$d, column %2$d\nStored procedure compile error: %3$s

1361 부질의 캐시가 잘못되었습니다.
1362 시스템 생성 stored procedure를 삭제(drop)할 수 없습니다.
1363 PL/CSQL 저장 프로시저/함수는 호출자 권한을 지원하지 않습니다.
1362 언어 '%1$s'에 대한 로캘은 사용 가능하지 않습니다.
1363 시스템 생성 stored procedure를 삭제(drop)할 수 없습니다.
1364 PL/CSQL 저장 프로시저/함수는 호출자 권한을 지원하지 않습니다.

1364 DBA 및 소유자만 %1$s 권한을 부여할 수 있습니다.
1365 DBA 및 소유자만 %1$s 권한을 부여할 수 있습니다.

1365 마지막 에러
1366 마지막 에러

$set 6 MSGCAT_SET_INTERNAL
1 에러 서브 시스템에 에러 발생(라인 %1$d):
Expand Down Expand Up @@ -1949,11 +1950,15 @@ $set 8 MSGCAT_SET_PARSER_SEMANTIC
322 테이블 컬럼 '%1$s.%2$s'이 정의되지 않았습니다
323 Stored procedure/function '%1$s' 이(가) OUT 또는 IN OUT 인수를 가지고 있습니다.
324 '%1$s'은 레코드 변수가 아닙니다.
325 저장 프로시저/함수 "%1$s"이(가) 존재하지 않습니다.
326 Out 매개변수에 DEFAULT를 할당하는 것은 허용되지 않습니다: '%1$s'.
327 오직 후행 기본 인수만 허용합니다: '%1$s' 에서 유효하지 않음.
328 저장 프로시저/함수 '%1$s' 이(가) OUT 또는 IN OUT 인수를 가지고 있습니다.
329 %1$s에 대해 GRANT 옵션을 부여할 수 없습니다.

325 언어를 지정하는 인수는 문자열 리터럴이어야 합니다.
326 저장 프로시저/함수 "%1$s"이(가) 존재하지 않습니다.
327 Out 매개변수에 DEFAULT를 할당하는 것은 허용되지 않습니다: '%1$s'.
328 오직 후행 기본 인수만 허용합니다: '%1$s' 에서 유효하지 않음.
329 저장 프로시저/함수 '%1$s' 이(가) OUT 또는 IN OUT 인수를 가지고 있습니다.
330 %1$s에 대해 GRANT 옵션을 부여할 수 없습니다.



$set 9 MSGCAT_SET_PARSER_RUNTIME
1 가상 메모리 없음: %1$d 바이트를 할당할 수 없습니다.
Expand Down
15 changes: 10 additions & 5 deletions src/base/error_code.h
Original file line number Diff line number Diff line change
Expand Up @@ -1738,14 +1738,19 @@

#define ER_SP_SERVER_CRASHED -1359
#define ER_SP_COMPILE_ERROR -1360
#define ER_QPROC_RESULT_CACHE_INVALID -1361
#define ER_QPROC_RESULT_CACHE_INVALID -1361

#define ER_LOCALE_LANG_NOT_AVAILABLE -1362
#define ER_SP_DROP_NOT_ALLOWED_SYSTEM_GENERATED -1363
#define ER_SP_INVOKERS_RIGHTS_NOT_SUPPORTED -1364


#define ER_AU_OWNER_ONLY_GRANT_PRIVILEGE -1365

#define ER_LAST_ERROR -1366

#define ER_SP_DROP_NOT_ALLOWED_SYSTEM_GENERATED -1362
#define ER_SP_INVOKERS_RIGHTS_NOT_SUPPORTED -1363

#define ER_AU_OWNER_ONLY_GRANT_PRIVILEGE -1364

#define ER_LAST_ERROR -1365

/*
* CAUTION!
Expand Down
4 changes: 2 additions & 2 deletions src/base/memory_wrapper.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -43,12 +43,12 @@
// However, as CUBRID does not currently utilize such additional methods, they are not overloaded.
// It has been decided that overloading will be undertaken should any issues arise from
// the discovery of the utilization of these additional methods.
inline void *operator new (size_t size, const char *file, const int line)
inline void *operator new (size_t size, const char *file, const int line) noexcept
{
return cub_alloc (size, file, line);
}

inline void *operator new[] (size_t size, const char *file, const int line)
inline void *operator new[] (size_t size, const char *file, const int line) noexcept
{
return cub_alloc (size, file, line);
}
Expand Down
1 change: 1 addition & 0 deletions src/object/schema_system_catalog_install.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1817,6 +1817,7 @@ namespace cubschema
{"authid", "varchar(16)"},
{"target", "varchar(4096)"},
{"owner", "varchar(256)"},
{"code", format_varchar (1073741823)},
{"comment", "varchar(1024)"},
// query specs
{attribute_kind::QUERY_SPEC, sm_define_view_stored_procedure_spec ()}
Expand Down
6 changes: 5 additions & 1 deletion src/object/schema_system_catalog_install_query_spec.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1240,14 +1240,18 @@ sm_define_view_stored_procedure_spec (void)
"CASE [sp].[directive] & 1 WHEN 0 THEN 'DEFINER' ELSE 'CURRENT_USER' END AS [authid], "
"CONCAT ([sp].[target_class], '.', [sp].[target_method]) AS [target], "
"CAST ([sp].[owner].[name] AS VARCHAR(255)) AS [owner], " /* string -> varchar(255) */
"[sp_code].[scode] AS [code], "
"[sp].[comment] AS [comment] "
"FROM "
/* CT_STORED_PROC_NAME */
"[%s] AS [sp] "
/* CT_STORED_PROC_CODE_NAME */
"LEFT OUTER JOIN [%s] AS [sp_code] ON [sp].[target_class] = [sp_code].[name] "
"WHERE "
"[sp].[is_system_generated] = 0",
CT_DATATYPE_NAME,
CT_STORED_PROC_NAME);
CT_STORED_PROC_NAME,
CT_STORED_PROC_CODE_NAME);
// *INDENT-ON*

return stmt;
Expand Down
17 changes: 8 additions & 9 deletions src/parser/name_resolution.c
Original file line number Diff line number Diff line change
Expand Up @@ -3499,9 +3499,8 @@ pt_bind_names (PARSER_CONTEXT * parser, PT_NODE * node, void *arg, int *continue
case PT_FUNCTION:
if (node->info.function.function_type == PT_GENERIC)
{
const char *dot = NULL;
const char *current_schema_name = NULL;
char buffer[SM_MAX_IDENTIFIER_LENGTH];
MOP sp_mop = NULL;
char sp_unique_name[SM_MAX_IDENTIFIER_LENGTH + 1];
node->info.function.function_type = pt_find_function_type (node->info.function.generic_name);

if (node->info.function.function_type == PT_GENERIC)
Expand All @@ -3522,14 +3521,14 @@ pt_bind_names (PARSER_CONTEXT * parser, PT_NODE * node, void *arg, int *continue
* nodes PT_FUNCTION. If so, pt_make_stored_procedure() and pt_make_method_call() will
* translate it into a method_call.
*/
if (jsp_is_exist_stored_procedure (node->info.function.generic_name))
sp_mop = jsp_find_stored_procedure (node->info.function.generic_name, DB_AUTH_NONE);
if (sp_mop != NULL)
{
dot = strchr (node->info.function.generic_name, '.');
if (dot == NULL)
sp_unique_name[0] = '\0';
jsp_get_unique_name (sp_mop, sp_unique_name, DB_MAX_IDENTIFIER_LENGTH + 1);
if (sp_unique_name[0] != '\0')
{
current_schema_name = sc_current_schema_name ();
sprintf (buffer, "%s.%s", current_schema_name, node->info.function.generic_name);
node->info.function.generic_name = pt_append_string (parser, NULL, buffer);
node->info.function.generic_name = pt_append_string (parser, NULL, sp_unique_name);
}

node1 = pt_resolve_stored_procedure (parser, node, bind_arg);
Expand Down
14 changes: 9 additions & 5 deletions src/parser/parser_message.h
Original file line number Diff line number Diff line change
Expand Up @@ -502,11 +502,15 @@
#define MSGCAT_SEMANTIC_UNDEFINED_TABLE_COLUMN MSGCAT_SEMANTIC_NO(322)
#define MSGCAT_SEMANTIC_SP_OUT_ARGS_EXISTS_IN_QUERY MSGCAT_SEMANTIC_NO(323)
#define MSGCAT_SEMANTIC_SP_INTO_FIELD_EXPR_IN_NON_STATIC_SQL MSGCAT_SEMANTIC_NO(324)
#define MSTCAT_SEMANTIC_SP_NOT_EXIST MSGCAT_SEMANTIC_NO(325)
#define MSGCAT_SEMANTIC_SP_OUT_DEFAULT_ARG_NOT_ALLOWED MSGCAT_SEMANTIC_NO(326)
#define MSGCAT_SEMANTIC_SP_NON_TRAILING_OPTIONAL_PARAMS MSGCAT_SEMANTIC_NO(327)
#define MSGCAT_SEMANTIC_SP_OUT_ARGS_EXISTS_IN_QUERY MSGCAT_SEMANTIC_NO(328)
#define MSGCAT_SEMATNIC_AU_GRANT_OPTION_NOT_ALLOWED MSGCAT_SEMANTIC_NO(329)

#define MSGCAT_SEMANTIC_NOT_SUPPORT_TYPE_TO_DATE_LANG MSGCAT_SEMANTIC_NO(325)
#define MSTCAT_SEMANTIC_SP_NOT_EXIST MSGCAT_SEMANTIC_NO(326)
#define MSGCAT_SEMANTIC_SP_OUT_DEFAULT_ARG_NOT_ALLOWED MSGCAT_SEMANTIC_NO(327)
#define MSGCAT_SEMANTIC_SP_NON_TRAILING_OPTIONAL_PARAMS MSGCAT_SEMANTIC_NO(328)
#define MSGCAT_SEMANTIC_SP_OUT_ARGS_EXISTS_IN_QUERY MSGCAT_SEMANTIC_NO(329)
#define MSGCAT_SEMATNIC_AU_GRANT_OPTION_NOT_ALLOWED MSGCAT_SEMANTIC_NO(330)



/* Message id in the set MSGCAT_SET_PARSER_RUNTIME */
#define MSGCAT_RUNTIME_NO(n) n
Expand Down
Loading

0 comments on commit ab6ee05

Please sign in to comment.