DMP联调测试 - greatebee/AntDB GitHub Wiki
表结构调整
alter table qrtz_triggers alter column is_volatile type boolean USING is_volatile::boolean;
alter table qrtz_job_details alter column is_volatile type boolean USING is_volatile::boolean;
alter table qrtz_job_details alter column is_durable type boolean USING is_durable::boolean;
alter table qrtz_job_details alter column is_stateful type boolean USING is_stateful::boolean;
alter table qrtz_job_details alter column requests_recovery type boolean USING requests_recovery::boolean;
alter table qrtz_fired_triggers alter column is_volatile type boolean USING is_volatile::boolean;
alter table qrtz_fired_triggers alter column is_stateful type boolean USING is_stateful::boolean;
alter table qrtz_fired_triggers alter column requests_recovery type boolean USING requests_recovery::boolean;
alter table MAIL_OUTBOX alter column exclusive_flag type boolean USING exclusive_flag::boolean;
alter table SYS_ITF_HIST alter column is_success_flag type boolean USING is_success_flag::boolean;
alter table SYS_ITF_HIST alter column is_resp_party_flag type boolean USING is_resp_party_flag::boolean;
alter table BIZ_TEMPLATE_VER alter column not_affect_parent_biz_status type boolean USING not_affect_parent_biz_status::boolean;
系统函数
编号 |
函数名称 |
创建方式 |
1 |
oracle.sum(pg_catalog.numeric) |
手工 |
2 |
oracle.avg(pg_catalog.numeric) |
手工 |
3 |
oracle.max(pg_catalog.numeric) |
手工 |
4 |
oracle.max(pg_catalog.text) |
手工 |
5 |
oracle.nlssort |
自动 |
6 |
oracle.dmp_concat |
插件,create extension dmp_concat |
7 |
dmp_concat_distinct |
插件,create extension dmp_concat |
8 |
dmp_concat_dup |
插件,create extension dmp_concat |
9 |
rollup(record) |
自动 |
操作符
编号 |
操作符名称 |
创建方式 |
1 |
oracle.=(varchar,bytea) |
手工 |
2 |
oracle.!=(varchar,bytea) |
手工 |
3 |
oracle.>(varchar,bytea) |
手工 |
4 |
oracle.>=(varchar,bytea) |
手工 |
5 |
oracle.<(varchar,bytea) |
手工 |
6 |
oracle.<=(varchar,bytea) |
手工 |
7 |
oracle.=(varchar2,bytea) |
手工 |
8 |
oracle.!=(varchar2,bytea) |
手工 |
9 |
oracle.>(varchar2,bytea) |
手工 |
10 |
oracle.>=(varchar2,bytea) |
手工 |
11 |
oracle.<(varchar2,bytea) |
手工 |
12 |
oracle.<=(varchar2,bytea) |
手工 |
7 |
oracle.>(text,bytea) |
手工 |
8 |
oracle.>=(text,bytea) |
手工 |
9 |
oracle.<(text,bytea) |
手工 |
10 |
oracle.<=(text,bytea) |
手工 |
11 |
oracle.~~(text,bytea) |
手工 |
12 |
oracle.!~~(text,bytea) |
手工 |
临时表
编号 |
临时表名称 |
相关数据库对象 |
创建方式 |
1 |
temp_table_trans_01 |
ap_bulk_delete_biz |
手工 |
2 |
temp_table_trans_02 |
ap_bulk_delete_biz |
手工 |
3 |
analysis_temp1 |
ap_last_freezing_review |
手工 |
4 |
analysis_temp2 |
ap_last_freezing_review |
手工 |
5 |
analysis_temp3 |
ap_last_freezing_review |
手工 |
6 |
analysis_temp4 |
ap_last_freezing_review |
手工 |
ORACLE语法兼容
1. connect by
编号 |
语法 |
错误信息 |
说明 |
1 |
connect by + start with id in (subquery) |
column xxx does not exist |
|
2 |
connect by + distinct |
connect by not support distinct group window yet |
|
3 |
connect by + join |
connect by support one table yet |
|
4 |
connect by + with |
connect by only support RangeVar for now |
|
5 |
connect by + subquery |
connect by only support relation for now |
|
6 |
connect by + sys_connect_by_path |
ERROR: recursive query "reqmatrix" column 4 has type character varying(2000) in non-recursive term but type character varying overall |
|
7 |
connect by + group by |
ERROR: syntax error at or near "group" |
|
8 |
connect by + start with t1.id |
missing FROM-clause entry for table t2 |
|
9 |
connect by + order siblings by |
ERROR: syntax error at or near "siblings" |
|
2. others
编号 |
语法 |
错误信息 |
说明 |
1 |
nulls last/first |
ERROR: syntax error at or near "nulls" |
|
2 |
limit关键字 作为别名 |
ERROR: syntax error at or near limit $5 |
|
3 |
聚集函数 + order by |
ERROR: column "t.id" must appear in the GROUP BY clause or be used in an aggregate function |
select count(t.id) as col_0 from sy01 t order by t.id; |
4 |
数据类型隐式转换 |
operator does not exist: character varying = bytea |
创建对应的操作符 |
5 |
数据类型隐式转换 |
operator does not exist: character varying ~~ bytea |
创建对应的操作符 |
6 |
数据类型隐式转换 |
operator does not exist: character varying > bytea |
创建对应的操作符 |
7 |
临时字段大小写问题 |
列 I18N489 不存在 |
|
8 |
窗口函数 + distinct |
ERROR: cannot use DISTINCT with WITHIN GROUP |
select dmp_concat(distinct ped.role_id) over(partition by ped.emp_id) from pro_emp_date ped; |
9 |
CONTENT关键字 调整为非保留字 |
ERROR: syntax error at or near "CONTENT" |
|
10 |
兼容Oracle UID 关键字 |
ERROR: syntax error at or near "UID" |
|
11 |
聚合函数 + keep关键字 |
syntax error at or near ""dense_rank""" |
select min(id) keep(dense_rank first order by name asc nulls last) from sy01; |
12 |
subquery + rowid |
ERROR: column biz__.rowid does not exist |
|
13 |
select substr union select max |
ERROR: UNION types text and numeric cannot be matched |
|
14 |
聚合函数grouping(id) |
ERROR: ERROR: syntax error or near "grouping" |
select grouping(id) from sy01 group by rollup(id); |