|
From: <ale...@us...> - 2014-06-24 06:58:08
|
Revision: 59758
http://sourceforge.net/p/firebird/code/59758
Author: alexpeshkoff
Date: 2014-06-24 06:58:05 +0000 (Tue, 24 Jun 2014)
Log Message:
-----------
Fixed CORE-4464: Duplicate tags for CREATE/ALTER USER not handled correctly
Modified Paths:
--------------
firebird/trunk/lang_helpers/gds_codes.ftn
firebird/trunk/lang_helpers/gds_codes.pas
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/UserManagement.cpp
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 2014-06-24 01:06:22 UTC (rev 59757)
+++ firebird/trunk/lang_helpers/gds_codes.ftn 2014-06-24 06:58:05 UTC (rev 59758)
@@ -1596,6 +1596,8 @@
PARAMETER (GDS__set_invalid_role = 335545091)
INTEGER*4 GDS__cursor_not_positioned
PARAMETER (GDS__cursor_not_positioned = 335545092)
+ INTEGER*4 GDS__dup_attribute
+ PARAMETER (GDS__dup_attribute = 335545093)
INTEGER*4 GDS__gfix_db_name
PARAMETER (GDS__gfix_db_name = 335740929)
INTEGER*4 GDS__gfix_invalid_sw
Modified: firebird/trunk/lang_helpers/gds_codes.pas
===================================================================
--- firebird/trunk/lang_helpers/gds_codes.pas 2014-06-24 01:06:22 UTC (rev 59757)
+++ firebird/trunk/lang_helpers/gds_codes.pas 2014-06-24 06:58:05 UTC (rev 59758)
@@ -805,6 +805,7 @@
gds_miss_trusted_role = 335545090;
gds_set_invalid_role = 335545091;
gds_cursor_not_positioned = 335545092;
+ gds_dup_attribute = 335545093;
gds_gfix_db_name = 335740929;
gds_gfix_invalid_sw = 335740930;
gds_gfix_incmp_sw = 335740932;
Modified: firebird/trunk/src/include/gen/codetext.h
===================================================================
--- firebird/trunk/src/include/gen/codetext.h 2014-06-24 01:06:22 UTC (rev 59757)
+++ firebird/trunk/src/include/gen/codetext.h 2014-06-24 06:58:05 UTC (rev 59758)
@@ -794,6 +794,7 @@
{"miss_trusted_role", 335545090},
{"set_invalid_role", 335545091},
{"cursor_not_positioned", 335545092},
+ {"dup_attribute", 335545093},
{"gfix_db_name", 335740929},
{"gfix_invalid_sw", 335740930},
{"gfix_incmp_sw", 335740932},
Modified: firebird/trunk/src/include/gen/iberror.h
===================================================================
--- firebird/trunk/src/include/gen/iberror.h 2014-06-24 01:06:22 UTC (rev 59757)
+++ firebird/trunk/src/include/gen/iberror.h 2014-06-24 06:58:05 UTC (rev 59758)
@@ -828,6 +828,7 @@
const ISC_STATUS isc_miss_trusted_role = 335545090L;
const ISC_STATUS isc_set_invalid_role = 335545091L;
const ISC_STATUS isc_cursor_not_positioned = 335545092L;
+const ISC_STATUS isc_dup_attribute = 335545093L;
const ISC_STATUS isc_gfix_db_name = 335740929L;
const ISC_STATUS isc_gfix_invalid_sw = 335740930L;
const ISC_STATUS isc_gfix_incmp_sw = 335740932L;
@@ -1286,7 +1287,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 = 1230;
+const ISC_STATUS isc_err_max = 1231;
#else /* c definitions */
@@ -2084,6 +2085,7 @@
#define isc_miss_trusted_role 335545090L
#define isc_set_invalid_role 335545091L
#define isc_cursor_not_positioned 335545092L
+#define isc_dup_attribute 335545093L
#define isc_gfix_db_name 335740929L
#define isc_gfix_invalid_sw 335740930L
#define isc_gfix_incmp_sw 335740932L
@@ -2542,7 +2544,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 1230
+#define isc_err_max 1231
#endif
Modified: firebird/trunk/src/include/gen/msgs.h
===================================================================
--- firebird/trunk/src/include/gen/msgs.h 2014-06-24 01:06:22 UTC (rev 59757)
+++ firebird/trunk/src/include/gen/msgs.h 2014-06-24 06:58:05 UTC (rev 59758)
@@ -797,6 +797,7 @@
{335545090, "Your attachment has no trusted role"}, /* miss_trusted_role */
{335545091, "Role @1 is invalid or unavailable"}, /* set_invalid_role */
{335545092, "Cursor @1 is not positioned in a valid record"}, /* cursor_not_positioned */
+ {335545093, "Duplicated user attribute @1"}, /* dup_attribute */
{335740929, "data base file name (@1) already given"}, /* gfix_db_name */
{335740930, "invalid switch @1"}, /* gfix_invalid_sw */
{335740932, "incompatible switch combination"}, /* gfix_incmp_sw */
Modified: firebird/trunk/src/include/gen/sql_code.h
===================================================================
--- firebird/trunk/src/include/gen/sql_code.h 2014-06-24 01:06:22 UTC (rev 59757)
+++ firebird/trunk/src/include/gen/sql_code.h 2014-06-24 06:58:05 UTC (rev 59758)
@@ -793,6 +793,7 @@
{335545090, -901}, /* 770 miss_trusted_role */
{335545091, -901}, /* 771 set_invalid_role */
{335545092, -596}, /* 772 cursor_not_positioned */
+ {335545093, -901}, /* 773 dup_attribute */
{335740929, -901}, /* 1 gfix_db_name */
{335740930, -901}, /* 2 gfix_invalid_sw */
{335740932, -901}, /* 4 gfix_incmp_sw */
Modified: firebird/trunk/src/include/gen/sql_state.h
===================================================================
--- firebird/trunk/src/include/gen/sql_state.h 2014-06-24 01:06:22 UTC (rev 59757)
+++ firebird/trunk/src/include/gen/sql_state.h 2014-06-24 06:58:05 UTC (rev 59758)
@@ -780,7 +780,7 @@
{335545077, "08004"}, // 757 server_misconfigured
{335545078, "0A000"}, // 758 alter_role
{335545079, "42S01"}, // 759 map_already_exists
- {335545080, "42S01"}, // 760 map_not_exists
+ {335545080, "42S02"}, // 760 map_not_exists
{335545081, "08004"}, // 761 map_load
{335545082, "08004"}, // 762 map_aster
{335545083, "08004"}, // 763 map_multi
@@ -793,6 +793,7 @@
{335545090, "0P000"}, // 770 miss_trusted_role
{335545091, "0P000"}, // 771 set_invalid_role
{335545092, "HY109"}, // 772 cursor_not_positioned
+ {335545093, "42702"}, // 773 dup_attribute
{335740929, "00000"}, // 1 gfix_db_name
{335740930, "00000"}, // 2 gfix_invalid_sw
{335740932, "00000"}, // 4 gfix_incmp_sw
Modified: firebird/trunk/src/jrd/UserManagement.cpp
===================================================================
--- firebird/trunk/src/jrd/UserManagement.cpp 2014-06-24 01:06:22 UTC (rev 59757)
+++ firebird/trunk/src/jrd/UserManagement.cpp 2014-06-24 06:58:05 UTC (rev 59758)
@@ -257,6 +257,19 @@
ConfigFile::Parameters::const_iterator cur(ccf.getParameters().begin());
ConfigFile::Parameters::const_iterator curEnd(ccf.getParameters().end());
+ // Dup check
+ ConfigFile::KeyType prev;
+ while (cur != curEnd)
+ {
+ if (cur->name == prev)
+ {
+ (Arg::Gds(isc_dup_attribute) << cur->name).raise();
+ }
+ prev = cur->name;
+ ++cur;
+ }
+ cur = ccf.getParameters().begin();
+
string merged;
while (old != oldEnd && cur != curEnd)
{
Modified: firebird/trunk/src/msgs/facilities2.sql
===================================================================
--- firebird/trunk/src/msgs/facilities2.sql 2014-06-24 01:06:22 UTC (rev 59757)
+++ firebird/trunk/src/msgs/facilities2.sql 2014-06-24 06:58:05 UTC (rev 59758)
@@ -1,7 +1,7 @@
/* MAX_NUMBER is the next number to be used, always one more than the highest message number. */
set bulk_insert INSERT INTO FACILITIES (LAST_CHANGE, FACILITY, FAC_CODE, MAX_NUMBER) VALUES (?, ?, ?, ?);
--
-('2014-05-14 23:48:00', 'JRD', 0, 773)
+('2014-06-24 10:13:56', 'JRD', 0, 774)
('2012-01-23 20:10:30', 'QLI', 1, 532)
('2013-11-13 15:59:10', 'GFIX', 3, 122)
('1996-11-07 13:39:40', 'GPRE', 4, 1)
Modified: firebird/trunk/src/msgs/messages2.sql
===================================================================
--- firebird/trunk/src/msgs/messages2.sql 2014-06-24 01:06:22 UTC (rev 59757)
+++ firebird/trunk/src/msgs/messages2.sql 2014-06-24 06:58:05 UTC (rev 59758)
@@ -880,6 +880,7 @@
('miss_trusted_role', 'SetRoleNode::execute', 'StmtNodes.cpp', NULL, 0, 770, NULL, 'Your attachment has no trusted role', NULL, NULL);
('set_invalid_role', 'SetRoleNode::execute', 'StmtNodes.cpp', NULL, 0, 771, NULL, 'Role @1 is invalid or unavailable', NULL, NULL);
('cursor_not_positioned', NULL, NULL, NULL, 0, 772, NULL, 'Cursor @1 is not positioned in a valid record', NULL, NULL);
+('dup_attribute', 'UserManagement::execute', 'UserManagement.cpp', NULL, 0, 773, NULL, 'Duplicated user attribute @1', NULL, NULL);
-- QLI
(NULL, NULL, NULL, NULL, 1, 0, NULL, 'expected type', NULL, NULL);
(NULL, NULL, NULL, NULL, 1, 1, NULL, 'bad block type', NULL, NULL);
Modified: firebird/trunk/src/msgs/system_errors2.sql
===================================================================
--- firebird/trunk/src/msgs/system_errors2.sql 2014-06-24 01:06:22 UTC (rev 59757)
+++ firebird/trunk/src/msgs/system_errors2.sql 2014-06-24 06:58:05 UTC (rev 59758)
@@ -766,7 +766,7 @@
(-901, '08', '004', 0, 757, 'server_misconfigured', NULL, NULL);
(-901, '0A', '000', 0, 758, 'alter_role', NULL, NULL);
(-901, '42', 'S01', 0, 759, 'map_already_exists', NULL, NULL);
-(-901, '42', 'S01', 0, 760, 'map_not_exists', NULL, NULL);
+(-901, '42', 'S02', 0, 760, 'map_not_exists', NULL, NULL);
(-901, '08', '004', 0, 761, 'map_load', NULL, NULL);
(-901, '08', '004', 0, 762, 'map_aster', NULL, NULL);
(-901, '08', '004', 0, 763, 'map_multi', NULL, NULL);
@@ -779,6 +779,7 @@
(-901, '0P', '000', 0, 770, 'miss_trusted_role', NULL, NULL);
(-901, '0P', '000', 0, 771, 'set_invalid_role', NULL, NULL);
(-596, 'HY', '109', 0, 772, 'cursor_not_positioned', NULL, NULL)
+(-901, '42', '702', 0, 773, 'dup_attribute', NULL, NULL);
-- GFIX
(-901, '00', '000', 3, 1, 'gfix_db_name', NULL, NULL)
(-901, '00', '000', 3, 2, 'gfix_invalid_sw', NULL, NULL)
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|