问题标签 [sqlkorma]
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.
jdbc - clojure sqlkorma 库:内存不足错误
我正在做我认为是相当简单的任务:使用 sqlkorma 库(http://sqlkorma.com)运行 sql 查询(超过大约 65K 行数据),并以某种方式对每一行进行转换,然后写入 CSV 文件。考虑到我有一台 8GB 的笔记本电脑,我真的不认为 65K 行有那么大,但我还假设一个 sql 结果集会被延迟获取,所以整个事情永远不会同时保存在内存中。所以当我最终得到这个堆栈跟踪时,我真的很惊讶:
据我从堆栈中可以看出,它没有超出查询代码(这意味着它根本没有达到我的转换/写入 CSV 代码)。如果重要的话,我的 sql 相当简单,基本上是SELECT * FROM my_table WHERE SOME_ID IS NOT NULL AND ROWNUM < 65000 ORDER BY some_id ASC
. 这是oracle(解释上面的rownum),但我认为这很重要。
编辑:
代码示例:
postgresql - 如何让 Korma 与 Postgres FDW 一起工作?
使用 Postgres 的 FDW 命令进行 EXTENSION、USER MAPPING 和 CREATE FOREIGN TABLE 时如何使用 SQLKorma?
clojure - Korma 中的 with 子句是否会针对关系中的每个项目触发一个查询?
Korma 页面上的文档说,在实体下,
所以,如果我理解正确,如果一位老师有很多学生,并且我希望所有学生都嵌套在每个教师地图中,那么 Korma 将为每个教师生成一个 SQL 查询?
当我们拥有数以百万计的老师时,这不会影响表现吗?
postgresql - 使用 Korma 运行原始 sql 时,如何在准备好的语句中传递 clojure 向量?
我的查询类似于
我不断收到这个错误,Clojure 无法推断持久向量的 SQL 类型,使用 setObject 来告诉类型,现在如何将 setObject 与 CLojure 一起使用?
clojure - Korma中`oracle`函数的确切用法和clojure代码的含义?
我正在尝试使用 Korma 连接到 Oracle 数据库。首先,我尝试使用此代码并成功连接。
但我发现还有一个更方便的功能korma.db.oracle
。所以代码看起来像这样简化:
但它失败了。它试图localhost
. 当我检查oracle
函数的结果时,我发现有一些奇怪的东西。
我检查了 Korma 源代码,oracle
函数代码是:
简而言之,我的问题是:
- 函数的具体用法是
oracle
什么?我错过了什么? - 函数代码
oracle
对我来说看起来很奇怪。谁能解释一下代码,尤其是参数部分...[{:keys [host .... ] :or {...} :as ...}]
postgresql - Clojure Korma 可以在 Postgres 中生成 WITH - RETURNING 查询吗?
我正在尝试从 Postgres 文档中重现此查询:
Korma 真的可以做到吗(当然,除了编写原始 SQL 之外)?我在文档中没有提到它。
谢谢...
clojure - 从 Korma 的表中不选择任何字段
我正在尝试跨多个表进行连接(三个表加上中间的连接表)。我认为 korma 正在懒惰地评估最后一次加入。我要做的是添加一个限制连接中第一个表的结果的条件,但我只对连接中最后一个表的字段感兴趣。
例如,假设我有clubs
,people
和hobbies
表,以及people-to-hobbies
最后两个的连接表。每个俱乐部可以有很多人,每个人可以有很多爱好。
我正在尝试获取属于特定俱乐部的人的所有爱好的完整详细信息,但我不想要club
表格中的任何字段。连接表意味着 korma 将创建两个查询,一个用于获取特定俱乐部中的所有人员,另一个用于通过people-to-hobbies
连接表检索该人的爱好。
我的 korma 查询看起来像这样:
问题是我还没有指定我要从哪些字段中选择clubs
和people
,默认是选择*
。我怎样才能不包含这些表中的字段?这是否可能,或者hobbies
延迟加载的事实是否意味着 korma 必须在第一个查询中返回一些结果(这让我得到一个过滤的人员列表),所以当我稍后来询问它的爱好时,它有运行第二个查询所需的 ID?
postgresql - 在 SQL Korma 中使用非标准 postgres 运算符
Postgres 的一些复杂特性使用了不属于 SQL 标准的运算符。一个简单的例子是一组POSIX 正则表达式运算符;我需要它们包含一个利用单词边界的 where 子句表达式。
假设我想找到大小为 1 的小部件,其中 size 是一个包含 json 编码的整数列表的字符串。
样本数据:
这对于原始 SQL 来说是微不足道的:
但是使用 korma 变得非常困难。Korma 确实允许在 where 映射中使用谓词,但功能非常有限。一些不起作用的东西:
一个复杂的因素是其他条件在此之后动态添加到 where 映射中。因此,即使以下示例有效,它也不允许构建该地图:
那么,在 korma 中使用非标准运算符~
是否可以与 where 映射一起执行此匹配?你会怎么做?最佳替代方案或解决方法?
sql - 使用 SQLKorma 获取语法异常:使用 SQL 执行查询失败
知道这个异常试图传达什么吗?我正在使用带有 Postgres 9.3 的 sqlKorma。我试图在表中一次插入多行,但出现语法错误。
现在,我的查询中的任何地方都没有“0”,也没有编写原始 SQL 来弄乱语法。
korma 文档也不是很清楚。
那是我的代码
注意:百分比是一个字典,其中 uuid 字符串作为键,值作为一些数字字符串
clojure - 被科尔马(clojure)忽略
我有以下代码:
它生成以下sql:
虽然我希望它包含对标签表的连接,但由于with
应用了宏。显然情况并非如此,但执行它会在返回的单个记录中生成一个空的 :tags 键。
我在这里错过了什么吗?