问题标签 [monetdb]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
90 浏览

r - 如何将列添加到 monet.frame?

如何将列添加到monet.frame-object?

monet.frame例如,如果我想向被调用 添加一个简单的行 ID data,我可以通过执行以下操作来实现:

但必须有一种不那么老套的方式。如果您按照上面给出的方式执行此操作,则新创建的id-column 在您执行时不会显示,str(data)或者names(data),例如,因为当底层数据库更改时该信息不会更新 --- 它是在data初始化时生成的,而不是在调用这些访问函数的位置。它确实在直接访问行时出现,data因为查询会按写入方式执行。

像上面这样的事情仍然安全吗?

更一般地说,我需要做一些monet.frame超出包中可用功能的事情,并且有兴趣知道如何在 a 上运行更一般的 SQL 查询monet.frame,类似于dplyr's sql()-function 允许的内容。我会很感激这方面的任何指示——例如,我是否必须使用dbSendQueryetc. 并将其结果转换为 new monet.frame?如何?


编辑:

没关系,应该更仔细地阅读手册,我没有看到它monet.frame接受可以解释为 SQL 查询的字符串以及数据库中已经存在的表名。

这就是我现在的做法:


编辑 2:如果应用于由涉及 ORDER、LIMIT 或 OFFSET 语句的查询monet.frame创建的 a ,这将中断。transform.monet.frame

0 投票
1 回答
1877 浏览

centos - how do I install MonetDB on Centos 6.5?

I would like to install MonetDB on Centos 6.5.

MonetDB website describes how to install for Debian / Ubuntu / Fedora distributions.

I've a server on Centos 6.5 (and I'm not entirely sure to which Fedora distribution this should compare with).

Obviously I would like to install the latest binaries of MonetDB: I would rather avoid to install from source (unless strictly necessary).

How do I do it?

0 投票
1 回答
106 浏览

sql - MonetDB.R 的 `na.omit` 坏了吗?

我认为MonetDB.R过滤 NA 的方式存在错误,请参见下面的示例代码:

用于对对象进行一般 SQL 查询的便捷实用功能monet.frame

例子:

100行!?!应该是90...

我想我理解为什么引用列名是必要的(所以这也适用于非标准列名,对吗?),但是为什么这会弄乱查询结果呢?这两个不应该是完全等价的查询吗?另外,如果确实需要引用列名,为什么第一次出现的xna没有被引用

我注意到这一点是因为它也会使其他monet.frame-methods 行为异常,例如:


编辑添加:

na.fail似乎也坏了:

它不会引发错误,而是在应用于包含 NA 的列时返回 NULL,并带有一个神秘的警告,乍一看表明实际上没有 NA:

如果没有 NA,na.fail()则应根据泛型文档原样返回其参数,但它也不这样做:

0 投票
1 回答
295 浏览

.net - 您如何为 .net 引用 monetdb odbc 驱动程序

我正在尝试从 .net 应用程序访问 monetdb - 看看它是否适合我使用。我已在我的机器上下载并安装了 ODBC 驱动程序(来自 monetDB.org)。我无法添加对它的引用。我的假设是要引用的正确文件是 libMonetODBC.dll 并且不起作用 - 其他文件也不起作用。如果我尝试添加对它的引用,我会收到一条消息 - “无法添加对 'C:\Program Files\MonetDB\MonetDB ODBC Driver\lib\libMonetODBC.dll' 的引用。请确保该文件是可访问的,并且它是一个有效的程序集或 COM 组件。”

有没有人试过这个,你是怎么做的?同样,我的假设是我应该能够像所有其他人一样引用 dll,然后添加一个 using/imports 语句以在应用程序中使用它。我没有看到很多文档或其他人从 .net 使用它。MonetDB.org 似乎没有其他步骤,除了从 excel 或其他东西中使用它。我错过了什么?

0 投票
1 回答
334 浏览

python - 如何在 python 中从头开始设置(新的)monetdb 数据库?

我正在尝试使用 python 创建一个 monetdb 数据库。数据库一开始不存在:代码应该创建它,指定端口,它将驻留的文件夹和数据库名称。我可以清楚地假设数据库已经存在的所有示例。在某种程度上,这应该类似于通常由 moneddbd 守护程序管理的操作。如何从头开始在 python 中设置(新)monetdb 数据库?

