打印 Mnesia 表的最佳方式

2024-01-21

我尝试了这个代码片段:

print_next(Current) ->
    case mnesia:dirty_next(muppet, Current) of
        '$end_of_table' ->
            io:format("~n", []),
            ok;
        Next ->
            [Muppet] = mnesia:dirty_read({muppet, Next}),
            io:format("~p~n", [Muppet]),
            print_next(Next),
            ok
    end.

print() ->
    case mnesia:dirty_first(muppet) of
        '$end_of_table' ->
            ok;
        First ->
            [Muppet] = mnesia:dirty_read({muppet, First}),
            io:format("~p~n", [Muppet]),
            print_next(First),
            ok
    end.

但时间那么长。我也可以使用dirty_all_keys然后遍历键列表,但我想知道是否有更好的方法来打印 Mnesia 表内容。


如果您只是想要一种快速而肮脏的方式在 shell 中打印 Mnesia 表的内容,并且您的表不是类型disc_only_copies,那么您可以利用 Mnesia 将其数据存储在 ETS 表中的事实并运行:

ets:tab2list(my_table).

或者,如果您认为 shell 截断了太多数据:

rp(ets:tab2list(my_table)).

当然,不推荐用于“真实”代码。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

打印 Mnesia 表的最佳方式 的相关文章

  • Erlang中socket的“packet”选项怎么能如此加速tcp传输呢?

    使用 packet 4 通过本地主机上的两个不同端口传输1G数据只需要8秒 而使用 packet raw 则无法在30秒内完成相同的任务 我知道如果使用后一种方法 数据将以数万个小块的形式到达 在archlinux上大小为1460字节 我已
  • 如何在 erlang 中格式化包含整数的平面字符串?

    在erlang中 我想格式化一个包含整数的字符串 并且我希望结果被展平 但我明白了 io lib format sdfsdf B 12312 115 100 102 115 100 102 32 12312 我可以使用下面的代码获得所需的结
  • 在 Erlang 中确定传入 TCP/IP 连接的 IP 地址和端口

    我想获取传入 TCP IP 连接的 IP 地址和端口号 很遗憾gen tcp s accept and recv函数只返回一个套接字 而gen udp s recv函数还返回地址信息 有没有一种简单的方法来收集属于 Erlang 中套接字的
  • 有什么方法可以将 ActionScript 3 中的常规字符串转换为 Latin-1 字符代码的 ByteArray?

    我在将字符串转换为 UTF 16 编码字符的 byteArray 时没有问题 但我尝试与之通信的应用程序 用 Erlang 编写 仅理解 Latin 1 编码 有什么方法可以从 Actionscript 3 中的字符串生成充满 Latin
  • 主管在重新启动子进程时会阻止呼叫吗?

    我试图了解这里发生了什么 我有一个主管正在循环重新启动一个客户端而不触发MaxR MaxT机制 客户端崩溃的速度足够慢 永远不会触发速率限制 本来会有另一种机制使用supervisor which children 1 and delete
  • 如何使用 Erlang 发送推送通知?

    我正在尝试使用 Erlang 向 APNs 发送推送通知 这是我到目前为止想出的代码 module apnstest2 export connect 0 connect gt application start ssl ssl seed s
  • 使用 OTP 原理的非阻塞 TCP 服务器

    我开始学习 Erlang 所以我尝试写 hello world 并发编程 IRC 机器人 我已经使用 Erlang 编写了一个 没有任何 OTP 细节 管理程序 应用程序等行为 我希望使用 OTP 原则重写它 但不幸的是我无法找出使用 OT
  • `ejabberdctl start` 导致“内核 pid 终止”错误 - 我该怎么办?

    我用谷歌搜索了三个小时但没有结果 我有一个 ejabberd 安装 但不是使用 apt 安装的 它是从源代码安装的 其中没有名为 ejabberd 的程序 启动和停止 一切都是通过 ejabberdctl 进行的 它完美地运行了一个月 突然
  • rabbitmq-erlang-client,使用 rebar 友好的 pkg,在开发环境上工作在 rebar 版本上失败

    我成功地将rabbitmq erlang client的rebar友好包用于一个简单的Hello World rebarized和OTP 兼容 应用程序 并且在开发环境中工作正常 我能够启动 erl 控制台并执行我的操作applicatio
  • Erlang 中事件流(又名 CEP)的实时关联/分析有什么框架吗?

    想要分析具有某些特征 例如公共来源 的事件流 并在给定的时间窗口内 最终将这些多个事件关联起来并从中得出一些推论 最后启动一些操作 我对复杂事件处理 CEP 的有限了解告诉我 它是此类事情的理想选择 然而 在我迄今为止的研究中 我发现人们将
  • 在 Windows 上编译 Erlang 代码

    我安装了 Erlang 13B 并尝试按照教程进行操作 每次我到达c tut 我得到一个错误而不是 ok tut 所以看起来没有安装任何模块 有人能指出我正确的方向吗 我尝试过 Emacs 但我真的不知道如何使用它 甚至还没有接近让 Erl
  • 为什么在 Erlang 中使用 OTP?

    正如问题所说 使用 Erlang 进行开发时 使用 OTP 设计原则会带来什么好处 我正在开发一个仅接收命令并发送响应的服务器 正如 Jonas 所说 OTP 是一组久经考验的设计元素和习惯用法 用于创建容错系统以及其他功能 例如灵活性 实
  • Erlang停止gen_server

    我有 gen server start UserName gt case gen server start global UserName player of ok gt io format Player UserName started
  • 您应该将应用程序属性放在 rebar erlang 应用程序中的什么位置?

    新手问题 我编写了第一个基于 rebar 的 erlang 应用程序 我想配置一些基本属性 例如服务器主机等 放置它们的最佳位置在哪里以及如何将它们加载到应用程序中 接下来的步骤是发布版本并在其中创建节点 节点在独立的 Erlang VM
  • 在erlang中打印数字的每个数字的问题

    我正在尝试编写一个程序 该程序将读入一个数字 然后将该数字的每个数字输出到列表中 然而 在我尝试使用数字 8 和 9 之前 大多数事情看起来都很好 该程序仅输出 b t反而 如果输入的数字包含8或9 同时还有其他数字 例如283 就可以正常
  • 在 Erlang 中展平嵌套列表的列表

    我正在做练习Erlang编程 问题是 编写一个函数 给定一个嵌套列表的列表 该函数将返回一个平面列表 例子 flatten 1 2 3 4 5 6 1 2 3 4 5 6 提示 使用concatenate解决flatten 这是我的conc
  • Erlang 更好地支持哪种数据库(SQL)?

    你建议我在 Erlang 中使用什么 MySQL 还是 Postgres 哪个数据库有更好 更成熟 更稳定 更快 的 Erlang 驱动程序 The Erlang ODBC 接口 http erlang org doc apps odbc
  • 拦截登录/注销ejabberd

    我想知道用户何时在自定义模块中的 ejabberd 会话中登录和注销 而不更改 ejabberd 代码 我需要它 因为我必须在用户登录时执行一些操作 并清理用户注销时执行的操作 另外 在某些情况下我需要能够注销用户 那么 有没有办法扩展某些
  • 停止 Erlang 守护进程

    除了跑步 killall 9 beam smp 当我知道 Erlang 节点的情况时 如何以编程方式杀死它 sname 如果我不希望心跳监视器重新启动该进程 如何确保上述问题的任何答案也会终止心跳 有没有一个不错的指南来将 Erlang 部
  • 如何限制Erlang VM(BEAM)使用的核心数量?

    我正在具有 2 个四核 Xeon E5520 2 2GHz 24 0GB RAM 和 Erlang R15B02 启用 SMP 的节点上运行实验 我想知道是否可以限制Erlang VM使用的核心数量 以便我可以暂时禁用一些核心并逐步增加数量

