Added missing sql_finalize which is used to cleanup as early as possible the last statement when it is not needed anymore.

This commit is contained in:
2015-10-19 23:33:17 +02:00
parent f51ddc9796
commit 782e9397a3
10 changed files with 50 additions and 10 deletions

View File

@@ -94,6 +94,7 @@ feature -- Persistence
-- sql_change (sql_insert_node_data, l_parameters) -- sql_change (sql_insert_node_data, l_parameters)
end end
end end
sql_finalize
end end
end end
@@ -117,6 +118,7 @@ feature -- Persistence
create l_parameters.make (1) create l_parameters.make (1)
l_parameters.put (a_node.id, "nid") l_parameters.put (a_node.id, "nid")
sql_modify (sql_delete_node_data, l_parameters) sql_modify (sql_delete_node_data, l_parameters)
sql_finalize
end end
end end

View File

@@ -64,6 +64,7 @@ feature -- Access
end end
sql_forth sql_forth
end end
sql_finalize
end end
blogs_limited (a_limit: NATURAL_32; a_offset: NATURAL_32): LIST [CMS_NODE] blogs_limited (a_limit: NATURAL_32; a_offset: NATURAL_32): LIST [CMS_NODE]
@@ -90,6 +91,7 @@ feature -- Access
end end
sql_forth sql_forth
end end
sql_finalize
end end
blogs_from_user_limited (a_user: CMS_USER; a_limit: NATURAL_32; a_offset: NATURAL_32): LIST [CMS_NODE] blogs_from_user_limited (a_user: CMS_USER; a_limit: NATURAL_32; a_offset: NATURAL_32): LIST [CMS_NODE]
@@ -117,6 +119,7 @@ feature -- Access
end end
sql_forth sql_forth
end end
sql_finalize
end end
feature {NONE} -- Queries feature {NONE} -- Queries

View File

