用一句话来总结这种改进就是: 支持唯一性约束和索引将null值视为相同的值.之前是将null值索引成不同的值,现在可以通过使用unique nulls not distinct创建约束,将null值视为相同的值. 两种unique风格 创建示例表: CREATE TABLE null_old_style ( id BIGINT GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY, val1 TEXT NOT NULL, val2 TEXT NULL, CON…
java.lang.ArrayIndexOutOfBoundsException: length=15; index=15 异常出现的场景:在做聊天界面时,需要插入表情,图片,文字,名片,还有几种较为复杂的布局.这时就需要用到BaseAdapter中的getViewTypeCount()和getItemViewType(int position) 方法了,在发送复杂界面时出现了这个异常. 令人抓狂的是这个异常居然是UncaughtException,根本无法判断哪一行出错了,刚开始的时候觉得一定…
目录 JEP 371: Hidden Classes JEP 372: 删除 Nashorn JavaScript Engine JEP 377: 新的垃圾回收器ZGC正式上线了 JEP 378: Text Blocks 标准化 JEP 379: 新的垃圾回收器Shenandoah上线 总结 JDK 15 JAVA 15的新特性展望 伴随着2020的寒冬和新冠病毒的肆虐,JAVA迎来了久未已久的JAVA 14.自从2017年JAVA 9发布之后,JAVA的发布版本跟上了敏捷开发的步伐,小步快跑,…
示例表 table t_ex; c1 | c2 ----+---- 2 | B 4 | C 6 | A 2 | C 4 | B 6 | B 2 | A 4 | B 6 | C 2 | C 以下SQL语句有序地返回"c1"列中唯一值: select distinct on(c1) * from abce; 对于c2列,会根据c1的唯一性,从表中找到的第一个值. postgres=# select distinct on(c1) * from abce; c1 | c2 ----+----…
试用即将发行的PostgreSQL 15的人会发现少了一个后台进程:​ postgres 1710 1 0 04:03 ? 00:00:00 /usr/pgsql-15/bin/postmaster -D /var/lib/pgsql/15/data/ postgres 1711 1710 0 04:03 ? 00:00:00 postgres: logger postgres 1712 1710 0 04:03 ? 00:00:00 postgres: checkpointer postgre…
参考来自:https://stackoverflow.com/questions/40647600/postgresql-multi-value-upserts/46233907#46233907 1.before insert 2.insert sql 3.after insert 注意这里有两个容易出错的点:1.如果label字段不是必填的,要注意语法会不会出错.万一label为空. 2.数据库版本太低就不支持这段语法.比如9.3…
空字符串:两个单引号,中间无空格等任何内容 在postgresql中,空字符串与null是不同的:而oracle中,空字符串与null等同.测试如下: postgresql中: postgres=# insert into testnull values(1,'feikong'); INSERT 0 1 postgres=# insert into testnull values(2,null); INSERT 0 1 postgres=# insert into testnull values…
1.DUAL 表 2.ROWID 类型 2.1.利用 ROWID 查询数据 2.2.利用 ROWID 更新数据 3.NULL 值 3.1.NULL 与空字符串 3.2.NULL 与函数 3.3.NULL 与索引 3.4.NULL 与 SQL 4.总结 1.DUAL 表 DUAL 是 Oracle 中的一个虚拟表,用来构成 SELECT 的语法规则,Oracle 系统保证 DUAL 里面永远只有一条记录.本人对"用来构成 SELECT 的语法规则"的理解是:由于 Oracle 中的 SE…
1.handler,looper,messagequeue三者之间的关系以及各自的角色? 答:MessageQueue就是存储消息的载体,Looper就是无限循环查找这个载体里是否还有消息.Handler就是创建的时候 会使用looper来构建这个消息循环. handler的主要功能就是 将一个任务切换到某个指定的线程中去执行. 2.为何android 无法在子线程更新ui? 答:都知道 更新ui 实际工作都是在viewrootimpl这个类里面去做的.他的源码里有下面这样一个函数: void…
ps:阅读本文 需要对android 多进程编程有一定了解. 1.Android中总共有几种方式进行IPC? 答:一共有两种,一种是binder 还有一种是socket.Binder 大家用的比较多.Socket很少有人用,这里给出一个利用Socket进行ipc通信的例子. 服务端代码: package com.example.administrator.socketipcdemo; import android.app.Service; import android.content.Inten…