有没有办法将 a 投射BIGINT到PostgresTIMESTAMP或TIMESTAMP WITH TIME ZONE在 Postgres 中?我需要将数据从BIGINT列复制到TIMESTAMP列。
这是我尝试过的:
update table
set date__timestamp = date__bigint::timestamp
where foo = 1;
Run Code Online (Sandbox Code Playgroud)
错误:无法将 bigint 类型强制转换为没有时区的时间戳
我将时间戳列更改为带时区列并尝试了以下操作:
update table
set date__timestamp = date__bigint::timestamp with time zone at time zone 'PST'
where foo = 1;
Run Code Online (Sandbox Code Playgroud)
错误:无法将 bigint 类型转换为带时区的时间戳
update table
set date__timstamp = TO_CHAR(TO_TIMESTAMP(date__bi / 1000), 'DD/MM/YYYY HH24:MI:SS')
where foo = 1;
Run Code Online (Sandbox Code Playgroud)
错误:“date__timestamp”列的类型是没有时区的时间戳,但表达式的类型是文本 提示:您需要重写或转换表达式。
数据看起来像这样。
date_bigint: 20181102
date_timestamp: 2018-11-02 17:00:00.000000
Run Code Online (Sandbox Code Playgroud)
我需要将默认值传递给铸造吗?
有没有办法在Titan图上的两个顶点之间创建一个唯一的边,并确认无法再次创建它,除非删除并重新创建?
基本上我需要创建:
vertex1--follows-->vertex2
Run Code Online (Sandbox Code Playgroud)
但我继续为同一个关系创建多个边:
vertex1--follows-->vertex2
vertex1--follows-->vertex2
vertex1--follows-->vertex2
vertex1--follows-->vertex2
Run Code Online (Sandbox Code Playgroud)
我的基本addEdge查询是这样的:
def follow(target)
grem = "g.addEdge(
g.V('id', '#{id}').next(),
g.V('id', '#{target.id}').next(),
'follows',
[since:#{Time.now.year}]
)"
$graph.execute(grem).results
end
Run Code Online (Sandbox Code Playgroud)
我想要找到的是这样的
def follow(target)
grem = "g.addEdge(
g.V('id', '#{id}').next(),
g.V('id', '#{target.id}').next(),
'follows',
[since:#{Time.now.year}]
).unique(Direction.OUT)"
$graph.execute(grem).results
end
Run Code Online (Sandbox Code Playgroud)
在这个文档中有一个名为unique的方法,但我似乎无法在边缘上工作,只能在顶点属性上工作.
https://github.com/thinkaurelius/titan/wiki/Type-Definition-Overview
我可以在创建addEdge之前运行查询以检查现有边缘,但这看起来很麻烦并且可能导致竞争条件问题.
是否有可能存在一个方法,我可以附加到addEdge,如果边缘已存在,将阻止创建重复边缘?
或者,有没有办法在边缘创建一个独特的属性标签?
这是问题的一个gremlin会话:
gremlin> g.makeType().name('follows').unique(IN).makeEdgeLabel();
==>v[36028797018964558]
gremlin> u = g.addVertex([name:'brett'])
==>v[120004]
gremlin> u2 = g.addVertex([name:'brettU'])
==>v[120008]
gremlin> e = g.addEdge(u, u2, 'follows')
==>e[2w5N-vdy-2F0LaTPQK2][120004-follows->120008]
gremlin> e = g.addEdge(u, u2, 'follows')
An edge with the given type already exists on the …Run Code Online (Sandbox Code Playgroud) 今天开始我们的Heroku部署.
Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.
/tmp/build_6e4275c6-8442-4a39-9175-f20505baf383/vendor/ruby-2.0.0/bin/ruby extconf.rb
checking for ffi.h... no
checking for ffi.h in /usr/local/include,/usr/include/ffi... no
checking for rb_thread_blocking_region()... yes
checking for rb_thread_call_with_gvl()... yes
checking for rb_thread_call_without_gvl()... yes
checking for ffi_prep_cif_var()... no
creating extconf.h
creating Makefile
make "DESTDIR="
Configuring libffi
make -C "/tmp/build_6e4275c6-8442-4a39-9175-f20505baf383/vendor/bundle/ruby/2.0.0/gems/ffi-1.9.3/ext/ffi_c/libffi-x86_64-linux"
make[1]: Entering directory `/tmp/build_6e4275c6-8442-4a39-9175-f20505baf383/vendor/bundle/ruby/2.0.0/gems/ffi-1.9.3/ext/ffi_c/libffi-x86_64-linux'
Run Code Online (Sandbox Code Playgroud)
最近添加的宝石包括ffi:
gem 'sass', github: 'nex3/sass'
gem 'sass-rails'
gem "compass", "~> 1.0.0.alpha.18"
gem "compass-rails", "~> 1.1.2"
gem 'susy', github: 'ericam/susy', branch: 'susy-next'
Run Code Online (Sandbox Code Playgroud)
有没有人将ffi运到Heroku以避免这种情况?