@@ -34,7 +34,6 @@ feature -- Access
sql_finalize sql_finalize
end end
nodes: LIST [CMS_NODE] nodes: LIST [CMS_NODE]
-- List of nodes. -- List of nodes.
do do
@@ -54,6 +53,7 @@ feature -- Access
end end
sql_forth sql_forth
end end
sql_finalize
end end
node_revisions (a_node: CMS_NODE): LIST [CMS_NODE] node_revisions (a_node: CMS_NODE): LIST [CMS_NODE]
@@ -81,6 +81,7 @@ feature -- Access
end end
sql_forth sql_forth
end end
sql_finalize
end end
trashed_nodes (a_user: detachable CMS_USER): LIST [CMS_NODE] trashed_nodes (a_user: detachable CMS_USER): LIST [CMS_NODE]
@@ -110,6 +111,7 @@ feature -- Access
end end
sql_forth sql_forth
end end
sql_finalize
end end
recent_nodes (a_lower: INTEGER; a_count: INTEGER): LIST [CMS_NODE] recent_nodes (a_lower: INTEGER; a_count: INTEGER): LIST [CMS_NODE]
@@ -136,6 +138,7 @@ feature -- Access
end end
sql_forth sql_forth
end end
sql_finalize
end end
recent_node_changes_before (a_lower: INTEGER; a_count: INTEGER; a_date: DATE_TIME): LIST [CMS_NODE] recent_node_changes_before (a_lower: INTEGER; a_count: INTEGER; a_date: DATE_TIME): LIST [CMS_NODE]
@@ -164,6 +167,7 @@ feature -- Access
end end
sql_forth sql_forth
end end
sql_finalize
end end
node_by_id (a_id: INTEGER_64): detachable CMS_NODE node_by_id (a_id: INTEGER_64): detachable CMS_NODE
@@ -252,7 +256,7 @@ feature -- Access
end end
-- if Result = 0 and not has_error then --| include the case a_node = Void -- if Result = 0 and not has_error then --| include the case a_node = Void
-- sql_query (Sql_last_insert_node_revision, Void) -- sql_query (Sql_last_insert_node_revision, Void)
-- if sql_rows_count = 1 then -- if not has_error and not sql_after then
-- if sql_item (1) /= Void then -- if sql_item (1) /= Void then
-- Result := sql_read_integer_64 (1) -- Result := sql_read_integer_64 (1)
-- end -- end
@@ -285,6 +289,7 @@ feature -- Access: outline
end end
sql_forth sql_forth
end end
sql_finalize
end end
available_parents_for_node (a_node: CMS_NODE): LIST [CMS_NODE] available_parents_for_node (a_node: CMS_NODE): LIST [CMS_NODE]
@@ -310,6 +315,7 @@ feature -- Access: outline
end end
sql_forth sql_forth
end end
sql_finalize
end end
feature -- Change: Node feature -- Change: Node
@@ -339,6 +345,7 @@ feature -- Change: Node
l_parameters.put ({CMS_NODE_API}.trashed, "status") l_parameters.put ({CMS_NODE_API}.trashed, "status")
l_parameters.put (a_id, "nid") l_parameters.put (a_id, "nid")
sql_modify (sql_trash_node, l_parameters) sql_modify (sql_trash_node, l_parameters)
sql_finalize
end end
delete_node_base (a_node: CMS_NODE) delete_node_base (a_node: CMS_NODE)
@@ -354,10 +361,12 @@ feature -- Change: Node
create l_parameters.make (1) create l_parameters.make (1)
l_parameters.put (a_node.id, "nid") l_parameters.put (a_node.id, "nid")
sql_modify (sql_delete_node, l_parameters) sql_modify (sql_delete_node, l_parameters)
sql_finalize
-- we remove node_revisions and pages. -- we remove node_revisions and pages.
-- Check: maybe we need a transaction. -- Check: maybe we need a transaction.
sql_modify (sql_delete_node_revisions, l_parameters) sql_modify (sql_delete_node_revisions, l_parameters)
sql_finalize
if not error_handler.has_error then if not error_handler.has_error then
extended_delete (a_node) extended_delete (a_node)
@@ -379,6 +388,7 @@ feature -- Change: Node
l_parameters.put ({CMS_NODE_API}.not_published, "status") l_parameters.put ({CMS_NODE_API}.not_published, "status")
l_parameters.put (a_id, "nid") l_parameters.put (a_id, "nid")
sql_modify (sql_restore_node, l_parameters) sql_modify (sql_restore_node, l_parameters)
sql_finalize
end end
@@ -423,6 +433,8 @@ feature {NONE} -- Implementation
l_copy_parameters.force (a_node.id, "nid") l_copy_parameters.force (a_node.id, "nid")
-- l_copy_parameters.force (l_rev - 1, "revision") -- l_copy_parameters.force (l_rev - 1, "revision")
sql_insert (sql_copy_node_to_revision, l_copy_parameters) sql_insert (sql_copy_node_to_revision, l_copy_parameters)
sql_finalize
if not has_error then if not has_error then
a_node.set_revision (l_rev) a_node.set_revision (l_rev)
@@ -431,6 +443,7 @@ feature {NONE} -- Implementation
l_parameters.put (a_node.id, "nid") l_parameters.put (a_node.id, "nid")
l_parameters.put (a_node.revision, "revision") l_parameters.put (a_node.revision, "revision")
sql_modify (sql_update_node, l_parameters) sql_modify (sql_update_node, l_parameters)
sql_finalize
if not error_handler.has_error then if not error_handler.has_error then
a_node.set_modification_date (now) a_node.set_modification_date (now)
@@ -442,6 +455,8 @@ feature {NONE} -- Implementation
l_parameters.put (l_rev, "revision") l_parameters.put (l_rev, "revision")
sql_insert (sql_insert_node, l_parameters) sql_insert (sql_insert_node, l_parameters)
sql_finalize
if not error_handler.has_error then if not error_handler.has_error then
a_node.set_modification_date (now) a_node.set_modification_date (now)
a_node.set_id (last_inserted_node_id) a_node.set_id (last_inserted_node_id)

View File

