bin.li
f6c3ed0b26
perft:优化
...
1:解决column加了函数(例如date_format)后,导致表达式超过50字符,改成100字符
2021-08-02 10:17:16 +08:00
chenyanlann
9b5f3f2597
Add:ORM's support for ClickHouse
2021-08-01 20:11:14 +08:00
TommyLemon
af9a1fc0c1
升级版本号为 4.7.2
2021-08-01 01:47:10 +08:00
TommyLemon
646bed4186
解决操作符 UNIQUE 校验不允许重复失效
2021-08-01 01:19:29 +08:00
TommyLemon
3ccd9674ce
解决远程函数拿不到有效的当前对象,导致校验参数容易放行等问题
2021-08-01 01:02:11 +08:00
TommyLemon
042716d3e2
删除多余的文件
2021-07-31 03:22:23 +08:00
TommyLemon
2fc8526863
升级版本为 4.7.1;优化代码
2021-07-31 02:55:00 +08:00
bin.li
914b50af11
fix:bug修复
...
1:修复List集合使用remove方法引发ConcurrentModificationException
2:修复remove RAW_MAP字段后,引发自定义column列@raw报错
2021-07-30 17:38:37 +08:00
iceewei
657bc89707
获取连接增加datasource参数 && 回包里移除@datasource
2021-06-29 11:17:49 +08:00
iceewei
f4e5ea487e
获取连接增加datasource参数 && 回包里移除@datasource
2021-06-29 11:06:21 +08:00
iceewei
cd83f506f2
获取连接的key增加datasource维度
2021-06-28 14:56:01 +08:00
TommyLemon
817c2365bd
格式化部分代码
2021-06-21 15:58:50 +08:00
TommyLemon
2dfe8eda0a
欢迎 AbstractSQLConfig 并应用关键更改
...
https://github.com/Tencent/APIJSON/pull/253
2021-06-21 15:51:02 +08:00
JackJay
550dfe9d26
fix: 修改分页查询query=2,且@raw关键字执行SQL函数date_format的Bug
...
当分页查询query=2,且@raw关键字执行SQL函数date_format时,格式化字符串(例:%Y-%m-%d %H:%i:%s)中含有冒号会导致解析出错
-在getColumnString方法中,Method为HEAD,HEADS循环拼接SQL时,排除RAW_MAP中包含的值,使SQL拼接成功,执行数量查询。
2021-06-17 18:50:31 +08:00
TommyLemon
db79168452
分页: 在分页详情 info 内返回查询计划 @explain
2021-06-15 00:51:16 +08:00
TommyLemon
ccec4b836b
分页:解决 query=2 不兼容 主表 @column:"fun()" 这种包含 SQL 函数的写法;SQL 函数:获取右括号 ) 的位置从 indexOf 改为 lastIndexOf
2021-06-15 00:03:02 +08:00
iceewei
b39dda60ae
新增datasource关键字
2021-06-14 22:59:40 +08:00
jun0315
81da25d533
feat:log print current time
2021-06-11 13:53:07 +08:00
TommyLemon
839e969a42
Merge pull request #241 from Rkyzzy/master
...
更新了最新的手机号正则表达式匹配,使其兼容最新的手机号pattern
2021-05-24 10:30:51 +08:00
Rkyzzy
8cffe1301f
fix 更新了最新的手机号正则表达式匹配法则\
...
issue #240
2021-05-20 19:47:44 +08:00
Rkyzzy
89fb9bf7cd
fix 更新了最新的手机正则表达式匹配法则
2021-05-20 19:44:31 +08:00
Rkyzzy
6c690cd4c5
fix: 更新为最新的手机号正则表达式匹配 issue#240
2021-05-20 19:40:17 +08:00
kxlv2000
204ffe55fa
优化 system.err.printlin 输出
...
issue Tencent#232
2021-05-19 22:09:27 +08:00
kxlv2000
a719ceb2d7
优化 system.err.printlin 输出
...
issure #232
2021-05-19 21:54:05 +08:00
TommyLemon
9df18f4c66
Merge pull request #227 from gujiachun/master
...
去除final关键字,方便业务代码重新定义ok、code、msg字段名
2021-04-29 16:40:38 +08:00
顾加春
95932f7687
去除final关键字,方便业务代码重新定义ok、code、msg字段名
2021-04-29 16:27:50 +08:00
TommyLemon
c732f26bfd
Merge pull request #224 from Rkyzzy/master
...
使用entrySet迭代器替代keySet迭代器提高效率 #48
2021-04-25 20:16:14 +08:00
TommyLemon
c40b48c78b
Merge pull request #225 from gdjs2/master
...
Format the code & Replace the Long(String) by Long.valueOf(String)
2021-04-25 20:09:16 +08:00
gdjs2
39f21f6f0f
Format the code;
...
Use valueOf(String) instead of the deprecated Long(String)
2021-04-25 04:12:46 +00:00
Rkyzzy
0fcbdfab03
further wrote javadoc
2021-04-25 01:26:57 +08:00
Rkyzzy
6b5ecb2f1d
使用entrySet代替keySet提高效率 #48
2021-04-24 22:42:35 +08:00
Rkyzzy
c38ad8cebb
使用entrySet迭代器替代keySet迭代器提高效率 #48
2021-04-24 21:27:23 +08:00
TommyLemon
6bd265eaba
Merge pull request #223 from cs304-spring2021/master
...
尝试修复 oracle select 分页语法问题
2021-04-23 16:32:52 +08:00
kxlv2000
08a3125adf
尝试修复 oracle select 分页语法问题
2021-04-23 15:26:26 +08:00
TommyLemon
c51c347220
Merge pull request #222 from Rkyzzy/master
...
feat: 使用StringBuilder优化了字符串拼接
2021-04-22 20:05:53 +08:00
Rkyzzy
ab5c047d31
feat: 使用StringBuilder优化了字符串拼接
...
将StringUtil.java类中三处字符串直接拼接优化为使用StringBuilder拼接
issue #182
2021-04-22 17:22:34 +08:00
gdjs2
68d94d43b2
Using Arrays.toString() to deal with methods array
2021-04-22 07:43:03 +00:00
顾加春
838b3b08c8
fix: @explain在更新方法应用的错误
...
explain只应用在select请求中,如果是更新请求 不需要执行explain,但可以返回sql语句
issue #218
closes #218
2021-04-20 10:56:20 +08:00
TommyLemon
b900c5819c
解决 > RIGHT JOIN, ^ SIDE JOIN, ! ANTI JOIN, ) FOREIGN JOIN 等不返回副表数据;解决 | FULL JOIN 返回的副表数据部分是错的
2021-04-18 01:38:29 +08:00
TommyLemon
6f80013878
解决 JOIN 副表有 引用赋值 外的条件时因为缓存 SQL WHERE 中条件顺序不一致导致多余查询
2021-04-17 17:56:27 +08:00
403f
f4d8775acb
对JSONResponse.java中的formatHyphen方法的优化
2021-04-10 22:44:04 +08:00
TommyLemon
8cf170c0bf
AbstractSQLExecutor 优化增删改未成功也未抛异常的 code 和 msg;AbstractParser 优化请求及响应的日志打印;AbstractSQLConfig 优化 key$ 的格式校验
2021-04-07 01:28:36 +08:00
iceewei
873afa8470
fix: 添加异常信息控制静态变量,改造两层错误码问题
...
- AbstractParser类增加了isPrintErrorLog静态变量,暴露给用户控制错误信息抛出
- 内外两层错误码改造,增加抛出异常逻辑(updateCount <= 0)
2021-04-06 16:51:57 +08:00
iceewei
635d241368
feat: 添加异常信息控制静态变量,改造两层错误码问题
...
- AbstractParser类增加了isPrintErrorLog静态变量,暴露给用户控制错误信息抛出
- 内外两层错误码改造,增加抛出异常逻辑(updateCount <= 0)
2021-04-06 15:37:16 +08:00
iceewei
737aa738ef
错误码只在最外层返回,逻辑统一
2021-04-05 22:29:18 +08:00
iceewei
3d210639c6
错误码只在最外层返回,逻辑统一
2021-04-05 22:27:10 +08:00
TommyLemon
8a6672b5f9
升级版本号为 4.6.6
2021-04-05 19:33:53 +08:00
TommyLemon
fe65470b5c
SQL 函数白名单新增 length;key$ 模糊搜索不允许连续的 %;AbstractSQLExecutor 新增 getKey 方法;新增待实现关键词 @null;删除 Structure.java, Operation 中 NECESSARY, DISALLOW 等已废弃的部分代码
2021-04-05 19:24:42 +08:00
TommyLemon
bae6febdbb
【安全】:调用 SQL 函数只允许用后端已配置的,避免 sleep(10) 这种命令函数导致数据库异常
2021-03-27 19:26:06 +08:00
TommyLemon
386a02f2f3
【安全】:加强对 JOIN 相关键值对的校验;加强对命名的校验
2021-03-27 16:47:56 +08:00
TommyLemon
ba68844465
删除已废弃的 Test 类的相关代码
2021-03-20 17:54:25 +08:00
TommyLemon
0a2cbc111a
升级版本号为 4.6.1
2021-03-20 17:30:17 +08:00
TommyLemon
a32d5f420e
解决对 Response 校验只对最外层生效;移除已废弃的 StructureUtil 和 Test 的相关代码
2021-03-20 16:25:14 +08:00
TommyLemon
4858f02d3f
解决表对象当表名有别名时被当成普通对象导致查不到数据
2021-02-06 19:46:13 +08:00
TommyLemon
9cd448713a
升级版本号为 4.6.0
2021-02-01 00:03:37 +08:00
TommyLemon
a406242a81
【性能】通过缓存及复用数组主表 ObjectParser 来大幅提升查询数组的性能
2021-01-31 19:35:52 +08:00
TommyLemon
6831cb6a6d
增强安全:对 DELETE 和 PUT 强制加 LIMIT;简化包含选项的写法:解决 "key<>": "a" 这种包含字符串的格式报错 Data truncation: Invalid JSON text,原来必须里面再用 "" 包装一次,JSON 中还得转义,现在直接写即可;
2021-01-31 04:20:26 +08:00
TommyLemon
cf1cca0254
解决 "toId%": "0,10" 等连续范围报错 value 类型不合法;解决 "id{}@": "[]/Moment/praiseUserIdList" 等引用赋值的值有时类型为 List 时报错 ArrayList cannot be cast to JSONArray;
2021-01-31 02:24:37 +08:00
TommyLemon
bb4896d208
通过减少不必要的 newSQLConfig 及 getSQL 等步骤来大幅提升数组内主表的查询性能
2021-01-30 19:56:35 +08:00
TommyLemon
b7d1fef192
优化全局默认参数的解析性能
2021-01-24 02:55:03 +08:00
TommyLemon
bbcf05e01c
解决某些情况下解析 引用赋值 出错 throw NullPointerException 或 IndexOutOfBoundsException
2021-01-24 01:55:59 +08:00
TommyLemon
f05df3a188
解决异常情况下未及时释放资源
2021-01-24 01:29:22 +08:00
Xiaoguang Sun
7c31719347
Add javax.activation dependencies to pom.xml
...
Add javax.activation dependencies to pom.xml so it could be built with
newer version of JDK starting from 11 which removed the deprecated Java
EE and CORBA Modules according to JEP 320
Signed-off-by: Xiaoguang Sun <sunxiaoguang@zhihu.com>
2021-01-20 12:23:11 +08:00
TommyLemon
8fd88e0af6
解决高并发情况下参数校验规则可能因为执行过程 remove 了部分操作关键词导致校验出错
2021-01-17 01:54:03 +08:00
TommyLemon
1f529277fa
fastjson 版本降到 1.2.74;项目版本升到 4.5.1
2021-01-17 00:14:10 +08:00
ganyu.gy
1530864c25
Upgrade fastjson
2021-01-12 17:03:02 +08:00
ganyu.gy
451fbdf391
Optimize some code
2021-01-12 16:59:02 +08:00
TommyLemon
297c251f36
Update pom.xml
2020-12-28 23:27:36 +08:00
TommyLemon
5a51f8825d
Update pom.xml
2020-12-27 02:02:45 +08:00
TommyLemon
945f6e4b0a
升级版本号为 4.4.6
2020-12-27 01:46:08 +08:00
TommyLemon
991b5fbbcc
解决 REFUSE 值为 "!" 时因为没有匹配 MUST,而是匹配了 NECESSARY 导致判断出错
2020-12-27 01:45:05 +08:00
TommyLemon
5cf01bc44f
解决 REQUEST_MAP 缓存中的 strcuture 在校验参数抛异常后未被还原,导致后续解析丢了部分配置
2020-12-27 01:33:42 +08:00
TommyLemon
3e86b09210
解决 PUT 请求传 @key:[] 被当成表字段然后解析报错
2020-12-27 00:00:39 +08:00
TommyLemon
d7905fff56
@column 和 @having 不允许注释符 /*
2020-12-26 23:27:52 +08:00
TommyLemon
2b19a123d4
返回字段 @column 支持 (balance)*100 和 length(content)%2=0 这种 字段 或 SQL 函数 后拼接数字比较表达式
2020-12-26 23:20:44 +08:00
TommyLemon
71f904313d
升级版本号至 4.4.5
2020-12-26 19:44:21 +08:00
TommyLemon
22ed7cc9e8
通过缓存 Request 校验规则来大幅提升增删改等非开放请求的性能;解决 关闭权限验证情况下批量新增、批量修改依然会验证权限 https://github.com/Tencent/APIJSON/issues/164
2020-12-26 19:41:51 +08:00
TommyLemon
7fa6ac181e
优化匹配条件范围的报错提示;
2020-12-14 02:05:31 +08:00
TommyLemon
b47140b477
匹配条件范围 key{}:"表达式" 不允许连续减号 --;升级项目版本号
2020-12-14 02:01:49 +08:00
TommyLemon
3dc9dd1ce5
@raw 支持 key:value 和 @having;@having 和 @column 一样支持 function(arg,&char,!) 中包含不符合 字段命名 的字符;优化代码和报错提示;
2020-12-14 01:37:31 +08:00
TommyLemon
d959c6c655
存储过程 @procedure():"fun(key0,key1..)" 返回格式中去掉 key 的 @ 前缀;取消支持 key? 这种正则匹配方式,全面用 key~ 替代;优化代码
2020-12-13 23:11:25 +08:00
TommyLemon
278ff6d4ba
原始 SQL 片段 @raw:"key" 新增支持条件范围 key{}: "(Comment
.userId
=to
.userId
)"、比较运算 key>: "to.momentId"、过滤字段 @column: "SUBSTRING_INDEX(SUBSTRING_INDEX(content,',',1),',',-1)"
2020-12-13 20:22:55 +08:00
TommyLemon
264781e56b
解决 "isPraised-()": "isContain(praiseUserIdList,userId)" 这种有前置执行 远程函数 的表对象可能返回没有表数据的对象,只有 { "isPraised": true } 这种无意义的对象
2020-12-08 20:38:16 +08:00
TommyLemon
9d4bd7b37f
解决 Windows mysql-5.6.26-winx64 等低于 5.7 的 MySQL 可能 id{}: [0] 生成 id IN(0) 触发 MySQL bug 导致忽略 IN 条件
2020-12-02 00:27:52 +08:00
TommyLemon
e4240857ad
数据和结构校验类 Structure 整合到 AbstractVerifier;AbstractParser 中 IdCallback 相关方法移到 AbstractVerifier;AbstractParser 优化代码避免 NPE;
2020-11-29 03:46:52 +08:00
TommyLemon
bc135fb785
dbUri 完全交给用户控制,不再针对 MySQL 版本号来自动配置参数;升级版本号为 4.3.0
2020-11-28 15:06:08 +08:00
TommyLemon
076b3fe1f3
Update README.md
2020-11-22 03:08:19 +08:00
TommyLemon
e656258c6e
新增 APIJSONORM 的远程依赖文档
2020-11-22 03:06:44 +08:00
TommyLemon
c32498b041
操作方法 Operation 新增 MUST 和 REFUSE 分别替代 NECESSARY 和 DISALLOW;解决 Structure.sqlVerify 不可用及预防可能的 SQL 注入;解决 SQLConfig 自定义的 idKey 和 userIdKey 在 Structure 中未同步导致自定义值校验不通过;
2020-11-22 02:26:36 +08:00
TommyLemon
c416514e43
升级 fastjson 版本为 1.2.74(测试 1.2.75 下载不了 Maven 依赖)
2020-11-15 00:35:57 +08:00
TommyLemon
b249994a8a
所有代码文件版权归属改为腾讯公司 THL A29 Limited
2020-10-27 21:23:55 +08:00
TommyLemon
620ecfcb0b
Update pom.xml
2020-09-26 02:36:03 +08:00
TommyLemon
2b2633f7b7
删除 APIJSONFramework,只用 apijson-framework; APIJSONORM:fastjson 升级到最新建议稳定版 1.2.73;自身版本提高到 4.2.1
2020-09-26 00:34:40 +08:00
TommyLemon
91255dab8b
Demo 工程迁移到 APIJSON-Demo 项目;APIJSONORM 和 APIJSONFramework 迁移到最外层;调整文档中的链接
2020-09-15 22:12:10 +08:00