小编bab*_*unk的帖子

事务中PostgreSQL架构更改的限制?

我的数据库背景是Oracle,所以我很惊讶地发现Postgres包含了事务中的模式更改 - 如果你开始一个,创建一个表然后回滚,表就会消失.它也适用于添加和删除列.显然这非常好.

我们将对部署依赖于此功能的架构增量的方式进行一些更改.在我们开始之前,我想知道事务保证的扩展程度,但我在文档中找不到任何相关信息.我假设我只是使用了错误的搜索词 - 我的搜索只会进入包含"事务","创建"和"表格"等词的大型命令列表.

任何人都可以给我一些关于Postgres中关于事务模式更改的文档或讨论的指示吗?(我们正在使用8.2.13,虽然我们将在不太遥远的未来进行升级.)或者只是关于不包含在交易中的声明的一些细节?

postgresql schema ddl transactions

13
推荐指数
2
解决办法
4982
查看次数

将numpy recarray(部分)转换为2d数组?

我们为个别日期提供了一组数据重组 - 第一个属性是时间戳,其余属性是值.

其中几个:

    ts             a    b    c
2010-08-06 08:00, 1.2, 3.4, 5.6
2010-08-06 08:05, 1.2, 3.4, 5.6
2010-08-06 08:10, 1.2, 3.4, 5.6
2010-08-06 08:15, 2.2, 3.3, 5.6
2010-08-06 08:20, 1.2, 3.4, 5.6
Run Code Online (Sandbox Code Playgroud)

我们想要生成每个值的平均值数组(就好像您将所有日期数据放在彼此之上,并平均排列的所有值).所有匹配的时间戳都是时间,所以我们可以通过创建带有时间戳的结果重新排列,其他列全部为0来完成,然后执行以下操作:

for day in day_data:
    result.a += day.a
    result.b += day.b
    result.c += day.c

result.a /= len(day_data)
result.b /= len(day_data)
result.c /= len(day_data)
Run Code Online (Sandbox Code Playgroud)

似乎更好的方法是将每天转换为只有数字的2d数组(减去时间戳),然后在一次操作中将它们全部按元素进行平均,但是我们找不到这样做的方法 - 它始终是一个对象数组.

有谁知道如何做到这一点?

python numpy recarray

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

如何获取SoftInputMode的值

我在使用带有软键盘的Android Phonegap应用程序时遇到了一些问题.

  • 如果我将SoftInputMode设置为adjustResize,当键盘显示/隐藏时,我的内容会因位置:固定和绝对而开始闪烁.

  • 如果我将它设置为adjustPan它解决了我的闪烁,但我遇到了一个问题,键盘覆盖了我的输入,你不能滚动或点击任何其他地方隐藏键盘.

  • 这可以通过添加大于100%的高度来修复,但如果键盘不可见,我不想滚动页面.

  • 我想解决它的一种方法是监听网址更改,如果它与我的表单页面匹配,则将模式设置为adjustResize,否则将其设置为adjustPan.

  • 我希望能够知道当前值,如果不需要更改,则不在每个URL更改上设置此值.

欢迎其他解决方案.

这是我目前的代码:

@Override
public void onPageFinished(WebView view, String url) {
   //Implement your code
   if(url.lastIndexOf("/pagewithform") != -1) {
      getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);
   } else {
      getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN);
   }
   super.onPageFinished(view, url);
}
Run Code Online (Sandbox Code Playgroud)

android android-softkeyboard cordova

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

使用 Whoosh 生成搜索词建议?

我在 Whoosh 索引中有一组文档,我想提供搜索词建议功能。因此,如果您键入“pop”,可能会出现一些建议:

  • 爆米花
  • 受欢迎的
  • 教皇
  • 杨树膜
  • 流行文化

我有一些应该作为建议出现在我的索引中的 NGRAMWORDS 字段的术语,但是当我对该字段进行查询时,我得到的是自动完成的结果而不是扩展的建议 - 所以我得到的文档标记为“流行文化” ",但无法向用户显示该术语。(为了比较,我会在 ElasticSearch 中使用该字段上的完成映射执行此操作,然后使用 _suggest 端点获取建议。)

我只能在文档或网络上的其他地方找到自动完成或拼写更正的示例。有什么方法可以让我从 Whoosh 的索引中获得搜索词建议?

编辑: expand_prefix是一个非常需要的指向正确方向的指针。我最终KEYWORD(commas=True, lowercase=True)为我的建议字段使用了 a ,并且像这样的代码以最常见的优先顺序获得建议(expand_prefix并将iter_prefix按字母顺序产生它们):

def get_suggestions(term):
    with ix.reader() as r:
        suggestions = [(s[0], s[1].doc_frequency()) for s in r.iter_prefix('suggest', term)]
    return sorted(suggestions, key=itemgetter(1), reverse=True)
Run Code Online (Sandbox Code Playgroud)

python whoosh search-suggestion

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