0 投票
1 回答
291 浏览

r - monetdb & R 的 CSV 加载错误

我正在尝试使用 R 和 RStudio 将各种 CSV 加载到 monetdb 中,但出现以下错误。这是代码(使用 iris 数据集测试的代码,通常工作正常)和错误消息:

我要加载的文件是一个简短的 csv:

RStudio 可以毫无问题地读取上述 CSV 文件。更重要的是,我可以用 read.csv 将这个 CSV 读入 R 数据帧,然后用 write.table 写一个 CSV 文件。现在我可以使用上面的代码毫无问题地将这个“新”CSV 加载到 monetdb 中。

请注意,我尝试在各处使用引号“”来编辑文件,以查看是否是问题所在,但仍然出现错误。

0 投票
2 回答
124 浏览

sql - SQL语句生成一列,其值为记录索引

我有一些 SQL 表,比如单列 c1:

c1
10
3
1
10
5

现在,我想发出一个 SQL 命令(不是我的 DBMS 的某些操作,我故意没有提到),这导致我的表是:

c1 记录索引
10 0
3 1
1 2
10 3
5 4

很简单……这可以吗?显然,你事先并不知道表的长度,所以没有 SQL 插入或类似的技巧。

注意:我想要一个一般性的答案,但要具体一点 - 我正在使用MonetDB

0 投票
1 回答
1055 浏览

sql - 使用 where 子句与 group by 的最小/最大查询

运行 MonetDB 数据库服务器工具包 v1.1 (Feb2013-SP6)

这个查询

为每个行类型返回正确的最小和最大日期。

这个查询,在同一张表上

似乎“忽略” where 子句,返回

我还没有找到该答案的一般 sql 先例(还)。这是预期的反应吗?

我期待这个

我在 Oracle 和 SQL Server 中尝试了类似的查询并得到了我的预期响应。然而,我发现支持“忽略”where 子句的通用 sql 注释。也许这是 MonetDB 使用特定 SQL 标准的一个案例?

0 投票
2 回答
340 浏览

indices - monetdb - 复制到 from...需要没有索引的表

当我尝试在有主键和外键的表中加载 .tbl 数据时,Monetdb 出现此错误,这是怎么回事?这是命令:

0 投票
1 回答
1587 浏览

sql-update - 如何使用另一个表或子查询的聚合结果更新表?

首先,我使用 MonetDB Database Server Toolkit v1.1 (Feb2013-SP1) 中的 MonetDB 分支

我有两张表,想在不创建临时表的情况下完成以下两个功能:

1)从另一张表更新一张表;2) 从另一个表的聚合中更新一个表。

我想出了如何在 MySQL 和 Postgresql 中执行它们,但在 MonetDB 中类似的查询失败了。 

对于 1),假设我有以下两个表:

当它们的 id 匹配时,我们需要将 t1.data 设置为 t1.data+t2.data,t1.id=t2.id。

在 MySQL 中,我们可以使用:

在 Postgresql 中,我们可以使用:

或者对于两者,我们可以使用:

但是它们都不能在 MonetDB 中工作。

这个问题类似于之前提出的问题(https://www.monetdb.org/pipermail/users-list/2011-August/005072.html),但回答的建议似乎不正确。那里的两个表对于元组 id=2 具有相同的值。

因此,在这个查询中,select 的第一个子查询中的数据字段实际上来自 t2 而不是 t1。但是,如果我们更改为 t1.data,解析器将无法识别名称 t1。它以某种方式连接它可以识别条件子句中的 t1.id。

并不是说以下查询也不正确:

由于子查询变得独立于外部查询,并且可能导致违反赋值基数的多个值。

更改 t1 和 t2 中的字段名称也无济于事。

对于 2),假设我们有以下两个表:

我们想要聚合 t2 中的值并将结果分配给 t1。

在 MySQL 中,我们可以使用:

或者在 Postgresql 中,我们可以使用:

在 MonetDB 中,如何在更新语句中正确编写这样的子查询?

看起来 MonetDB 在 select 中支持 with 子句,但在 update 中不支持。

我也很想知道使用子查询和创建临时表之间的性能差异。

谢谢!