Mercurial > prosody-hg
annotate plugins/mod_debug_sql.lua @ 13955:01f95f3de6fc
usermanager: More consistent method behaviour, errors, and (pre-)events
This commit refactors most of the exported usermanager methods substantially
to ensure that all of them correctly check for the presence of the host and
method they are calling and return consistent errors if either is incorrect or
missing.
It also unifies the event and logging code, so as a result there are more
events being fired than before this commit (it also adds pre- events so that
modules can block an action from going ahead).
We don't have good test coverage of this API, but some manual testing suggests
it seems to be working okay...
| author | Matthew Wild <mwild1@gmail.com> |
|---|---|
| date | Thu, 25 Sep 2025 16:53:35 +0100 |
| parents | 5edb0d01a94f |
| children |
| rev | line source |
|---|---|
|
7176
b8bbd5f91ad9
mod_debug_sql: Small plugin that enables raw SQL query logging (for debugging)
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
1 -- Enables SQL query logging |
|
b8bbd5f91ad9
mod_debug_sql: Small plugin that enables raw SQL query logging (for debugging)
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
2 -- |
|
b8bbd5f91ad9
mod_debug_sql: Small plugin that enables raw SQL query logging (for debugging)
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
3 -- luacheck: ignore 213/uri |
|
b8bbd5f91ad9
mod_debug_sql: Small plugin that enables raw SQL query logging (for debugging)
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
4 |
|
8391
5edb0d01a94f
mod_debug_sql: Declare itself as global module
Kim Alvefur <zash@zash.se>
parents:
7176
diff
changeset
|
5 module:set_global(); |
|
5edb0d01a94f
mod_debug_sql: Declare itself as global module
Kim Alvefur <zash@zash.se>
parents:
7176
diff
changeset
|
6 |
|
7176
b8bbd5f91ad9
mod_debug_sql: Small plugin that enables raw SQL query logging (for debugging)
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
7 local engines = module:shared("/*/sql/connections"); |
|
b8bbd5f91ad9
mod_debug_sql: Small plugin that enables raw SQL query logging (for debugging)
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
8 |
|
b8bbd5f91ad9
mod_debug_sql: Small plugin that enables raw SQL query logging (for debugging)
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
9 for uri, engine in pairs(engines) do |
|
b8bbd5f91ad9
mod_debug_sql: Small plugin that enables raw SQL query logging (for debugging)
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
10 engine:debug(true); |
|
b8bbd5f91ad9
mod_debug_sql: Small plugin that enables raw SQL query logging (for debugging)
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
11 end |
|
b8bbd5f91ad9
mod_debug_sql: Small plugin that enables raw SQL query logging (for debugging)
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
12 |
|
b8bbd5f91ad9
mod_debug_sql: Small plugin that enables raw SQL query logging (for debugging)
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
13 setmetatable(engines, { |
|
b8bbd5f91ad9
mod_debug_sql: Small plugin that enables raw SQL query logging (for debugging)
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
14 __newindex = function (t, uri, engine) |
|
b8bbd5f91ad9
mod_debug_sql: Small plugin that enables raw SQL query logging (for debugging)
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
15 engine:debug(true); |
|
b8bbd5f91ad9
mod_debug_sql: Small plugin that enables raw SQL query logging (for debugging)
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
16 rawset(t, uri, engine); |
|
b8bbd5f91ad9
mod_debug_sql: Small plugin that enables raw SQL query logging (for debugging)
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
17 end |
|
b8bbd5f91ad9
mod_debug_sql: Small plugin that enables raw SQL query logging (for debugging)
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
18 }); |
|
b8bbd5f91ad9
mod_debug_sql: Small plugin that enables raw SQL query logging (for debugging)
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
19 |
|
b8bbd5f91ad9
mod_debug_sql: Small plugin that enables raw SQL query logging (for debugging)
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
20 function module.unload() |
|
b8bbd5f91ad9
mod_debug_sql: Small plugin that enables raw SQL query logging (for debugging)
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
21 setmetatable(engines, nil); |
|
b8bbd5f91ad9
mod_debug_sql: Small plugin that enables raw SQL query logging (for debugging)
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
22 for uri, engine in pairs(engines) do |
|
b8bbd5f91ad9
mod_debug_sql: Small plugin that enables raw SQL query logging (for debugging)
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
23 engine:debug(false); |
|
b8bbd5f91ad9
mod_debug_sql: Small plugin that enables raw SQL query logging (for debugging)
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
24 end |
|
b8bbd5f91ad9
mod_debug_sql: Small plugin that enables raw SQL query logging (for debugging)
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
25 end |
|
b8bbd5f91ad9
mod_debug_sql: Small plugin that enables raw SQL query logging (for debugging)
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
26 |
|
b8bbd5f91ad9
mod_debug_sql: Small plugin that enables raw SQL query logging (for debugging)
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
27 |
