From: <asf...@us...> - 2011-11-10 14:55:13
|
Revision: 53623 http://firebird.svn.sourceforge.net/firebird/?rev=53623&view=rev Author: asfernandes Date: 2011-11-10 14:55:06 +0000 (Thu, 10 Nov 2011) Log Message: ----------- Feature CORE-3018 - RECREATE SEQUENCE/GENERATOR. 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/parse.y 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/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 2011-11-10 14:35:40 UTC (rev 53622) +++ firebird/trunk/lang_helpers/gds_codes.ftn 2011-11-10 14:55:06 UTC (rev 53623) @@ -2116,6 +2116,8 @@ PARAMETER (GDS__dsql_drop_view_failed = 336397302) INTEGER*4 GDS__dsql_drop_sequence_failed PARAMETER (GDS__dsql_drop_sequence_failed = 336397303) + INTEGER*4 GDS__dsql_recreate_sequence_failed + PARAMETER (GDS__dsql_recreate_sequence_failed = 336397304) INTEGER*4 GDS__gsec_cant_open_db PARAMETER (GDS__gsec_cant_open_db = 336723983) INTEGER*4 GDS__gsec_switches_error Modified: firebird/trunk/lang_helpers/gds_codes.pas =================================================================== --- firebird/trunk/lang_helpers/gds_codes.pas 2011-11-10 14:35:40 UTC (rev 53622) +++ firebird/trunk/lang_helpers/gds_codes.pas 2011-11-10 14:55:06 UTC (rev 53623) @@ -1065,6 +1065,7 @@ gds_dsql_recreate_view_failed = 336397301; gds_dsql_drop_view_failed = 336397302; gds_dsql_drop_sequence_failed = 336397303; + gds_dsql_recreate_sequence_failed = 336397304; gds_gsec_cant_open_db = 336723983; gds_gsec_switches_error = 336723984; gds_gsec_no_op_spec = 336723985; Modified: firebird/trunk/src/dsql/DdlNodes.epp =================================================================== --- firebird/trunk/src/dsql/DdlNodes.epp 2011-11-10 14:35:40 UTC (rev 53622) +++ firebird/trunk/src/dsql/DdlNodes.epp 2011-11-10 14:55:06 UTC (rev 53623) @@ -4749,7 +4749,7 @@ if (found) executeDdlTrigger(tdbb, dsqlScratch, transaction, DTW_AFTER, DDL_TRIGGER_DROP_SEQUENCE, name); - else + else if (!silent) status_exception::raise(Arg::Gds(isc_gennotdef) << Arg::Str(name)); } Modified: firebird/trunk/src/dsql/DdlNodes.h =================================================================== --- firebird/trunk/src/dsql/DdlNodes.h 2011-11-10 14:35:40 UTC (rev 53622) +++ firebird/trunk/src/dsql/DdlNodes.h 2011-11-10 14:55:06 UTC (rev 53623) @@ -888,7 +888,7 @@ statusVector << Firebird::Arg::Gds(isc_dsql_create_sequence_failed) << name; } -private: +public: Firebird::MetaName name; }; @@ -898,7 +898,8 @@ public: DropSequenceNode(MemoryPool& pool, const Firebird::MetaName&aName) : DdlNode(pool), - name(pool, aName) + name(pool, aName), + silent(false) { } @@ -915,11 +916,16 @@ statusVector << Firebird::Arg::Gds(isc_dsql_drop_sequence_failed) << name; } -private: +public: Firebird::MetaName name; + bool silent; }; +typedef RecreateNode<CreateSequenceNode, DropSequenceNode, isc_dsql_recreate_sequence_failed> + RecreateSequenceNode; + + class RelationNode : public DdlNode { public: Modified: firebird/trunk/src/dsql/parse.y =================================================================== --- firebird/trunk/src/dsql/parse.y 2011-11-10 14:35:40 UTC (rev 53622) +++ firebird/trunk/src/dsql/parse.y 2011-11-10 14:55:06 UTC (rev 53623) @@ -646,6 +646,7 @@ Jrd::CreateAlterProcedureNode* createAlterProcedureNode; Jrd::CreateAlterTriggerNode* createAlterTriggerNode; Jrd::CreateAlterPackageNode* createAlterPackageNode; + Jrd::CreateSequenceNode* createSequenceNode; Firebird::Array<Jrd::CreateAlterPackageNode::Item>* packageItems; Jrd::ExceptionArray* exceptionArray; Jrd::CreateAlterPackageNode::Item packageItem; @@ -881,7 +882,8 @@ %type <boolVal> release_only_opt -%type <ddlNode> alter_charset_clause comment generator_clause +%type <ddlNode> alter_charset_clause comment +%type <createSequenceNode> generator_clause %type <stmtNode> if_then_else in_autonomous_transaction excp_statement raise_statement %type <execBlockNode> exec_block @@ -1342,6 +1344,10 @@ { $$ = makeClassNode(newNode<RecreatePackageBodyNode>($3)); } | EXCEPTION rexception_clause { $$ = $2; } + | GENERATOR generator_clause + { $$ = makeClassNode(newNode<RecreateSequenceNode>($2)); } + | SEQUENCE generator_clause + { $$ = makeClassNode(newNode<RecreateSequenceNode>($2)); } ; create_or_alter Modified: firebird/trunk/src/include/gen/codetext.h =================================================================== --- firebird/trunk/src/include/gen/codetext.h 2011-11-10 14:35:40 UTC (rev 53622) +++ firebird/trunk/src/include/gen/codetext.h 2011-11-10 14:55:06 UTC (rev 53623) @@ -1054,6 +1054,7 @@ {"dsql_recreate_view_failed", 336397301}, {"dsql_drop_view_failed", 336397302}, {"dsql_drop_sequence_failed", 336397303}, + {"dsql_recreate_sequence_failed", 336397304}, {"gsec_cant_open_db", 336723983}, {"gsec_switches_error", 336723984}, {"gsec_no_op_spec", 336723985}, Modified: firebird/trunk/src/include/gen/iberror.h =================================================================== --- firebird/trunk/src/include/gen/iberror.h 2011-11-10 14:35:40 UTC (rev 53622) +++ firebird/trunk/src/include/gen/iberror.h 2011-11-10 14:55:06 UTC (rev 53623) @@ -1088,6 +1088,7 @@ const ISC_STATUS isc_dsql_recreate_view_failed = 336397301L; const ISC_STATUS isc_dsql_drop_view_failed = 336397302L; const ISC_STATUS isc_dsql_drop_sequence_failed = 336397303L; +const ISC_STATUS isc_dsql_recreate_sequence_failed = 336397304L; const ISC_STATUS isc_gsec_cant_open_db = 336723983L; const ISC_STATUS isc_gsec_switches_error = 336723984L; const ISC_STATUS isc_gsec_no_op_spec = 336723985L; @@ -1189,7 +1190,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 = 1133; +const ISC_STATUS isc_err_max = 1134; #else /* c definitions */ @@ -2247,6 +2248,7 @@ #define isc_dsql_recreate_view_failed 336397301L #define isc_dsql_drop_view_failed 336397302L #define isc_dsql_drop_sequence_failed 336397303L +#define isc_dsql_recreate_sequence_failed 336397304L #define isc_gsec_cant_open_db 336723983L #define isc_gsec_switches_error 336723984L #define isc_gsec_no_op_spec 336723985L @@ -2348,7 +2350,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 1133 +#define isc_err_max 1134 #endif Modified: firebird/trunk/src/include/gen/msgs.h =================================================================== --- firebird/trunk/src/include/gen/msgs.h 2011-11-10 14:35:40 UTC (rev 53622) +++ firebird/trunk/src/include/gen/msgs.h 2011-11-10 14:55:06 UTC (rev 53623) @@ -1057,6 +1057,7 @@ {336397301, "RECREATE VIEW @1 failed"}, /* dsql_recreate_view_failed */ {336397302, "DROP VIEW @1 failed"}, /* dsql_drop_view_failed */ {336397303, "DROP SEQUENCE @1 failed"}, /* dsql_drop_sequence_failed */ + {336397304, "RECREATE SEQUENCE @1 failed"}, /* dsql_recreate_sequence_failed */ {336723983, "unable to open database"}, /* gsec_cant_open_db */ {336723984, "error in switch specifications"}, /* gsec_switches_error */ {336723985, "no operation specified"}, /* gsec_no_op_spec */ Modified: firebird/trunk/src/include/gen/sql_code.h =================================================================== --- firebird/trunk/src/include/gen/sql_code.h 2011-11-10 14:35:40 UTC (rev 53622) +++ firebird/trunk/src/include/gen/sql_code.h 2011-11-10 14:55:06 UTC (rev 53623) @@ -1053,6 +1053,7 @@ {336397301, -901}, /* 1013 dsql_recreate_view_failed */ {336397302, -901}, /* 1014 dsql_drop_view_failed */ {336397303, -901}, /* 1015 dsql_drop_sequence_failed */ + {336397304, -901}, /* 1016 dsql_recreate_sequence_failed */ {336723983, -901}, /* 15 gsec_cant_open_db */ {336723984, -901}, /* 16 gsec_switches_error */ {336723985, -901}, /* 17 gsec_no_op_spec */ Modified: firebird/trunk/src/include/gen/sql_state.h =================================================================== --- firebird/trunk/src/include/gen/sql_state.h 2011-11-10 14:35:40 UTC (rev 53622) +++ firebird/trunk/src/include/gen/sql_state.h 2011-11-10 14:55:06 UTC (rev 53623) @@ -1053,6 +1053,7 @@ {336397301, "42000"}, // 1013 dsql_recreate_view_failed {336397302, "42000"}, // 1014 dsql_drop_view_failed {336397303, "42000"}, // 1015 dsql_drop_sequence_failed + {336397304, "42000"}, // 1016 dsql_recreate_sequence_failed {336723983, "00000"}, // 15 gsec_cant_open_db {336723984, "00000"}, // 16 gsec_switches_error {336723985, "00000"}, // 17 gsec_no_op_spec Modified: firebird/trunk/src/msgs/facilities2.sql =================================================================== --- firebird/trunk/src/msgs/facilities2.sql 2011-11-10 14:35:40 UTC (rev 53622) +++ firebird/trunk/src/msgs/facilities2.sql 2011-11-10 14:55:06 UTC (rev 53623) @@ -20,7 +20,7 @@ ('1996-11-07 13:39:40', 'INSTALL', 10, 1) ('1996-11-07 13:38:41', 'TEST', 11, 4) ('2011-06-01 12:57:44', 'GBAK', 12, 351) -('2010-08-01 13:05:00', 'SQLERR', 13, 1016) +('2010-11-10 12:40:00', 'SQLERR', 13, 1017) ('1996-11-07 13:38:42', 'SQLWARN', 14, 613) ('2006-09-10 03:04:31', 'JRD_BUGCHK', 15, 307) -- Modified: firebird/trunk/src/msgs/messages2.sql =================================================================== --- firebird/trunk/src/msgs/messages2.sql 2011-11-10 14:35:40 UTC (rev 53622) +++ firebird/trunk/src/msgs/messages2.sql 2011-11-10 14:55:06 UTC (rev 53623) @@ -2483,6 +2483,7 @@ ('dsql_recreate_view_failed', 'getMainErrorCode', 'DdlNodes.h', NULL, 13, 1013, NULL, 'RECREATE VIEW @1 failed', NULL, NULL); ('dsql_drop_view_failed', 'getMainErrorCode', 'DdlNodes.h', NULL, 13, 1014, NULL, 'DROP VIEW @1 failed', NULL, NULL); ('dsql_drop_sequence_failed', 'getMainErrorCode', 'DdlNodes.h', NULL, 13, 1015, NULL, 'DROP SEQUENCE @1 failed', NULL, NULL); +('dsql_recreate_sequence_failed', 'getMainErrorCode', 'DdlNodes.h', NULL, 13, 1016, NULL, 'RECREATE SEQUENCE @1 failed', NULL, NULL); -- SQLWARN (NULL, NULL, NULL, NULL, 14, 100, NULL, 'Row not found for fetch, update or delete, or the result of a query is an empty table.', NULL, NULL); (NULL, NULL, NULL, NULL, 14, 101, NULL, 'segment buffer length shorter than expected', NULL, NULL); Modified: firebird/trunk/src/msgs/system_errors2.sql =================================================================== --- firebird/trunk/src/msgs/system_errors2.sql 2011-11-10 14:35:40 UTC (rev 53622) +++ firebird/trunk/src/msgs/system_errors2.sql 2011-11-10 14:55:06 UTC (rev 53623) @@ -1046,6 +1046,7 @@ (-901, '42', '000', 13, 1013, 'dsql_recreate_view_failed', NULL, NULL); (-901, '42', '000', 13, 1014, 'dsql_drop_view_failed', NULL, NULL); (-901, '42', '000', 13, 1015, 'dsql_drop_sequence_failed', NULL, NULL); +(-901, '42', '000', 13, 1016, 'dsql_recreate_sequence_failed', NULL, NULL); -- GSEC (-901, '00', '000', 18, 15, 'gsec_cant_open_db', NULL, NULL) (-901, '00', '000', 18, 16, 'gsec_switches_error', NULL, NULL) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |