问题列表 - 第42347页

使用PL/pgSQL将多个字段作为PostgreSQL中的记录返回

我正在使用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)

sql postgresql types stored-procedures plpgsql

64
推荐指数
4
解决办法
14万
查看次数

如何使用GSON序列化地图的地图?

我想使用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的限制还是我在这里做错了什么?

java json map gson

11
推荐指数
1
解决办法
2万
查看次数

Joda时间:如何在某个日期间隔获取工作日的日期?

我有两个LocalDates代表一些时间间隔.现在我必须得到所有星期五的LocalDates,这个区间包含.最简单的方法吗?

java datetime date jodatime

3
推荐指数
1
解决办法
8956
查看次数

bash到Rscript的命令行参数

我有一个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

bash arguments r

18
推荐指数
2
解决办法
2万
查看次数

SEO友好的URL与.htaccess

有人可以帮我修改一些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)

但它不起作用.

建议?

.htaccess isapi-rewrite url-rewriting

2
推荐指数
1
解决办法
682
查看次数

在SQL Server 2005中使用VARCHAR(MAX)和字符串连接

我们其中一个数据库的用户正在尝试向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之外还有另一种方法可以解决这个问题吗?

t-sql sql-server-2005

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

Windbg问题为用户定义的可执行文件加载pdb

我有一个用于windows的c ++可执行文件和一个我正在尝试使用windbg进行分析的minidump.我将assosciated pdb和minidump复制到同一个文件夹中并设置符号路径.然而Windbg抱怨DBGHELP:c:\ logs\marketdepthserver crashdump\SFMarketDepthServer.pdb - E_PDB_CORRUPT除了总结文件已损坏..还有什么我可以从中确定或是否有一个允许我加载pdb的解决方法.

c++ windbg

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

为什么我的Mockito模拟对象使用真实的实现

我在模拟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

java apache unit-testing mocking mockito

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

使用JSF和Spring Architecture的好例子

我试图找到一个使用JSF和Spring的安装指令的好例子,但是还没能找到比基本更多的东西.

任何人都可以指导我好的例子吗?

谢谢,希德

java jsf spring java-ee

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

CVS结帐仅基于标签

我有一个包含CVS存储库中包含的许多标签的文件.有没有办法只使用这些标签检出所有文件及其相关目录而不检查整个存储库?

我没有存储库中的目录列表,因此我无法运行,cvs co -r baz_1_0_0_0 foo/bar/baz因为我不知道baz实际位于何处.

我正在运行CVS 1.11所以我没有rls可用的命令.

cvs

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