[MDEV-31064] I_S.parameters not immediatly changed updated after procedure change Created: 2023-04-17 Updated: 2023-12-05 Resolved: 2023-07-24 |
|
| Status: | Closed |
| Project: | MariaDB Server |
| Component/s: | Information Schema |
| Affects Version/s: | 10.6.11, 10.11.1 |
| Fix Version/s: | 10.4.31, 10.5.22, 10.6.15, 10.9.8, 10.10.6, 10.11.5, 11.0.3, 11.1.2, 11.2.1 |
| Type: | Bug | Priority: | Major |
| Reporter: | Diego Dupin | Assignee: | Lawrin Novitsky |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | CONNECTOR_RELATED | ||
| Issue Links: |
|
||||||||
| Description |
|
If having use a procedure, then in another connection, this procedure is changed (removing one parameter), a call to INFORMATION_SCHEMA.parameters will not reflect the changes in the the first connection. example to reproduce :
The failing scenario:
|
| Comments |
| Comment by Julian Bui [ 2023-04-17 ] |
|
I think the step "connection 2 : change procedure" should have removed the "p2 int" parameter from the procedure's inputs. |
| Comment by Julian Bui [ 2023-04-24 ] |
|
Here is the original ticket I created that spawned this one: As far as I know, the title of the ticket here is a little misleading and makes the problem seem less severe than it is? It's not that it doesn't "immediately" change, it just doesn't seem to change. |
| Comment by Lawrin Novitsky [ 2023-05-22 ] |
|
It possibly makes more sense to check if cache entry is not obsolete right in the sp_cache_lookup. In this way we ensure, that the similar situation won't happen under any circumstances. I don't think there can be any need to use obsolete object anywhere. |
| Comment by Lawrin Novitsky [ 2023-06-01 ] |
|
The new fix version doesn't remove obsolete sphead object from the cache entry, as it can be expected to exist by procedure being executed, but only does not take if for the forming of query results and compiles new object. In the fix sphead's version is compared with global cache version to decide if it's not obsolete and can be used. But probaibly it would better to add the method to the cache, that will tell if object is obsolete. As it looks like cache's job to tell that |
| Comment by Lawrin Novitsky [ 2023-06-05 ] |
|
I've pushed the new version. I've checked all test failures - they also fail in other branches, and do not really look like smth that I could cause. Could you please review the patch? |
| Comment by Oleksandr Byelkin [ 2023-07-06 ] |
|
OK to puh |
| Comment by Lawrin Novitsky [ 2023-07-24 ] |
|
Looks it's making to the 10.6.15 |