我正在使用PL/pgSQL编写SP.
我想返回一个记录,由几个不同的表中的字段组成.看起来像这样:
CREATE OR REPLACE FUNCTION get_object_fields(name text)
RETURNS RECORD AS $$
BEGIN
-- fetch fields f1, f2 and f3 from table t1
-- fetch fields f4, f5 from table t2
-- fetch fields f6, f7 and f8 from table t3
-- return fields f1 ... f8 as a record
END
$$ language plpgsql;
Run Code Online (Sandbox Code Playgroud)
如何将不同表中的字段作为单个记录中的字段返回?
[编辑]
我已经意识到我上面给出的例子有点过于简单了.我需要检索的一些字段将被保存为要查询的数据库表中的单独行,但我想在"展平"记录结构中返回它们.
下面的代码应该有助于进一步说明:
CREATE TABLE user (id int, school_id int, name varchar(32));
CREATE TYPE my_type (
user1_id int,
user1_name varchar(32),
user2_id int,
user2_name varchar(32)
); …Run Code Online (Sandbox Code Playgroud) 我想使用GSON将下面的Example类序列化为JSON.
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import java.util.LinkedHashMap;
public class Example
{
private LinkedHashMap<String,Object> General;
private static final String VERSION="Version";
private static final String RANGE="Range";
private static final String START_TIME="Start_Time";
private static final String END_TIME="End_Time";
public Example() {
General = new LinkedHashMap<String,Object>();
General.put(VERSION, "0.1");
LinkedHashMap<String,String> Range = new LinkedHashMap<String, String>();
Range.put(START_TIME, "now");
Range.put(END_TIME, "never");
General.put(RANGE, Range);
}
public String toJSON() {
Gson gson = new GsonBuilder().serializeNulls().create();
return gson.toJson(this);
}
}
Run Code Online (Sandbox Code Playgroud)
我希望得到以下输出:
{"General":{"Version":"0.1","Range":{"Start_Time":"now","End_Time":"never"}}}
Run Code Online (Sandbox Code Playgroud)
但是调用函数会toJSON()返回
{"General":{"Version":"0.1","Range":{}}}
Run Code Online (Sandbox Code Playgroud)
似乎GSON无法在Map中序列化RangeMap General.这是GSON的限制还是我在这里做错了什么?
我有两个LocalDates代表一些时间间隔.现在我必须得到所有星期五的LocalDates,这个区间包含.最简单的方法吗?
我有一个bash脚本创建一个csv文件和一个R文件,从中创建图形.
在bash脚本的最后我打电话 Rscript Graphs.R 10
我得到的回应如下:
Error in is.vector(X) : subscript out of bounds
Calls: print ... <Anonymous> -> lapply -> FUN -> lapply -> is.vector
Execution halted
Run Code Online (Sandbox Code Playgroud)
Graphs.R的前几行是:
#!/bin/Rscript
args <- commandArgs(TRUE)
CorrAns = args[1]
Run Code Online (Sandbox Code Playgroud)
不知道我做错了什么?网上的建议在我看来应该说这应该有效.很难理解commandArgs
有人可以帮我修改一些URL吗?
我有(例如)这些页面:
www.mydomain.com/test/gallery.asp?id=2
www.mydomain.com/test/gallery.asp?id=3
Run Code Online (Sandbox Code Playgroud)
并希望他们被要求:
www.mydomain.com/photos/people
www.mydomain.com/photos/wildlife
Run Code Online (Sandbox Code Playgroud)
我正在使用IIS,起初我的托管服务提供商正在使用带有httpd.ini文件的ISAPI_Rewrite,现在他们已经使用.htaccess文件切换到Helicon Ape.请参阅:http://www.isapirewrite.com/和http://www.helicontech.com/ape/
我尝试了ISAPI_Rewrite方式:
RewriteRule /photos/people /test/gallery.asp?id=2 [I,L]
RewriteRule /photos/wildlife /test/gallery.asp?id=3 [I,L]
Run Code Online (Sandbox Code Playgroud)
但它不起作用.
建议?
我们其中一个数据库的用户正在尝试向SQL Server 2005数据库提交UPDATE查询,并且文本意外被截断.
被截断的字段是VARBINARY(MAX),用于存储HTML文本.
查询大致是:
UPDATE Story
SET mainText = CONVERT (VARBINARY (MAX), '[...5000 chars of text...]'
+ char(47) + char(47)
+ '[...3000 chars of text...]'
+ char(47) + char(47)
+ '[...5000 chars of text...]')
WHERE storyId = 123456
Run Code Online (Sandbox Code Playgroud)
我在一些实验后发现的是,当我删除字符串连接时,查询按预期工作,并且字段不会被截断.
我能够通过将每个单独的字符串包装在CAST到VARCHAR(MAX)中来解决限制并保持连接,因此如果用户觉得需要使用char(),则有一个选项.
我认为,无论何时使用连接运算符,都会发生VARCHAR的隐式转换,并且隐式转换似乎仅限于VARCHAR(8000)而不是VARCHAR(MAX).因此,在将字符串发送到CONVERT函数之前,它已经被截断为8000个字符.
如果我是对的,有没有办法改变这种行为?
如果没有办法改变行为,除了CAST之外还有另一种方法可以解决这个问题吗?
我有一个用于windows的c ++可执行文件和一个我正在尝试使用windbg进行分析的minidump.我将assosciated pdb和minidump复制到同一个文件夹中并设置符号路径.然而Windbg抱怨DBGHELP:c:\ logs\marketdepthserver crashdump\SFMarketDepthServer.pdb - E_PDB_CORRUPT除了总结文件已损坏..还有什么我可以从中确定或是否有一个允许我加载pdb的解决方法.
我在模拟Apache Http客户端时遇到了问题.以下尝试创建模拟:
DefaultHttpClient httpClient = Mockito.mock(DefaultHttpClient.class);
Run Code Online (Sandbox Code Playgroud)
无法创建真正的模拟.上面的行没有异常执行,但是当我尝试存根某些行为时:
Mockito.when(httpClient.execute(Mockito.<HttpUriRequest>anyObject())).thenReturn(null);
Run Code Online (Sandbox Code Playgroud)
我从AbstractHttpClient中的方法得到一个异常:
Exception in thread "main" java.lang.IllegalArgumentException: Request must not be null.
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:572)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:554)
Run Code Online (Sandbox Code Playgroud)
为什么调用在Mockito.when内部执行时传递给AbstractHttpClient?
我找到了解决这个特定问题的方法:使用接口HttpClient而不是试图模拟具体的子类.在这种情况下,这是一个更好的解决方案,但我想知道这里发生了什么?为什么我不能用Mockito正确地模仿这个具体的课程?DefaultHttpClient有什么特别之处吗?还有其他情况Mockito不能模拟具体课程吗?
我在OSX上使用Mockito 1.8.5,Apache httpclient 4.0.3,Apache http核心4.1,JDK 1.6.0
我试图找到一个使用JSF和Spring的安装指令的好例子,但是还没能找到比基本更多的东西.
任何人都可以指导我好的例子吗?
谢谢,希德
我有一个包含CVS存储库中包含的许多标签的文件.有没有办法只使用这些标签检出所有文件及其相关目录而不检查整个存储库?
我没有存储库中的目录列表,因此我无法运行,cvs co -r baz_1_0_0_0 foo/bar/baz因为我不知道baz实际位于何处.
我正在运行CVS 1.11所以我没有rls可用的命令.