mnesia相关内容

随机bad_object_header遗忘/错失错误

我的失忆症有一个很奇怪的错误。我有大约10张记忆卡正在记录的桌子,通常它可以正常工作。但是,在代码的某个位置,每当我尝试从特定表中读取(尝试从其他表中读取都可以)时,都会收到DETS错误。 我将代码缩减为 {atomic,ok} = mnesia:transaction(fun()-> [ Entry] = mnesia:read(table_name,Key), ok e ..
发布时间:2020-10-30 19:19:23 其他开发

如何在erlang中读取mnesia数据库的所有记录?

我是erlang的新手,我需要对从mnesia数据库获得的所有记录进行一些操作。 Result = mnesia:dirty_read(mydatabase,{key1,key2}), 情况 的结果[]-> ?DEBUG(“未找到这样的记录”,[]); [#mydatabase {key3 = Key3}]-> %%一些操作 结束 如何向我的循环添加对所有记录执行 ..
发布时间:2020-10-30 19:07:35 其他开发

更新mnesia模式的最简单方法是什么?

例如,我在记忆中保存了 {id,name} 并想更新为 {id,name,age} ,是否每次更改架构都必须调用 transform_table ? 解决方案 最简单的方法是删除表并重新创建它。如果您需要将数据保留在表格中,请 mnesia:transform_table 是必经之路。 ..
发布时间:2020-10-30 19:05:27 其他开发

用try / catch意外拦截Mnesia的事务重试会导致各种怪异

因此,我在一次交易中对记录集进行CRUD操作时遇到各种麻烦。它使我在此处发布了两个问题,和 MoreTrouble 。 但是,我认为这两个问题都是由以下原因造成的:在我的交易中,我将mnesia:writes,reads等包含在try / catch块中,捕获了包括mnesia被中止的所有内容即, insert(Key,Value)-> F = fun()-> case sc_ ..
发布时间:2020-10-30 19:02:44 其他开发

我们是否有内置机制在Elixir中启动Mnesia?

似乎我们只能通过输入 iex --erl“ --mnesia dir'〜/ doc /'” --name mynode 来启动Mnesia。 我们可以直接启动它而不将参数传递给 erl 吗? 解决方案 您可以在代码中动态设置它。上面的-erl 指令所做的就是在启动mnesia应用程序之前对其进行配置。您可以通过以下方式实现此目的: #首次加载健忘症 iex(1)> :appl ..
发布时间:2020-10-28 22:14:58 其他开发

Elixir如何读取远程节点Mnesia表

我正在尝试使用Elixir编写程序来访问失忆症。我在Amazon Linux中运行Iex Shell。我尝试使用 Node.connect(:'hello@abc.com') 连接另一个节点code> 返回true,然后我要在此远程节点上运行mnesia命令,我发出 :mneisa.info 但是,它只返回本地节点的记忆信息。如何访问连接的远程节点的 ..
发布时间:2020-10-28 22:12:34 其他开发

尝试在ejabberd(17.07)的android设备上使用smack api(4.2)注册用户时出现错误

我试图找到错误的原因,但找不到。如果有人可以提出建议,将不胜感激。 以前,我使用的是ejabberd 2.1版,默认设置为mnesia,可以正常工作。我可以从Android应用程序注册用户。 但是现在当我用mysql安装新的ejabberd 17.07时,它给了我如下错误: 连接XMPPTCPConnection [未认证](5)关闭,错误为 org.jivesoftware. ..
发布时间:2020-10-28 00:05:39 数据库

如何阻止ejabberd使用失忆症

我正在尝试建立一个程序,以将数据库从崩溃的服务器恢复到新服务器。我的服务器将Ejabberd作为XMPP服务器运行,我将其配置为使用postgresql而不是mnesia-或我认为。 我的过程类似于“转储内容原始数据库,运行新服务器,使用psql还原数据库的内容,然后运行系统”。但是,当我再次尝试运行Ejabberd时遇到崩溃: = CRASH REPORT ==== 2010年12 ..
发布时间:2020-10-28 00:00:55 其他开发

Mnesia的安全,顺序和可扩展计数器

我正在用Erlang / OTP编写应用程序,并希望在版本记录系统上使用顺序计数器。 我首先使用 来实现它们mnesia:dirty_update_counter ,但是使用它的经验驱使了这些硬性要求: 计数器必须具有以下属性: 是严格顺序的-1跟在 之后是2然后是3,依此类推,等等 序列在分布式集中共享的系统,如果我 将您的状态记为'3',而您将 的状态记为 ..
发布时间:2020-10-16 04:21:31 其他开发

我们如何有效处理与记忆相关的时间相关约束?

我正在将记录写入失忆症,应该保存在那里 仅在允许的时间(24小时)内. 24小时后,在用户修改其中的一部分之前, 系统应自动将其删除.例如,给用户免费通话时间(用于语音通话) 他们应该在给定的时间内使用.如果他们不使用它,则24小时后,系统应 从用户记录中删除这些资源保留. 现在,这带来了计时器.记录结构的一个示例是: -record(free_airtime, ..
发布时间:2020-07-15 03:46:26 其他开发

在erlang中调用未定义的函数

我想将DATA fom表mnesia导出到txt文件 我尝试使用以下代码: exporttxt() - > F = fun(T) - > mensia:foldl(fun(X,Acc) - > [X | Acc] end,[],T)end, {atomic,L} = mnesia:transaction(F(user)), 文件:write_file(“test.txt” ..
发布时间:2017-08-27 14:19:45 其他开发语言

从mnesia导出数据到excel

我有表用户 -record(person,{id,firstname,lastname})。 此表包含以下值: 1 francoi mocci 2 test tes 我的目标我如何将这些数据从mnesia导出到excel 我知道将数据从excel传输到mnesia的相反方式 在这种情况下,解决方案是在csv.file中交换 ..
发布时间:2017-08-27 14:19:07 其他开发语言

Mnesia返回{aborted,no_transaction}

-record(person,{id,firstname,lastname,phone})。 该表包含以下值: 12 alen dumas 97888888 13 franco mocci 55522225 14 ali othmani 44444449 我想检索最后一个id,在我的情况下 14 。 我尝试: p> tes ..
发布时间:2017-08-27 14:02:48 其他开发语言

ejabberd主管模块

我需要保持gen_mod进程运行,因为它循环每分钟,并进行一些清理。然而,每隔几天就会崩溃,我将不得不手动启动它。 我可以使用一个将主管实现到ejabberd_sup的基本示例,以便它可以继续下去我很难理解使用gen_server的示例。 感谢您的帮助。 解决方案 这是一个示例模块,结合ejabberd的 gen_mod 和OTP的 gen_server 。说明在代码中内联。 ..
发布时间:2017-08-27 13:52:05 其他开发语言

提取与mnesia中的值相对应的多行

情况是: - 我有像{“Groupid(主键)”,“groupname”,“grouptype”,“creatorid”,“adminid”,“Member_list”}之类的元素元组。 Member_list =“memberone @ xyz,membertwo @ xyz,memberthree @ xyz”。现在我想提取所有这些行,其中membertwo @ xyz存在。如何从mne ..
发布时间:2017-08-27 13:48:16 其他开发语言

分页搜索Erlang Mnesia

例如,给定记录 -record(item,{ id, time, status})。 我想搜索1000到1100个项目,按时间排序,状态=:=> 任何建议? 解决方案 这取决于你的查询的样子。如果您需要订购许多不同的列,那么我会考虑使用SQL而不是Mnesia。 但是,如果您只需要描述的那种查询,应该能够使用 orde ..
发布时间:2017-08-27 13:17:04 其他开发语言

Mnesia等同于SQL NOT IN

我有两条记录: -record(foo,{timestamp,name})。 -record(bar,{timestamp,name})。 我想执行一个Mnesia查询,模拟以下SQL查询 SELECT f。* FROM foo f WHERE f.timestamp NOT IN(SELECT b.timestamp FROM boo b) ..
发布时间:2017-08-27 13:12:25 其他开发语言