@@ -84,6 +84,7 @@ feature -- Persistence
sql_insert (sql_insert_node_data, l_parameters) sql_insert (sql_insert_node_data, l_parameters)
end end
end end
sql_finalize
end end
end end
@@ -122,6 +123,7 @@ feature -- Persistence
create l_parameters.make (1) create l_parameters.make (1)
l_parameters.put (a_node.id, "nid") l_parameters.put (a_node.id, "nid")
sql_modify (sql_delete_node_data, l_parameters) sql_modify (sql_delete_node_data, l_parameters)
sql_finalize
end end
end end
@@ -151,6 +153,7 @@ feature {NONE} -- Implementation
check unique_data: n = 0 end check unique_data: n = 0 end
end end
end end
sql_finalize
ensure ensure
accepted_revision: Result /= Void implies Result.revision <= a_node.revision accepted_revision: Result /= Void implies Result.revision <= a_node.revision
end end

View File

@@ -121,6 +121,7 @@ feature {CMS_API} -- Module management
end end
l_sql_storage.sql_forth l_sql_storage.sql_forth
end end
l_sql_storage.sql_finalize
across l_consumers as ic loop across l_consumers as ic loop
if not l_sql_storage.sql_table_exists (ic.item) then if not l_sql_storage.sql_table_exists (ic.item) then
if attached l_sql_storage.sql_script_content (api.module_resource_location (Current, (create {PATH}.make_from_string ("scripts")).extended ("oauth2_table.sql.tpl"))) as sql then if attached l_sql_storage.sql_script_content (api.module_resource_location (Current, (create {PATH}.make_from_string ("scripts")).extended ("oauth2_table.sql.tpl"))) as sql then
@@ -131,6 +132,7 @@ feature {CMS_API} -- Module management
end end
end end
end end
l_sql_storage.sql_finalize
Precursor {CMS_MODULE}(api) Precursor {CMS_MODULE}(api)
end end
end end

View File

@@ -134,6 +134,7 @@ feature --Access: Consumers
sql_forth sql_forth
end end
end end
sql_finalize
end end
oauth_consumer_by_name (a_name: READABLE_STRING_8): detachable CMS_OAUTH_20_CONSUMER oauth_consumer_by_name (a_name: READABLE_STRING_8): detachable CMS_OAUTH_20_CONSUMER
@@ -203,6 +204,7 @@ feature -- Change: User OAuth
l_string.replace_substring_all ("$table_name", oauth2_sql_table_name (a_consumer)) l_string.replace_substring_all ("$table_name", oauth2_sql_table_name (a_consumer))
sql_insert (l_string, l_parameters) sql_insert (l_string, l_parameters)
sql_commit_transaction sql_commit_transaction
sql_finalize
end end
update_user_oauth2 (a_token: READABLE_STRING_GENERAL; a_user_profile: READABLE_STRING_32; a_user: CMS_USER; a_consumer: READABLE_STRING_GENERAL ) update_user_oauth2 (a_token: READABLE_STRING_GENERAL; a_user_profile: READABLE_STRING_32; a_user: CMS_USER; a_consumer: READABLE_STRING_GENERAL )
@@ -224,6 +226,7 @@ feature -- Change: User OAuth
l_string.replace_substring_all ("$table_name", oauth2_sql_table_name (a_consumer)) l_string.replace_substring_all ("$table_name", oauth2_sql_table_name (a_consumer))
sql_modify (l_string, l_parameters) sql_modify (l_string, l_parameters)
sql_commit_transaction sql_commit_transaction
sql_finalize
end end
remove_user_oauth2 (a_user: CMS_USER; a_consumer: READABLE_STRING_GENERAL) remove_user_oauth2 (a_user: CMS_USER; a_consumer: READABLE_STRING_GENERAL)
@@ -243,6 +246,7 @@ feature -- Change: User OAuth
l_string.replace_substring_all ("$table_name", oauth2_sql_table_name (a_consumer)) l_string.replace_substring_all ("$table_name", oauth2_sql_table_name (a_consumer))
sql_modify (l_string, l_parameters) sql_modify (l_string, l_parameters)
sql_commit_transaction sql_commit_transaction
sql_finalize
end end
feature {NONE} -- Implementation OAuth Consumer feature {NONE} -- Implementation OAuth Consumer

