小编Alp*_*eek的帖子

Cassandra Java Driver:如何报告插入,更新和删除结果?

我正在编写一个应用程序,我需要能够判断插入和更新是否成功.我正在使用"INSERT ... IF NOT EXISTS"来获得轻量级事务行为并注意到从execute返回的结果集包含一行包含更新的数据和一个可以查询的"[applied]"列.那样太好了.但是我有一个返回空ResultSet的更新语句.似乎更新成功,但我想要一种程序化的方法来验证.

澄清:

我打开了一些由我的突变返回的结果集的记录.我发现"INSERT ... IF NOT EXIST"返回一个带有名为"[applied]"的布尔列的ResultSet.如果"[applied]"为false,则还返回已退出的行.

使用UPDATE,我总是看到一个空的ResultSet.

所以我有两个问题:

  1. 关于每种类型的突变应该包含ResultSet的文档在哪里?我没有在CQL文档或Java Driver文档中看到它.我甚至尝试查看其他语言集成的文档,但没有找到任何有关突变的ResultSet内容的描述.
  2. 有没有办法找出UPDATE修改了多少行或DELETE删除了多少行?

java cassandra cql3

10
推荐指数
1
解决办法
7945
查看次数

在OS X上运行Maven时$ {java.home}会发生变化

这似乎是我在Linux或Windows机器上看不到的问题.我的环境设置JAVA_HOME来自/ usr/libexec/java_home.这是在我的.bashrc文件中:

export JAVA_HOME=$(/usr/libexec/java_home -version 1.7)
Run Code Online (Sandbox Code Playgroud)

这导致:

~/dev/Endeavor/endeavor-sdk$ echo $JAVA_HOME
/Library/Java/JavaVirtualMachines/jdk1.7.0_17.jdk/Contents/Home
Run Code Online (Sandbox Code Playgroud)

但是,当我在我的项目上运行Maven时,我从native2ascii插件中收到错误:

[ERROR] Failed to execute goal org.codehaus.mojo:native2ascii-maven-plugin:1.0-alpha-2-SNAPSHOT:native2ascii (default) on project dataAccessServices: Error starting Sun's native2ascii: -> [Help 1]
Run Code Online (Sandbox Code Playgroud)

我的调查指出我使用的是JRE而不是JDK.这很奇怪,因为我清楚地指向JAVA_HOME变量中的JDK .但是,这是mvn -version的输出:

~/dev/Endeavor/endeavor-sdk$ mvn -version
Apache Maven 3.0.4 (r1232337; 2012-01-17 03:44:56-0500)
Maven home: /usr/share/maven
Java version: 1.7.0_17, vendor: Oracle Corporation
Java home: /Library/Java/JavaVirtualMachines/jdk1.7.0_17.jdk/Contents/Home/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "mac os x", version: "10.7.5", arch: "x86_64", family: "mac"
Run Code Online (Sandbox Code Playgroud)

请注意,"Java home:"行表示$ {java.home}变量已移至JRE而不是JAVA_HOME …

java macos maven osx-lion

6
推荐指数
1
解决办法
684
查看次数

在 Go 中,将字符串类型数组转换为字符串数组的最佳方法是什么

下面的代码

package main

import "strings"
import "fmt"

type Foo string

const (
    Bar    Foo = "bar"
    Snafu      = "snafu"
    Foobar     = "foobar"
)

var Foos = []Foo{Bar, Snafu, Foobar}

func main() {
    fmt.Println("Foos: " + strings.Join(Foos, ","))
}
Run Code Online (Sandbox Code Playgroud)

产生这个错误:

./test.go:17: cannot use Foos (type []Foo) as type []string in argument to strings.Join
Run Code Online (Sandbox Code Playgroud)

这是有道理的,因为 Foo 不是字符串,而是从字符串派生的。有没有办法在不复制的情况下将“[]Foo”强制为“[]string”?

go

4
推荐指数
1
解决办法
1408
查看次数

标签 统计

java ×2

cassandra ×1

cql3 ×1

go ×1

macos ×1

maven ×1

osx-lion ×1