|
From: <asf...@us...> - 2015-10-07 18:24:38
|
Revision: 62325
http://sourceforge.net/p/firebird/code/62325
Author: asfernandes
Date: 2015-10-07 18:24:36 +0000 (Wed, 07 Oct 2015)
Log Message:
-----------
Fixed CORE-4954 - The package procedure with value by default isn't called if this parameter isn't specified.
Modified Paths:
--------------
firebird/trunk/lang_helpers/gds_codes.ftn
firebird/trunk/lang_helpers/gds_codes.pas
firebird/trunk/src/dsql/DdlNodes.epp
firebird/trunk/src/dsql/DdlNodes.h
firebird/trunk/src/dsql/PackageNodes.epp
firebird/trunk/src/include/gen/codetext.h
firebird/trunk/src/include/gen/iberror.h
firebird/trunk/src/include/gen/msgs.h
firebird/trunk/src/include/gen/sql_code.h
firebird/trunk/src/include/gen/sql_state.h
firebird/trunk/src/jrd/drq.h
firebird/trunk/src/msgs/facilities2.sql
firebird/trunk/src/msgs/messages2.sql
firebird/trunk/src/msgs/system_errors2.sql
Modified: firebird/trunk/lang_helpers/gds_codes.ftn
===================================================================
--- firebird/trunk/lang_helpers/gds_codes.ftn 2015-10-07 16:59:49 UTC (rev 62324)
+++ firebird/trunk/lang_helpers/gds_codes.ftn 2015-10-07 18:24:36 UTC (rev 62325)
@@ -1860,8 +1860,8 @@
PARAMETER (GDS__dyn_funcsignat_package = 336068873)
INTEGER*4 GDS__dyn_procsignat_package
PARAMETER (GDS__dyn_procsignat_package = 336068874)
- INTEGER*4 GDS__dyn_defvaldecl_package
- PARAMETER (GDS__dyn_defvaldecl_package = 336068875)
+ INTEGER*4 GDS__dyn_defvaldecl_package_proc
+ PARAMETER (GDS__dyn_defvaldecl_package_proc = 336068875)
INTEGER*4 GDS__dyn_package_body_exists
PARAMETER (GDS__dyn_package_body_exists = 336068877)
INTEGER*4 GDS__dyn_invalid_ddl_func
@@ -1888,6 +1888,8 @@
PARAMETER (GDS__dyn_cant_use_zero_increment = 336068896)
INTEGER*4 GDS__dyn_cant_use_in_foreignkey
PARAMETER (GDS__dyn_cant_use_in_foreignkey = 336068897)
+ INTEGER*4 GDS__dyn_defvaldecl_package_func
+ PARAMETER (GDS__dyn_defvaldecl_package_func = 336068898)
INTEGER*4 GDS__gbak_unknown_switch
PARAMETER (GDS__gbak_unknown_switch = 336330753)
INTEGER*4 GDS__gbak_page_size_missing
Modified: firebird/trunk/lang_helpers/gds_codes.pas
===================================================================
--- firebird/trunk/lang_helpers/gds_codes.pas 2015-10-07 16:59:49 UTC (rev 62324)
+++ firebird/trunk/lang_helpers/gds_codes.pas 2015-10-07 18:24:36 UTC (rev 62325)
@@ -937,7 +937,7 @@
gds_dyn_procnotdef_package = 336068872;
gds_dyn_funcsignat_package = 336068873;
gds_dyn_procsignat_package = 336068874;
- gds_dyn_defvaldecl_package = 336068875;
+ gds_dyn_defvaldecl_package_proc = 336068875;
gds_dyn_package_body_exists = 336068877;
gds_dyn_invalid_ddl_func = 336068878;
gds_dyn_newfc_oldsyntax = 336068879;
@@ -951,6 +951,7 @@
gds_dyn_cant_modify_sysobj = 336068895;
gds_dyn_cant_use_zero_increment = 336068896;
gds_dyn_cant_use_in_foreignkey = 336068897;
+ gds_dyn_defvaldecl_package_func = 336068898;
gds_gbak_unknown_switch = 336330753;
gds_gbak_page_size_missing = 336330754;
gds_gbak_page_size_toobig = 336330755;
Modified: firebird/trunk/src/dsql/DdlNodes.epp
===================================================================
--- firebird/trunk/src/dsql/DdlNodes.epp 2015-10-07 16:59:49 UTC (rev 62324)
+++ firebird/trunk/src/dsql/DdlNodes.epp 2015-10-07 18:24:36 UTC (rev 62325)
@@ -1906,9 +1906,9 @@
if (!secondPass && modified)
{
- // Get all comments from the old parameter list.
- MetaNameBidMap comments;
- collectParamComments(tdbb, transaction, comments);
+ // Get all comments and defaults from the old parameter list.
+ CollectedParameterMap collectedParameters;
+ collectParameters(tdbb, transaction, collectedParameters);
// delete all old arguments
DropFunctionNode::dropArguments(tdbb, transaction, name, package);
@@ -1921,13 +1921,13 @@
for (FB_SIZE_T i = 0; i < parameters.getCount(); ++i)
{
ParameterClause* parameter = parameters[i];
- bid comment;
+ CollectedParameter collectedParameter;
- // Find the original comment to recreate in the new parameter.
- if (!comments.get(parameter->name, comment))
- comment.clear();
+ // Find the original parameter to recreate in the new parameter.
+ collectedParameters.get(parameter->name, collectedParameter);
- storeArgument(tdbb, dsqlScratch, transaction, i + 1, false, parameter, &comment);
+ storeArgument(tdbb, dsqlScratch, transaction, i + 1, false,
+ parameter, &collectedParameter);
}
}
@@ -1936,7 +1936,7 @@
void CreateAlterFunctionNode::storeArgument(thread_db* tdbb, DsqlCompilerScratch* dsqlScratch,
jrd_tra* transaction, unsigned pos, bool returnArg, ParameterClause* parameter,
- const bid* comment)
+ const CollectedParameter* collectedParameter)
{
Attachment* const attachment = transaction->getAttachment();
TypeClause* type = parameter->type;
@@ -2053,6 +2053,14 @@
if (parameter->defaultClause)
{
+ if (preserveDefaults)
+ {
+ status_exception::raise(
+ Arg::Gds(isc_dyn_defvaldecl_package_func) <<
+ package.c_str() <<
+ name.c_str());
+ }
+
ARG.RDB$DEFAULT_VALUE.NULL = FALSE;
ARG.RDB$DEFAULT_SOURCE.NULL = FALSE;
@@ -2073,7 +2081,17 @@
attachment->storeBinaryBlob(tdbb, transaction, &ARG.RDB$DEFAULT_VALUE,
dsqlScratch->getBlrData());
}
+ else if (preserveDefaults && collectedParameter)
+ {
+ ARG.RDB$DEFAULT_SOURCE.NULL = collectedParameter->defaultSource.isEmpty();
+ if (!ARG.RDB$DEFAULT_SOURCE.NULL)
+ ARG.RDB$DEFAULT_SOURCE = collectedParameter->defaultSource;
+ ARG.RDB$DEFAULT_VALUE.NULL = collectedParameter->defaultValue.isEmpty();
+ if (!ARG.RDB$DEFAULT_VALUE.NULL)
+ ARG.RDB$DEFAULT_VALUE = collectedParameter->defaultValue;
+ }
+
if (isUdf())
{
ARG.RDB$MECHANISM.NULL = FALSE;
@@ -2095,9 +2113,9 @@
ARG.RDB$MECHANISM = (SSHORT) FUN_reference;
}
- ARG.RDB$DESCRIPTION.NULL = !comment || comment->isEmpty();
+ ARG.RDB$DESCRIPTION.NULL = !collectedParameter || collectedParameter->comment.isEmpty();
if (!ARG.RDB$DESCRIPTION.NULL)
- ARG.RDB$DESCRIPTION = *comment;
+ ARG.RDB$DESCRIPTION = collectedParameter->comment;
}
END_STORE
}
@@ -2189,18 +2207,21 @@
invalid = false;
}
-void CreateAlterFunctionNode::collectParamComments(thread_db* tdbb, jrd_tra* transaction,
- MetaNameBidMap& items)
+void CreateAlterFunctionNode::collectParameters(thread_db* tdbb, jrd_tra* transaction,
+ CollectedParameterMap& items)
{
AutoRequest requestHandle;
FOR (REQUEST_HANDLE requestHandle TRANSACTION_HANDLE transaction)
ARG IN RDB$FUNCTION_ARGUMENTS
WITH ARG.RDB$FUNCTION_NAME EQ name.c_str() AND
- ARG.RDB$PACKAGE_NAME EQUIV NULLIF(package.c_str(), '') AND
- ARG.RDB$DESCRIPTION NOT MISSING
+ ARG.RDB$PACKAGE_NAME EQUIV NULLIF(package.c_str(), '')
{
- items.put(ARG.RDB$ARGUMENT_NAME, ARG.RDB$DESCRIPTION);
+ CollectedParameter parameter;
+ parameter.comment = ARG.RDB$DESCRIPTION;
+ parameter.defaultSource = ARG.RDB$DEFAULT_SOURCE;
+ parameter.defaultValue = ARG.RDB$DEFAULT_VALUE;
+ items.put(ARG.RDB$ARGUMENT_NAME, parameter);
}
END_FOR
}
@@ -2792,9 +2813,9 @@
if (!secondPass && modified)
{
- // Get all comments from the old parameter list.
- MetaNameBidMap comments;
- collectParamComments(tdbb, transaction, comments);
+ // Get all comments and defaults from the old parameter list.
+ CollectedParameterMap collectedParameters;
+ collectParameters(tdbb, transaction, collectedParameters);
// Delete all old input and output parameters.
DropProcedureNode::dropParameters(tdbb, transaction, name, package);
@@ -2804,25 +2825,23 @@
for (FB_SIZE_T i = 0; i < parameters.getCount(); ++i)
{
ParameterClause* parameter = parameters[i];
- bid comment;
+ CollectedParameter collectedParameter;
- // Find the original comment to recreate in the new parameter.
- if (!comments.get(parameter->name, comment))
- comment.clear();
+ // Find the original parameter to recreate in the new parameter.
+ collectedParameters.get(parameter->name, collectedParameter);
- storeParameter(tdbb, dsqlScratch, transaction, 0, i, parameter, &comment);
+ storeParameter(tdbb, dsqlScratch, transaction, 0, i, parameter, &collectedParameter);
}
for (FB_SIZE_T i = 0; i < returns.getCount(); ++i)
{
ParameterClause* parameter = returns[i];
- bid comment;
+ CollectedParameter collectedParameter;
- // Find the original comment to recreate in the new parameter.
- if (!comments.get(parameter->name, comment))
- comment.clear();
+ // Find the original parameter to recreate in the new parameter.
+ collectedParameters.get(parameter->name, collectedParameter);
- storeParameter(tdbb, dsqlScratch, transaction, 1, i, parameter, &comment);
+ storeParameter(tdbb, dsqlScratch, transaction, 1, i, parameter, &collectedParameter);
}
AutoCacheRequest requestHandle2(tdbb, drq_m_prm_view, DYN_REQUESTS);
@@ -2854,7 +2873,7 @@
void CreateAlterProcedureNode::storeParameter(thread_db* tdbb, DsqlCompilerScratch* dsqlScratch,
jrd_tra* transaction, USHORT parameterType, unsigned pos, ParameterClause* parameter,
- const bid* comment)
+ const CollectedParameter* collectedParameter)
{
Attachment* const attachment = transaction->getAttachment();
TypeClause* type = parameter->type;
@@ -2934,6 +2953,14 @@
if (parameter->defaultClause)
{
+ if (preserveDefaults)
+ {
+ status_exception::raise(
+ Arg::Gds(isc_dyn_defvaldecl_package_proc) <<
+ package.c_str() <<
+ name.c_str());
+ }
+
attachment->storeMetaDataBlob(tdbb, transaction, &PRM.RDB$DEFAULT_SOURCE,
parameter->defaultClause->source);
@@ -2951,10 +2978,20 @@
attachment->storeBinaryBlob(tdbb, transaction, &PRM.RDB$DEFAULT_VALUE,
dsqlScratch->getBlrData());
}
+ else if (preserveDefaults && collectedParameter)
+ {
+ PRM.RDB$DEFAULT_SOURCE.NULL = collectedParameter->defaultSource.isEmpty();
+ if (!PRM.RDB$DEFAULT_SOURCE.NULL)
+ PRM.RDB$DEFAULT_SOURCE = collectedParameter->defaultSource;
- PRM.RDB$DESCRIPTION.NULL = !comment || comment->isEmpty();
+ PRM.RDB$DEFAULT_VALUE.NULL = collectedParameter->defaultValue.isEmpty();
+ if (!PRM.RDB$DEFAULT_VALUE.NULL)
+ PRM.RDB$DEFAULT_VALUE = collectedParameter->defaultValue;
+ }
+
+ PRM.RDB$DESCRIPTION.NULL = !collectedParameter || collectedParameter->comment.isEmpty();
if (!PRM.RDB$DESCRIPTION.NULL)
- PRM.RDB$DESCRIPTION = *comment;
+ PRM.RDB$DESCRIPTION = collectedParameter->comment;
}
END_STORE
}
@@ -3049,18 +3086,21 @@
invalid = false;
}
-void CreateAlterProcedureNode::collectParamComments(thread_db* tdbb, jrd_tra* transaction,
- MetaNameBidMap& items)
+void CreateAlterProcedureNode::collectParameters(thread_db* tdbb, jrd_tra* transaction,
+ CollectedParameterMap& items)
{
AutoRequest requestHandle;
FOR (REQUEST_HANDLE requestHandle TRANSACTION_HANDLE transaction)
PRM IN RDB$PROCEDURE_PARAMETERS
WITH PRM.RDB$PROCEDURE_NAME EQ name.c_str() AND
- PRM.RDB$PACKAGE_NAME EQUIV NULLIF(package.c_str(), '') AND
- PRM.RDB$DESCRIPTION NOT MISSING
+ PRM.RDB$PACKAGE_NAME EQUIV NULLIF(package.c_str(), '')
{
- items.put(PRM.RDB$PARAMETER_NAME, PRM.RDB$DESCRIPTION);
+ CollectedParameter parameter;
+ parameter.comment = PRM.RDB$DESCRIPTION;
+ parameter.defaultSource = PRM.RDB$DEFAULT_SOURCE;
+ parameter.defaultValue = PRM.RDB$DEFAULT_VALUE;
+ items.put(PRM.RDB$PARAMETER_NAME, parameter);
}
END_FOR
}
Modified: firebird/trunk/src/dsql/DdlNodes.h
===================================================================
--- firebird/trunk/src/dsql/DdlNodes.h 2015-10-07 16:59:49 UTC (rev 62324)
+++ firebird/trunk/src/dsql/DdlNodes.h 2015-10-07 18:24:36 UTC (rev 62325)
@@ -178,6 +178,25 @@
};
+struct CollectedParameter
+{
+ CollectedParameter()
+ {
+ comment.clear();
+ defaultSource.clear();
+ defaultValue.clear();
+ }
+
+ bid comment;
+ bid defaultSource;
+ bid defaultValue;
+};
+
+typedef Firebird::GenericMap<
+ Firebird::Pair<Firebird::Left<Firebird::MetaName, CollectedParameter> > >
+ CollectedParameterMap;
+
+
class ExecInSecurityDb
{
public:
@@ -335,6 +354,7 @@
package(pool),
packageOwner(pool),
privateScope(false),
+ preserveDefaults(false),
udfReturnPos(0)
{
}
@@ -366,9 +386,10 @@
bool secondPass, bool runTriggers);
void storeArgument(thread_db* tdbb, DsqlCompilerScratch* dsqlScratch, jrd_tra* transaction,
- unsigned pos, bool returnArg, ParameterClause* parameter, const bid* comment);
+ unsigned pos, bool returnArg, ParameterClause* parameter,
+ const CollectedParameter* collectedParameter);
void compile(thread_db* tdbb, DsqlCompilerScratch* dsqlScratch);
- void collectParamComments(thread_db* tdbb, jrd_tra* transaction, MetaNameBidMap& items);
+ void collectParameters(thread_db* tdbb, jrd_tra* transaction, CollectedParameterMap& items);
public:
Firebird::MetaName name;
@@ -386,6 +407,7 @@
Firebird::MetaName package;
Firebird::string packageOwner;
bool privateScope;
+ bool preserveDefaults;
SLONG udfReturnPos;
};
@@ -473,7 +495,8 @@
invalid(false),
package(pool),
packageOwner(pool),
- privateScope(false)
+ privateScope(false),
+ preserveDefaults(false)
{
}
@@ -498,9 +521,10 @@
bool executeAlter(thread_db* tdbb, DsqlCompilerScratch* dsqlScratch, jrd_tra* transaction,
bool secondPass, bool runTriggers);
void storeParameter(thread_db* tdbb, DsqlCompilerScratch* dsqlScratch, jrd_tra* transaction,
- USHORT parameterType, unsigned pos, ParameterClause* parameter, const bid* comment);
+ USHORT parameterType, unsigned pos, ParameterClause* parameter,
+ const CollectedParameter* collectedParameter);
void compile(thread_db* tdbb, DsqlCompilerScratch* dsqlScratch);
- void collectParamComments(thread_db* tdbb, jrd_tra* transaction, MetaNameBidMap& items);
+ void collectParameters(thread_db* tdbb, jrd_tra* transaction, CollectedParameterMap& items);
public:
Firebird::MetaName name;
@@ -517,6 +541,7 @@
Firebird::MetaName package;
Firebird::string packageOwner;
bool privateScope;
+ bool preserveDefaults;
};
Modified: firebird/trunk/src/dsql/PackageNodes.epp
===================================================================
--- firebird/trunk/src/dsql/PackageNodes.epp 2015-10-07 16:59:49 UTC (rev 62324)
+++ firebird/trunk/src/dsql/PackageNodes.epp 2015-10-07 18:24:36 UTC (rev 62325)
@@ -895,11 +895,17 @@
continue;
if (arrays[i] == items)
- collectPackagedItems(tdbb, transaction, name, existingFuncs, existingProcs, true);
+ {
+ existingFuncs.clear();
+ existingProcs.clear();
+ }
+ collectPackagedItems(tdbb, transaction, name, existingFuncs, existingProcs, true);
+
for (unsigned j = 0; j < arrays[i]->getCount(); ++j)
{
CreateAlterPackageNode::Item& elem = (*arrays[i])[j];
+
switch (elem.type)
{
case CreateAlterPackageNode::Item::FUNCTION:
@@ -908,8 +914,17 @@
if (arrays[i] == items)
func->privateScope = !headerFuncs.exist(Signature(func->name));
+ else if (existingFuncs.exist(Signature(func->name)))
+ {
+ status_exception::raise(
+ Arg::Gds(isc_no_meta_update) <<
+ Arg::Gds(isc_dyn_duplicate_package_item) <<
+ Arg::Str("FUNCTION") << Arg::Str(func->name));
+ }
func->packageOwner = owner;
+ func->preserveDefaults =
+ existingFuncs.exist(Signature(func->name)) && arrays[i] == items;
func->executeDdl(tdbb, elem.dsqlScratch, transaction);
break;
}
@@ -920,8 +935,17 @@
if (arrays[i] == items)
proc->privateScope = !headerProcs.exist(Signature(proc->name));
+ else if (existingProcs.exist(Signature(proc->name)))
+ {
+ status_exception::raise(
+ Arg::Gds(isc_no_meta_update) <<
+ Arg::Gds(isc_dyn_duplicate_package_item) <<
+ Arg::Str("PROCEDURE") << Arg::Str(proc->name));
+ }
proc->packageOwner = owner;
+ proc->preserveDefaults =
+ existingProcs.exist(Signature(proc->name)) && arrays[i] == items;
proc->executeDdl(tdbb, elem.dsqlScratch, transaction);
break;
}
@@ -967,81 +991,8 @@
status_exception::raise(
Arg::Gds(isc_dyn_procsignat_package) << i->name.c_str() << name.c_str());
}
-
- for (SortedObjectsArray<ParameterInfo>::iterator j = newProcs[pos].parameters.begin();
- j != newProcs[pos].parameters.end(); ++j)
- {
- if (!j->defaultSource.isEmpty() || !j->defaultValue.isEmpty())
- {
- status_exception::raise(
- Arg::Gds(isc_dyn_defvaldecl_package) << name.c_str() << i->name.c_str());
- }
- }
}
- // Lets recreate default of public procedure/function parameters
-
- requestHandle.reset(tdbb, drq_m_pkg_prm_defs, DYN_REQUESTS);
-
- FOR (REQUEST_HANDLE requestHandle TRANSACTION_HANDLE transaction)
- PRM IN RDB$PROCEDURE_PARAMETERS
- WITH PRM.RDB$PACKAGE_NAME EQ name.c_str()
- {
- FB_SIZE_T pos;
- if (existingProcs.find(Signature(getPool(), MetaName(PRM.RDB$PROCEDURE_NAME)), pos))
- {
- const Signature& proc = existingProcs[pos];
-
- ParameterInfo paramKey(getPool());
- paramKey.type = PRM.RDB$PARAMETER_TYPE;
- paramKey.number = PRM.RDB$PARAMETER_NUMBER;
-
- if (proc.parameters.find(paramKey, pos))
- {
- const ParameterInfo& param = proc.parameters[pos];
-
- MODIFY PRM
- PRM.RDB$DEFAULT_SOURCE = param.defaultSource;
- PRM.RDB$DEFAULT_SOURCE.NULL = param.defaultSource.isEmpty();
-
- PRM.RDB$DEFAULT_VALUE = param.defaultValue;
- PRM.RDB$DEFAULT_VALUE.NULL = param.defaultValue.isEmpty();
- END_MODIFY
- }
- }
- }
- END_FOR
-
- requestHandle.reset(tdbb, drq_m_pkg_arg_defs, DYN_REQUESTS);
-
- FOR (REQUEST_HANDLE requestHandle TRANSACTION_HANDLE transaction)
- ARG IN RDB$FUNCTION_ARGUMENTS
- WITH ARG.RDB$PACKAGE_NAME EQ name.c_str()
- {
- FB_SIZE_T pos;
- if (existingFuncs.find(Signature(getPool(), MetaName(ARG.RDB$FUNCTION_NAME)), pos))
- {
- const Signature& func = existingFuncs[pos];
-
- ParameterInfo paramKey(getPool());
- paramKey.number = ARG.RDB$ARGUMENT_POSITION;
-
- if (func.parameters.find(paramKey, pos))
- {
- const ParameterInfo& param = func.parameters[pos];
-
- MODIFY ARG
- ARG.RDB$DEFAULT_SOURCE = param.defaultSource;
- ARG.RDB$DEFAULT_SOURCE.NULL = param.defaultSource.isEmpty();
-
- ARG.RDB$DEFAULT_VALUE = param.defaultValue;
- ARG.RDB$DEFAULT_VALUE.NULL = param.defaultValue.isEmpty();
- END_MODIFY
- }
- }
- }
- END_FOR
-
executeDdlTrigger(tdbb, dsqlScratch, transaction, DTW_AFTER,
DDL_TRIGGER_CREATE_PACKAGE_BODY, name, NULL);
Modified: firebird/trunk/src/include/gen/codetext.h
===================================================================
--- firebird/trunk/src/include/gen/codetext.h 2015-10-07 16:59:49 UTC (rev 62324)
+++ firebird/trunk/src/include/gen/codetext.h 2015-10-07 18:24:36 UTC (rev 62325)
@@ -926,7 +926,7 @@
{"dyn_procnotdef_package", 336068872},
{"dyn_funcsignat_package", 336068873},
{"dyn_procsignat_package", 336068874},
- {"dyn_defvaldecl_package", 336068875},
+ {"dyn_defvaldecl_package_proc", 336068875},
{"dyn_package_body_exists", 336068877},
{"dyn_invalid_ddl_func", 336068878},
{"dyn_newfc_oldsyntax", 336068879},
@@ -940,6 +940,7 @@
{"dyn_cant_modify_sysobj", 336068895},
{"dyn_cant_use_zero_increment", 336068896},
{"dyn_cant_use_in_foreignkey", 336068897},
+ {"dyn_defvaldecl_package_func", 336068898},
{"gbak_unknown_switch", 336330753},
{"gbak_page_size_missing", 336330754},
{"gbak_page_size_toobig", 336330755},
Modified: firebird/trunk/src/include/gen/iberror.h
===================================================================
--- firebird/trunk/src/include/gen/iberror.h 2015-10-07 16:59:49 UTC (rev 62324)
+++ firebird/trunk/src/include/gen/iberror.h 2015-10-07 18:24:36 UTC (rev 62325)
@@ -960,7 +960,7 @@
const ISC_STATUS isc_dyn_procnotdef_package = 336068872L;
const ISC_STATUS isc_dyn_funcsignat_package = 336068873L;
const ISC_STATUS isc_dyn_procsignat_package = 336068874L;
-const ISC_STATUS isc_dyn_defvaldecl_package = 336068875L;
+const ISC_STATUS isc_dyn_defvaldecl_package_proc = 336068875L;
const ISC_STATUS isc_dyn_package_body_exists = 336068877L;
const ISC_STATUS isc_dyn_invalid_ddl_func = 336068878L;
const ISC_STATUS isc_dyn_newfc_oldsyntax = 336068879L;
@@ -974,6 +974,7 @@
const ISC_STATUS isc_dyn_cant_modify_sysobj = 336068895L;
const ISC_STATUS isc_dyn_cant_use_zero_increment = 336068896L;
const ISC_STATUS isc_dyn_cant_use_in_foreignkey = 336068897L;
+const ISC_STATUS isc_dyn_defvaldecl_package_func = 336068898L;
const ISC_STATUS isc_gbak_unknown_switch = 336330753L;
const ISC_STATUS isc_gbak_page_size_missing = 336330754L;
const ISC_STATUS isc_gbak_page_size_toobig = 336330755L;
@@ -1303,7 +1304,7 @@
const ISC_STATUS isc_trace_switch_param_miss = 337182758L;
const ISC_STATUS isc_trace_param_act_notcompat = 337182759L;
const ISC_STATUS isc_trace_mandatory_switch_miss = 337182760L;
-const ISC_STATUS isc_err_max = 1247;
+const ISC_STATUS isc_err_max = 1248;
#else /* c definitions */
@@ -2233,7 +2234,7 @@
#define isc_dyn_procnotdef_package 336068872L
#define isc_dyn_funcsignat_package 336068873L
#define isc_dyn_procsignat_package 336068874L
-#define isc_dyn_defvaldecl_package 336068875L
+#define isc_dyn_defvaldecl_package_proc 336068875L
#define isc_dyn_package_body_exists 336068877L
#define isc_dyn_invalid_ddl_func 336068878L
#define isc_dyn_newfc_oldsyntax 336068879L
@@ -2247,6 +2248,7 @@
#define isc_dyn_cant_modify_sysobj 336068895L
#define isc_dyn_cant_use_zero_increment 336068896L
#define isc_dyn_cant_use_in_foreignkey 336068897L
+#define isc_dyn_defvaldecl_package_func 336068898L
#define isc_gbak_unknown_switch 336330753L
#define isc_gbak_page_size_missing 336330754L
#define isc_gbak_page_size_toobig 336330755L
@@ -2576,7 +2578,7 @@
#define isc_trace_switch_param_miss 337182758L
#define isc_trace_param_act_notcompat 337182759L
#define isc_trace_mandatory_switch_miss 337182760L
-#define isc_err_max 1247
+#define isc_err_max 1248
#endif
Modified: firebird/trunk/src/include/gen/msgs.h
===================================================================
--- firebird/trunk/src/include/gen/msgs.h 2015-10-07 16:59:49 UTC (rev 62324)
+++ firebird/trunk/src/include/gen/msgs.h 2015-10-07 18:24:36 UTC (rev 62325)
@@ -929,7 +929,7 @@
{336068872, "Procedure @1 has not been defined on the package body @2"}, /* dyn_procnotdef_package */
{336068873, "Function @1 has a signature mismatch on package body @2"}, /* dyn_funcsignat_package */
{336068874, "Procedure @1 has a signature mismatch on package body @2"}, /* dyn_procsignat_package */
- {336068875, "Default values for parameters are allowed only in declaration of packaged procedure @1.@2"}, /* dyn_defvaldecl_package */
+ {336068875, "Default values for parameters are allowed only in declaration of packaged procedure @1.@2"}, /* dyn_defvaldecl_package_proc */
{336068877, "Package body @1 already exists"}, /* dyn_package_body_exists */
{336068878, "Invalid DDL statement for function @1"}, /* dyn_invalid_ddl_func */
{336068879, "Cannot alter new style function @1 with ALTER EXTERNAL FUNCTION. Use ALTER FUNCTION instead."}, /* dyn_newfc_oldsyntax */
@@ -943,6 +943,7 @@
{336068895, "System @1 @2 cannot be modified"}, /* dyn_cant_modify_sysobj */
{336068896, "INCREMENT BY 0 is an illegal option for sequence @1"}, /* dyn_cant_use_zero_increment */
{336068897, "Can't use @1 in FOREIGN KEY constraint"}, /* dyn_cant_use_in_foreignkey */
+ {336068898, "Default values for parameters are allowed only in declaration of packaged function @1.@2"}, /* dyn_defvaldecl_package_func */
{336330753, "found unknown switch"}, /* gbak_unknown_switch */
{336330754, "page size parameter missing"}, /* gbak_page_size_missing */
{336330755, "Page size specified (@1) greater than limit (16384 bytes)"}, /* gbak_page_size_toobig */
Modified: firebird/trunk/src/include/gen/sql_code.h
===================================================================
--- firebird/trunk/src/include/gen/sql_code.h 2015-10-07 16:59:49 UTC (rev 62324)
+++ firebird/trunk/src/include/gen/sql_code.h 2015-10-07 18:24:36 UTC (rev 62325)
@@ -925,7 +925,7 @@
{336068872, -901}, /* 264 dyn_procnotdef_package */
{336068873, -901}, /* 265 dyn_funcsignat_package */
{336068874, -901}, /* 266 dyn_procsignat_package */
- {336068875, -901}, /* 267 dyn_defvaldecl_package */
+ {336068875, -901}, /* 267 dyn_defvaldecl_package_proc */
{336068877, -901}, /* 269 dyn_package_body_exists */
{336068878, -607}, /* 270 dyn_invalid_ddl_func */
{336068879, -901}, /* 271 dyn_newfc_oldsyntax */
@@ -939,6 +939,7 @@
{336068895, -901}, /* 287 dyn_cant_modify_sysobj */
{336068896, -901}, /* 288 dyn_cant_use_zero_increment */
{336068897, -901}, /* 289 dyn_cant_use_in_foreignkey */
+ {336068898, -901}, /* 290 dyn_defvaldecl_package_func */
{336330753, -901}, /* 1 gbak_unknown_switch */
{336330754, -901}, /* 2 gbak_page_size_missing */
{336330755, -901}, /* 3 gbak_page_size_toobig */
Modified: firebird/trunk/src/include/gen/sql_state.h
===================================================================
--- firebird/trunk/src/include/gen/sql_state.h 2015-10-07 16:59:49 UTC (rev 62324)
+++ firebird/trunk/src/include/gen/sql_state.h 2015-10-07 18:24:36 UTC (rev 62325)
@@ -925,7 +925,7 @@
{336068872, "42000"}, // 264 dyn_procnotdef_package
{336068873, "42000"}, // 265 dyn_funcsignat_package
{336068874, "42000"}, // 266 dyn_procsignat_package
- {336068875, "42000"}, // 267 dyn_defvaldecl_package
+ {336068875, "42000"}, // 267 dyn_defvaldecl_package_proc
{336068877, "42000"}, // 269 dyn_package_body_exists
{336068878, "HY000"}, // 270 dyn_invalid_ddl_func
{336068879, "42000"}, // 271 dyn_newfc_oldsyntax
@@ -939,6 +939,7 @@
{336068895, "42000"}, // 287 dyn_cant_modify_sysobj
{336068896, "42000"}, // 288 dyn_cant_use_zero_increment
{336068897, "42000"}, // 289 dyn_cant_use_in_foreignkey
+ {336068898, "42000"}, // 290 dyn_defvaldecl_package_func
{336330753, "00000"}, // 1 gbak_unknown_switch
{336330754, "00000"}, // 2 gbak_page_size_missing
{336330755, "00000"}, // 3 gbak_page_size_toobig
Modified: firebird/trunk/src/jrd/drq.h
===================================================================
--- firebird/trunk/src/jrd/drq.h 2015-10-07 16:59:49 UTC (rev 62324)
+++ firebird/trunk/src/jrd/drq.h 2015-10-07 18:24:36 UTC (rev 62325)
@@ -205,8 +205,6 @@
drq_l_pkg_procs, // lookup packaged procedures
drq_l_pkg_proc_args, // lookup packaged procedure arguments
drq_e_pkg_prv, // erase package privileges
- drq_m_pkg_prm_defs, // modify packaged procedure parameters defaults
- drq_m_pkg_arg_defs, // modify packaged function arguments defaults
drq_s2_difference, // Store backup difference file, DYN_mod's change_backup_mode
drq_l_relation, // lookup relation before erase
drq_l_fun_name, // lookup function name
Modified: firebird/trunk/src/msgs/facilities2.sql
===================================================================
--- firebird/trunk/src/msgs/facilities2.sql 2015-10-07 16:59:49 UTC (rev 62324)
+++ firebird/trunk/src/msgs/facilities2.sql 2015-10-07 18:24:36 UTC (rev 62325)
@@ -6,7 +6,7 @@
('2015-01-07 18:01:51', 'GFIX', 3, 134)
('1996-11-07 13:39:40', 'GPRE', 4, 1)
('2012-08-27 21:26:00', 'DSQL', 7, 33)
-('2014-04-22 16:39:03', 'DYN', 8, 290)
+('2015-10-07 12:30:00', 'DYN', 8, 291)
('1996-11-07 13:39:40', 'INSTALL', 10, 1)
('1996-11-07 13:38:41', 'TEST', 11, 4)
('2015-07-23 14:20:00', 'GBAK', 12, 370)
Modified: firebird/trunk/src/msgs/messages2.sql
===================================================================
--- firebird/trunk/src/msgs/messages2.sql 2015-10-07 16:59:49 UTC (rev 62324)
+++ firebird/trunk/src/msgs/messages2.sql 2015-10-07 18:24:36 UTC (rev 62325)
@@ -1934,7 +1934,7 @@
('dyn_procnotdef_package', 'CreatePackageBodyNode::execute', 'PackageNodes.epp', NULL, 8, 264, NULL, 'Procedure @1 has not been defined on the package body @2', NULL, NULL);
('dyn_funcsignat_package', 'CreatePackageBodyNode::execute', 'PackageNodes.epp', NULL, 8, 265, NULL, 'Function @1 has a signature mismatch on package body @2', NULL, NULL);
('dyn_procsignat_package', 'CreatePackageBodyNode::execute', 'PackageNodes.epp', NULL, 8, 266, NULL, 'Procedure @1 has a signature mismatch on package body @2', NULL, NULL);
-('dyn_defvaldecl_package', 'CreatePackageBodyNode::execute', 'PackageNodes.epp', NULL, 8, 267, NULL, 'Default values for parameters are allowed only in declaration of packaged procedure @1.@2', NULL, NULL);
+('dyn_defvaldecl_package_proc', 'CreatePackageBodyNode::execute', 'PackageNodes.epp', NULL, 8, 267, NULL, 'Default values for parameters are allowed only in declaration of packaged procedure @1.@2', NULL, NULL);
('dyn_dup_function', 'DYN_define_function', 'dyn_def.epp', NULL, 8, 268, NULL, 'Function @1 already exists', NULL, NULL);
('dyn_package_body_exists', NULL, 'DdlNodes.epp/PackageNodes.epp', NULL, 8, 269, NULL, 'Package body @1 already exists', NULL, NULL);
('dyn_invalid_ddl_func', 'CreateAlterFunctionNode::compile', 'DdlNodes.epp', NULL, 8, 270, NULL, 'Invalid DDL statement for function @1', NULL, NULL);
@@ -1957,6 +1957,7 @@
('dyn_cant_modify_sysobj', NULL, 'DdlNodes.epp', NULL, 8, 287, NULL, 'System @1 @2 cannot be modified', NULL, 'Ex: System generator rdb$... cannot be modified');
('dyn_cant_use_zero_increment', NULL, 'DdlNodes.epp', NULL, 8, 288, NULL, 'INCREMENT BY 0 is an illegal option for sequence @1', NULL, NULL);
('dyn_cant_use_in_foreignkey', NULL, 'DdlNodes.epp', NULL, 8, 289, NULL, 'Can''t use @1 in FOREIGN KEY constraint', NULL, NULL);
+('dyn_defvaldecl_package_func', 'CreatePackageBodyNode::execute', 'PackageNodes.epp', NULL, 8, 290, NULL, 'Default values for parameters are allowed only in declaration of packaged function @1.@2', NULL, NULL);
COMMIT WORK;
-- TEST
(NULL, 'main', 'test.c', NULL, 11, 0, NULL, 'This is a modified text message', NULL, NULL);
Modified: firebird/trunk/src/msgs/system_errors2.sql
===================================================================
--- firebird/trunk/src/msgs/system_errors2.sql 2015-10-07 16:59:49 UTC (rev 62324)
+++ firebird/trunk/src/msgs/system_errors2.sql 2015-10-07 18:24:36 UTC (rev 62325)
@@ -914,7 +914,7 @@
(-901, '42', '000', 8, 264, 'dyn_procnotdef_package', NULL, NULL)
(-901, '42', '000', 8, 265, 'dyn_funcsignat_package', NULL, NULL)
(-901, '42', '000', 8, 266, 'dyn_procsignat_package', NULL, NULL)
-(-901, '42', '000', 8, 267, 'dyn_defvaldecl_package', NULL, NULL)
+(-901, '42', '000', 8, 267, 'dyn_defvaldecl_package_proc', NULL, NULL)
(-901, '42', '000', 8, 269, 'dyn_package_body_exists', NULL, NULL)
(-607, 'HY', '000', 8, 270, 'dyn_invalid_ddl_func' NULL, NULL)
(-901, '42', '000', 8, 271, 'dyn_newfc_oldsyntax', NULL, NULL)
@@ -928,6 +928,7 @@
(-901, '42', '000', 8, 287, 'dyn_cant_modify_sysobj', NULL, NULL)
(-901, '42', '000', 8, 288, 'dyn_cant_use_zero_increment', NULL, NULL)
(-901, '42', '000', 8, 289, 'dyn_cant_use_in_foreignkey', NULL, NULL)
+(-901, '42', '000', 8, 290, 'dyn_defvaldecl_package_func', NULL, NULL)
-- GBAK
(-901, '00', '000', 12, 1, 'gbak_unknown_switch', NULL, NULL)
(-901, '00', '000', 12, 2, 'gbak_page_size_missing', NULL, NULL)
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|