View File

@@ -64,9 +64,9 @@ feature -- Access User Outh
else else
check no_more_than_one: False end check no_more_than_one: False end
end end
sql_finalize
end end
feature --Access: Consumers feature --Access: Consumers
openid_consumers: LIST [STRING] openid_consumers: LIST [STRING]
@@ -88,6 +88,7 @@ feature --Access: Consumers
sql_forth sql_forth
end end
end end
sql_finalize
end end
openid_consumer_by_name (a_name: READABLE_STRING_8): detachable CMS_OPENID_CONSUMER openid_consumer_by_name (a_name: READABLE_STRING_8): detachable CMS_OPENID_CONSUMER
@@ -128,6 +129,7 @@ feature -- Change: User OAuth
l_parameters.put (create {DATE_TIME}.make_now_utc, "utc_date") l_parameters.put (create {DATE_TIME}.make_now_utc, "utc_date")
sql_insert (Sql_insert_openid, l_parameters) sql_insert (Sql_insert_openid, l_parameters)
sql_commit_transaction sql_commit_transaction
sql_finalize
end end
feature {NONE} -- Implementation OAuth Consumer feature {NONE} -- Implementation OAuth Consumer

View File

@@ -38,6 +38,7 @@ feature -- URL aliases
end end
else else
sql_insert (sql_insert_path_alias, l_parameters) sql_insert (sql_insert_path_alias, l_parameters)
sql_finalize
end end
end end
@@ -64,6 +65,7 @@ feature -- URL aliases
l_parameters.put (a_alias, "alias") l_parameters.put (a_alias, "alias")
sql_modify (sql_update_path_alias, l_parameters) sql_modify (sql_update_path_alias, l_parameters)
sql_finalize
end end
end end
@@ -80,6 +82,7 @@ feature -- URL aliases
create l_parameters.make (1) create l_parameters.make (1)
l_parameters.put (a_alias, "alias") l_parameters.put (a_alias, "alias")
sql_modify (sql_delete_path_alias, l_parameters) sql_modify (sql_delete_path_alias, l_parameters)
sql_finalize
else else
error_handler.add_custom_error (0, "alias mismatch", "Path alias %"" + a_alias + "%" is not related to source %"" + a_source + "%"!") error_handler.add_custom_error (0, "alias mismatch", "Path alias %"" + a_alias + "%" is not related to source %"" + a_source + "%"!")
end end
@@ -171,6 +174,7 @@ feature -- Logs
end end
l_parameters.put (now, "date") l_parameters.put (now, "date")
sql_insert (sql_insert_log, l_parameters) sql_insert (sql_insert_log, l_parameters)
sql_finalize
end end
sql_insert_log: STRING = "INSERT INTO logs (category, level, uid, message, info, link, date) VALUES (:category, :level, :uid, :message, :info, :link, :date);" sql_insert_log: STRING = "INSERT INTO logs (category, level, uid, message, info, link, date) VALUES (:category, :level, :uid, :message, :info, :link, :date);"
@@ -198,9 +202,11 @@ feature -- Misc
-- already up to date -- already up to date
else else
sql_modify (sql_update_custom_value, l_parameters) sql_modify (sql_update_custom_value, l_parameters)
sql_finalize
end end
else else
sql_insert (sql_insert_custom_value, l_parameters) sql_insert (sql_insert_custom_value, l_parameters)
sql_finalize
end end
end end
@@ -219,6 +225,7 @@ feature -- Misc
end end
l_parameters.put (a_name, "name") l_parameters.put (a_name, "name")
sql_modify (sql_delete_custom_value, l_parameters) sql_modify (sql_delete_custom_value, l_parameters)
sql_finalize
end end
custom_value (a_name: READABLE_STRING_GENERAL; a_type: detachable READABLE_STRING_8): detachable READABLE_STRING_32 custom_value (a_name: READABLE_STRING_GENERAL; a_type: detachable READABLE_STRING_8): detachable READABLE_STRING_32

View File