随机推荐

  • 删除远程分支不会从 GitHub 中删除

    我有一个当地的分支机构 比如说hotfix 我把它放在 GitHub 上使用 git push u origin hotfix 然后合并分支后 我想删除它 所以我输入 git branch d hotfix 这会在本地删除分支 然而 远程分
  • 对符号 X509_free 的未定义引用

    我正在尝试使用 mongodb 旧版 C 驱动程序 这里的 legacy 是指生产版本 fwiw 在使用 clang 3 6 和 boost 1 55 来自 ubuntu 软件包存储库 并使用 mongo cxx driver 从 git
  • 无法使用 VCard 表示创建人员

    我正在使用 XCode 4 2 开发一个应用程序 并且尝试使用 initWithVCardRepresentation 和 或 ABPersonCreatePeopleInSourceWithVCardRepresentation 创建 A
  • 从 Apache Beam 中的多个文件夹读取文件并将输出映射到文件名

    致力于从多个文件夹中读取文件 然后使用 python sdk 和数据流运行程序将文件内容 文件名 文件内容 文件名 输出到 apache beam 中的 bigquery 最初以为我可以为每个文件创建一个 pcollection 然后将文件
  • 最优灵活盒子布局算法

    我正在实施CSS3 灵活的盒子布局模块 http www w3 org TR 2009 WD css3 flexbox 20090723 按照 W3C 的定义 类似于Mozilla 的 xul 盒子模型 https developer mo
  • 用于检查 linq to sql 数据上下文中的唯一性的通用验证属性

    我已经编写 asp net 几天了 这是一个我什至无法自己弄清楚的问题 我希望从代码中可以清楚地看出我想要完成的任务 并且我已经完成了 但这并不漂亮 此外 我想在任何表 任何字段上使用它 即根据我指定的表和字段检查值的唯一性 将其全部传递到
  • 每行中的列数可能不同的 JTable

    我正在寻找 JTable 的解决方案 其中我可以改变每行中的列数 但行的大小 以像素为单位 是恒定的 我发现迄今为止 stackoverflow 引用仅指向旧解决方案的死链接 每行具有不同列数的 JTable https stackover
  • 更新二维计数表

    假设我想要一个 Scala 数据结构来实现一个可以随时间变化的二维计数表 即表中的各个单元格可以递增或递减 我应该用什么来做到这一点 我可以使用二维数组 val x Array fill Int 1 2 0 x 1 2 1 但数组是可变的
  • GIT:错误:pathspec 'xxx 与 git 已知的任何文件都不匹配

    我的 git 存储库遇到一些问题 我找不到错误 事实是 我已经在 PHP 项目中使用了这个存储库 一切都很好 然后 我向其中 添加 了作曲家 也就是说 我将composer文件复制到存储库的根目录 创建了composer json 并使用了
  • 使用 Python/Selenium 切换 iframe

    我正在尝试使用selenium导航使用框架的网站 这是我第 1 部分的工作 python 脚本 from selenium import webdriver import time from urllib import request dr
  • 当应用程序位于*前台*时,红色录音状态栏“闪烁”

    有很多疑问 here https stackoverflow com questions 16878991 hide red recording status bar in ios app when not recording here h
  • 当另一个片段中的数据发生变化时,如何刷新一个片段中的RecyclerView

    数据提交成功后 如何将本地数据库的数据刷新到RecyclerView中 我使用应用程序上的选项卡 2nd Tab函数提交数据 如果成功 数据将存储在localDB Data on localDB我将在3rd Tab 但会发生什么 我必须刷卡
  • 在Excel VBA中,如何检索单元格内文本的格式

    在 Excel VBA 中 我想检索单元格的文本以及每个单词的格式 例如 单元格 A1 的值为 sample text Range A1 Value 属性仅返回纯文本 即 示例文本 我想要的是一个对象 它给我类似 示例 i gt 文本 Ex
  • 无互联网连接时的警报框 - Phonegap

    我试图在设备上没有互联网连接时弹出一个弹出窗口 I got 下面的例子 http docs phonegap com en 1 0 0 phonegap connection connection md html工作 但现在我希望仅在结果为
  • 无法从数据帧列表中获取索引位置

    我试图通过使用 python 中的内置方法索引从数据帧列表中获取数据帧的位置 我的代码如下 df1 pd DataFrame 1 2 3 df2 pd DataFrame 4 5 6 df3 pd DataFrame 7 8 9 dfs d
  • Google Glass Android Studio Gradle 问题

    我正在尝试使用 Android Studio 0 5 4 构建我的第一个 Google Glass 应用程序 但我收到构建错误 Error Module TestApplication TestApplication platform Go
  • 保证表值函数结果的顺序

    PREMISE 应用程序代码无法更改 条件非常具体 我正在寻找一些非书本上的东西 如果可以的话 这是最后的解决方法 我有一个表值函数 内联 可以生成 2 到 7 条记录 有时可能只有 1 个或最多 15 个 但很少 该函数仅由应用程序以这种
  • 特定值的固定颜色

    我正在尝试制作温度图 一切正常 但我不知道如何拥有固定的调色板 其实我有这个 rgb palette lt colorRampPalette c blue green yellow orange red space Lab image pl
  • 如何在java中改变我的框架?

    假设有一个按钮 如果您单击该按钮 则会出现一个新框架 依此类推 The setVisible true 函数用于显示框架 创建所需框架的对象并调用此函数 像这样的东西 The applications first or the main f
  • 打印 Mnesia 表的最佳方式

    我尝试了这个代码片段 print next Current gt case mnesia dirty next muppet Current of end of table gt io format n ok Next gt Muppet