在PostgreSQL中是否可以在字符列上创建可延迟的唯一约束,但不区分大小写?
我们假设以下基本表:
CREATE TABLE sample_table (
my_column VARCHAR(100)
);
Run Code Online (Sandbox Code Playgroud)
如果不需要可延迟约束,那么就像使用函数创建唯一索引一样简单,例如:
CREATE UNIQUE INDEX my_unique_index ON sample_table(UPPER(my_column));
Run Code Online (Sandbox Code Playgroud)
延迟约束检查需要显式创建约束,例如:
ALTER TABLE sample_table
ADD CONSTRAINT my_unique_constraint UNIQUE(my_column)
DEFERRABLE INITIALLY IMMEDIATE;
Run Code Online (Sandbox Code Playgroud)
遗憾的是,不可能在唯一约束中使用任意函数.
一种可能的解决方法是创建具有相同内容的附加列my_column,但是大写,在每次更新/插入后通过触发器更新,然后在此人工列上创建可延迟的唯一约束.然而,这听起来像是一个非常丑陋的黑客.
或者,应该可以使用CREATE CONSTRAINT TRIGGER并手动检查不区分大小写的唯一性(当然,仍然需要常规索引).对于如此简单(以及流行的,我认为)的要求,这听起来有点过于复杂.
围绕这个限制是否有更简单和/或更优雅的方式?
我已经将来自Google的APK扩展文件下载库集成到我的项目中,它或多或少都可以正常工作(除了一些小问题,其他人已经在SO上报告了).
但是,我很难测试它.当我第一次测试时,我将已签名的APK +主扩展文件版本1上传到Google Play,效果很好.
但是,当我升级我的应用程序时,与主扩展文件版本2一起,应用程序无法再下载文件 - 库立即返回NO_DOWNLOAD_REQUIRED,但文件不存在!我开始调试LVL检查通行证,但可下载的文件表是空的!当我试图调试细节时...它突然又开始工作了!
我认为这是一种暂时的故障并继续我的工作,只是再次更新我的APK和扩展文件后再次遇到同样的问题.应用程序通过LVL检查,但库再次假定没有要下载的文件.
这是谷歌图书馆的一个已知问题吗?或者我可能需要等待一段时间,直到文件在Google的云上可用?
编辑:它刚开始工作正常.它似乎需要一些时间让文件以某种方式在Google方面传播.关于该库的一个坏处是,一旦它验证了许可证,它就再也不会检查下载列表,所以我不得不重新安装该应用程序.奇怪......为什么这么复杂?
在我的活动中,我需要显示VideoView实例(全屏),使用按钮缩放内容 - 类似于iOS媒体播放器的内容.我的意思是例如缩放4:3内容以填充屏幕宽度,保持纵横比(从而有效地修剪内容的顶部/底部).
我刚做了一个快速的黑客/实验 - VideoView里面一个AbsoluteLayout,超大,所以顶部/底部被修剪掉了.它有效,但真的感觉像一个黑客.
也许我是盲人,但是没有API可以选择视频子矩形在视图中显示?
InApp Billing API周围是否有经过充分测试和记录的包装器?
Google提供的内容甚至很难称为API - 单一aidl界面,以及相当复杂(针对任务)的示例应用程序.更何况,有已知的错误还没有固定的(例如不检查null中BillingService.onStart())相当混乱...
我根据示例应用程序整合了支付流程,但我正在寻找更好的解决方案.到目前为止我发现了什么:
Dungeons样本的副本,这不会让我感到安全使用它是否还有其他推荐的资源(当然除官方文档外)?
我的一项活动是嵌入VideoView一些内容.我实现暂停/恢复视频onPause()和onResume()分别,但让我吃惊- onResume被称为前的活动是用户真正可见.
确切地说,情况如下:
onPause()调用,视频停止onResume()调用(从而恢复视频)我用Android 2.2,2.3和4.0确认了这个行为.我想它是故意这样做的,让活动准备在锁定屏幕消失后立即重绘.
如何检测活动实际出现在用户身上的时刻?我试图等待onWindowFocusChanged(true)被叫,它似乎有效,但它并没有让我觉得非常安全.
我有一个名为的属性文件environment.properties.在这个文件中我有一个条目:
applicationUrl = $ {applicationUrlFromPom}
我想在pom文件中使用maven资源插件设置,以便可以在构建时设置此值,并且我可以在Java中使用属性文件中的此值.
thnx提前
android ×4
apk ×1
constraints ×1
expansion ×1
filtering ×1
google-play ×1
java ×1
maven ×1
postgresql ×1