@@ -207,6 +207,7 @@ feature -- Helper
else else
sql_commit_transaction sql_commit_transaction
end end
sql_finalize
end end
sql_table_exists (a_table_name: READABLE_STRING_8): BOOLEAN sql_table_exists (a_table_name: READABLE_STRING_8): BOOLEAN
@@ -216,6 +217,7 @@ feature -- Helper
sql_query ("SELECT count(*) FROM " + a_table_name + " ;", Void) sql_query ("SELECT count(*) FROM " + a_table_name + " ;", Void)
Result := not has_error Result := not has_error
-- FIXME: find better solution -- FIXME: find better solution
sql_finalize
reset_error reset_error
end end
@@ -227,6 +229,7 @@ feature -- Helper
if not has_error then if not has_error then
Result := sql_read_integer_64 (1) Result := sql_read_integer_64 (1)
end end
sql_finalize
end end
feature -- Access feature -- Access

View File

@@ -275,6 +275,7 @@ feature -- Change: user
l_parameters.put (a_user.status, "status") l_parameters.put (a_user.status, "status")
sql_modify (sql_update_user, l_parameters) sql_modify (sql_update_user, l_parameters)
sql_finalize
if not error_handler.has_error then if not error_handler.has_error then
update_user_roles (a_user) update_user_roles (a_user)
end end
@@ -402,9 +403,8 @@ feature -- Access: roles and permissions
if Result /= Void and not has_error then if Result /= Void and not has_error then
fill_user_role (Result) fill_user_role (Result)
end end
else
sql_finalize
end end
sql_finalize
end end
user_role_by_name (a_name: READABLE_STRING_GENERAL): detachable CMS_USER_ROLE user_role_by_name (a_name: READABLE_STRING_GENERAL): detachable CMS_USER_ROLE
@@ -425,9 +425,8 @@ feature -- Access: roles and permissions
if Result /= Void and not has_error then if Result /= Void and not has_error then
fill_user_role (Result) fill_user_role (Result)
end end
else
sql_finalize
end end
sql_finalize
end end
user_roles_for (a_user: CMS_USER): LIST [CMS_USER_ROLE] user_roles_for (a_user: CMS_USER): LIST [CMS_USER_ROLE]
@@ -575,6 +574,7 @@ feature -- Change: roles and permissions
l_parameters.put (a_user_role.id, "rid") l_parameters.put (a_user_role.id, "rid")
l_parameters.put (a_user_role.name, "name") l_parameters.put (a_user_role.name, "name")
sql_modify (sql_update_user_role, l_parameters) sql_modify (sql_update_user_role, l_parameters)
sql_finalize
end end
if not a_user_role.permissions.is_empty then if not a_user_role.permissions.is_empty then
-- FIXME: check if this is non set permissions,or none ... -- FIXME: check if this is non set permissions,or none ...
@@ -621,16 +621,14 @@ feature -- Change: roles and permissions
create l_parameters.make (1) create l_parameters.make (1)
l_parameters.put (a_user_role.name, "name") l_parameters.put (a_user_role.name, "name")
sql_insert (sql_insert_user_role, l_parameters) sql_insert (sql_insert_user_role, l_parameters)
sql_finalize
if not error_handler.has_error then if not error_handler.has_error then
a_user_role.set_id (last_inserted_user_role_id) a_user_role.set_id (last_inserted_user_role_id)
sql_finalize
across across
a_user_role.permissions as ic a_user_role.permissions as ic
loop loop
set_permission_for_role_id (ic.item, a_user_role.id) set_permission_for_role_id (ic.item, a_user_role.id)
end end
else
sql_finalize
end end
end end
end end
@@ -691,6 +689,7 @@ feature -- Change: roles and permissions
create l_parameters.make (1) create l_parameters.make (1)
l_parameters.put (a_role.id, "rid") l_parameters.put (a_role.id, "rid")
sql_modify (sql_delete_role_permissions_by_role_id, l_parameters) sql_modify (sql_delete_role_permissions_by_role_id, l_parameters)
sql_finalize
sql_modify (sql_delete_role_by_id, l_parameters) sql_modify (sql_delete_role_by_id, l_parameters)
sql_commit_transaction sql_commit_transaction
sql_finalize sql_finalize