[笔记]Ejabberd-15/16 Pubsub 分页获取Items问题

来源:互联网 发布:淘宝保证金计划不符合 编辑:程序博客网 时间:2024/06/10 06:52

问题:官方下载的安装包或源码安装,配置odbc/mysql作为pubsub的backend之后,当频道的items数量庞大时候,通过RSM来进行分页获取,完全无响应。


解决:

    开启Debug模式,发起一次items获取请求(RSM),发现很多SQL查询语句,其中有一句

       

select ... from pubsub_item where nodeid=... and modification is not in '传入的时间' order by .... 

  显然,这是错误的sql。导致查询的结果为空。


   Google无果,官方论坛搜索无果。

   硬着头皮找源代码,找到执行查询的地方。果不其然,在源码的 node_flat_odbc.erl 中找到了 get_items方法。

   在 get_items/7方法中,居然把after/before判断的case 条件注释掉了?!!!

   不知是和原因。


    总之,把注释去掉,重新编译。一切正常!

   

    该问题耗去笔者至少3天时间。不应该。应当早开启debug调试的。

0 0
原创粉丝点击