Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
jobily
Questdb
提交
002f0141
Q
Questdb
项目概览
jobily
/
Questdb
10 个月 前同步成功
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
Q
Questdb
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
未验证
提交
002f0141
编写于
8月 27, 2020
作者:
J
Joan Augsburger
提交者:
GitHub
8月 27, 2020
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix(cutlass): pg-wire - bound parameters in nodejs fix #290 (#566)
上级
c35a04e8
变更
2
展开全部
隐藏空白更改
内联
并排
Showing
2 changed file
with
344 addition
and
117 deletion
+344
-117
core/src/main/java/io/questdb/cutlass/pgwire/PGConnectionContext.java
...n/java/io/questdb/cutlass/pgwire/PGConnectionContext.java
+167
-116
core/src/test/java/io/questdb/cutlass/pgwire/PGJobContextTest.java
...test/java/io/questdb/cutlass/pgwire/PGJobContextTest.java
+177
-1
未找到文件。
core/src/main/java/io/questdb/cutlass/pgwire/PGConnectionContext.java
浏览文件 @
002f0141
此差异已折叠。
点击以展开。
core/src/test/java/io/questdb/cutlass/pgwire/PGJobContextTest.java
浏览文件 @
002f0141
...
...
@@ -1872,7 +1872,7 @@ public class PGJobContextTest extends AbstractGriffinTest {
@Test
public
void
testInsertTableDoesNotExistPrepared
()
throws
Exception
{
testInsertTableDoesNotExist
(
false
,
"
Cannot append. File
does not exist"
);
testInsertTableDoesNotExist
(
false
,
"
table 'x'
does not exist"
);
}
@Test
...
...
@@ -2171,6 +2171,182 @@ public class PGJobContextTest extends AbstractGriffinTest {
});
}
@Test
public
void
testCharIntLongDoubleBooleanParametersWithoutExplicitParameterTypeHex
()
throws
Exception
{
String
script
=
">0000006e00030000757365720078797a0064617461626173650071646200636c69656e745f656e636f64696e67005554463800446174655374796c650049534f0054696d655a6f6e65004575726f70652f4c6f6e646f6e0065787472615f666c6f61745f64696769747300320000\n"
+
"<520000000800000003\n"
+
">70000000076f6800\n"
+
"<520000000800000000530000001154696d655a6f6e6500474d5400530000001d6170706c69636174696f6e5f6e616d6500517565737444420053000000187365727665725f76657273696f6e0031312e33005300000019696e74656765725f6461746574696d6573006f6e005300000019636c69656e745f656e636f64696e670055544638005a0000000549\n"
+
">50000000300073656c65637420782c202024312c2024322066726f6d206c6f6e675f73657175656e63652832293b000000\n"
+
">4200000021000000010000000200000001330000000a353030303030303030300000\n"
+
">44000000065000\n"
+
">45000000090000000000\n"
+
">4800000004\n"
+
"<31000000043200000004540000004400037800000040010001000000140004ffffffff0000243100000040010002000000170004ffffffff0000243200000040010003000000140004ffffffff0000440000001e0003000000013100000001330000000a35303030303030303030440000001e0003000000013200000001330000000a35303030303030303030430000000d53454c454354203200\n"
;
assertHexScript
(
NetworkFacadeImpl
.
INSTANCE
,
NetworkFacadeImpl
.
INSTANCE
,
script
,
new
DefaultPGWireConfiguration
()
{
@Override
public
String
getDefaultPassword
()
{
return
"oh"
;
}
@Override
public
String
getDefaultUsername
()
{
return
"xyz"
;
}
});
}
@Test
public
void
testInferringBadParamenterWithoutExplicitParameterTypeHex2
()
throws
Exception
{
String
script
=
">0000006e00030000757365720078797a0064617461626173650071646200636c69656e745f656e636f64696e67005554463800446174655374796c650049534f0054696d655a6f6e65004575726f70652f4c6f6e646f6e0065787472615f666c6f61745f64696769747300320000\n"
+
"<520000000800000003\n"
+
">70000000076f6800\n"
+
"<520000000800000000530000001154696d655a6f6e6500474d5400530000001d6170706c69636174696f6e5f6e616d6500517565737444420053000000187365727665725f76657273696f6e0031312e33005300000019696e74656765725f6461746574696d6573006f6e005300000019636c69656e745f656e636f64696e670055544638005a0000000549\n"
+
">50000000300073656c65637420782c202024312c2024322066726f6d206c6f6e675f73657175656e63652832293b000000\n"
+
">4200000021000000010000000200000001000000000a353030303030303030300000\n"
+
"<!!"
;
assertHexScript
(
NetworkFacadeImpl
.
INSTANCE
,
NetworkFacadeImpl
.
INSTANCE
,
script
,
new
DefaultPGWireConfiguration
()
{
@Override
public
String
getDefaultPassword
()
{
return
"oh"
;
}
@Override
public
String
getDefaultUsername
()
{
return
"xyz"
;
}
});
}
@Test
public
void
testHappyPathForIntParameterWithoutExplicitParameterTypeHex
()
throws
Exception
{
String
script
=
">0000006e00030000757365720078797a0064617461626173650071646200636c69656e745f656e636f64696e67005554463800446174655374796c650049534f0054696d655a6f6e65004575726f70652f4c6f6e646f6e0065787472615f666c6f61745f64696769747300320000\n"
+
"<520000000800000003\n"
+
">70000000076f6800\n"
+
"<520000000800000000530000001154696d655a6f6e6500474d5400530000001d6170706c69636174696f6e5f6e616d6500517565737444420053000000187365727665725f76657273696f6e0031312e33005300000019696e74656765725f6461746574696d6573006f6e005300000019636c69656e745f656e636f64696e670055544638005a0000000549\n"
+
">500000002c0073656c65637420782c202024312066726f6d206c6f6e675f73657175656e63652832293b000000\n"
+
">420000001100000000000100000001330000\n"
+
">44000000065000\n"
+
">45000000090000000000\n"
+
">4800000004\n"
+
"<31000000043200000004540000002f00027800000040010001000000140004ffffffff0000243100000040010002000000170004ffffffff000044000000100002000000013100000001334400000010000200000001320000000133430000000d53454c454354203200\n"
;
assertHexScript
(
NetworkFacadeImpl
.
INSTANCE
,
NetworkFacadeImpl
.
INSTANCE
,
script
,
new
DefaultPGWireConfiguration
()
{
@Override
public
String
getDefaultPassword
()
{
return
"oh"
;
}
@Override
public
String
getDefaultUsername
()
{
return
"xyz"
;
}
});
}
@Test
public
void
testIntAndLongParametersWithoutExplicitParameterTypeButOneExplicitTextFormatHex
()
throws
Exception
{
String
script
=
">0000006e00030000757365720078797a0064617461626173650071646200636c69656e745f656e636f64696e67005554463800446174655374796c650049534f0054696d655a6f6e65004575726f70652f4c6f6e646f6e0065787472615f666c6f61745f64696769747300320000\n"
+
"<520000000800000003\n"
+
">70000000076f6800\n"
+
"<520000000800000000530000001154696d655a6f6e6500474d5400530000001d6170706c69636174696f6e5f6e616d6500517565737444420053000000187365727665725f76657273696f6e0031312e33005300000019696e74656765725f6461746574696d6573006f6e005300000019636c69656e745f656e636f64696e670055544638005a0000000549\n"
+
">50000000300073656c65637420782c202024312c2024322066726f6d206c6f6e675f73657175656e63652832293b000000\n"
+
">4200000021000000010000000200000001330000000a353030303030303030300000\n"
+
">44000000065000\n"
+
">45000000090000000000\n"
+
">4800000004\n"
+
"<31000000043200000004540000004400037800000040010001000000140004ffffffff0000243100000040010002000000170004ffffffff0000243200000040010003000000140004ffffffff0000440000001e0003000000013100000001330000000a35303030303030303030440000001e0003000000013200000001330000000a35303030303030303030430000000d53454c454354203200\n"
;
assertHexScript
(
NetworkFacadeImpl
.
INSTANCE
,
NetworkFacadeImpl
.
INSTANCE
,
script
,
new
DefaultPGWireConfiguration
()
{
@Override
public
String
getDefaultPassword
()
{
return
"oh"
;
}
@Override
public
String
getDefaultUsername
()
{
return
"xyz"
;
}
});
}
@Test
public
void
testIntParameterWithoutExplicitParameterTypeButExplicitTextFormatHex
()
throws
Exception
{
String
script
=
">0000006e00030000757365720078797a0064617461626173650071646200636c69656e745f656e636f64696e67005554463800446174655374796c650049534f0054696d655a6f6e65004575726f70652f4c6f6e646f6e0065787472615f666c6f61745f64696769747300320000\n"
+
"<520000000800000003\n"
+
">70000000076f6800\n"
+
"<520000000800000000530000001154696d655a6f6e6500474d5400530000001d6170706c69636174696f6e5f6e616d6500517565737444420053000000187365727665725f76657273696f6e0031312e33005300000019696e74656765725f6461746574696d6573006f6e005300000019636c69656e745f656e636f64696e670055544638005a0000000549\n"
+
">500000002c0073656c65637420782c202024312066726f6d206c6f6e675f73657175656e63652832293b000000\n"
+
">4200000013000000010000000100000001330000\n"
+
">44000000065000\n"
+
">45000000090000000000\n"
+
">4800000004\n"
+
"<31000000043200000004540000002f00027800000040010001000000140004ffffffff0000243100000040010002000000170004ffffffff000044000000100002000000013100000001334400000010000200000001320000000133430000000d53454c454354203200\n"
;
assertHexScript
(
NetworkFacadeImpl
.
INSTANCE
,
NetworkFacadeImpl
.
INSTANCE
,
script
,
new
DefaultPGWireConfiguration
()
{
@Override
public
String
getDefaultPassword
()
{
return
"oh"
;
}
@Override
public
String
getDefaultUsername
()
{
return
"xyz"
;
}
});
}
@Test
public
void
testSendingBufferWhenFlushMessageReceivedeHex
()
throws
Exception
{
String
script
=
">0000006e00030000757365720078797a0064617461626173650071646200636c69656e745f656e636f64696e67005554463800446174655374796c650049534f0054696d655a6f6e65004575726f70652f4c6f6e646f6e0065787472615f666c6f61745f64696769747300320000\n"
+
"<520000000800000003\n"
+
">70000000076f6800\n"
+
"<520000000800000000530000001154696d655a6f6e6500474d5400530000001d6170706c69636174696f6e5f6e616d6500517565737444420053000000187365727665725f76657273696f6e0031312e33005300000019696e74656765725f6461746574696d6573006f6e005300000019636c69656e745f656e636f64696e670055544638005a0000000549\n"
+
">500000002c0073656c65637420782c202024312066726f6d206c6f6e675f73657175656e63652832293b000000\n"
+
">420000001100000000000100000001330000\n"
+
">44000000065000\n"
+
">45000000090000000000\n"
+
">4800000004\n"
+
"<31000000043200000004540000002f00027800000040010001000000140004ffffffff0000243100000040010002000000170004ffffffff000044000000100002000000013100000001334400000010000200000001320000000133430000000d53454c454354203200\n"
+
">4800000004\n"
+
">5300000004\n"
+
"<5a0000000549\n"
+
">5800000004"
;
assertHexScript
(
NetworkFacadeImpl
.
INSTANCE
,
NetworkFacadeImpl
.
INSTANCE
,
script
,
new
DefaultPGWireConfiguration
()
{
@Override
public
String
getDefaultPassword
()
{
return
"oh"
;
}
@Override
public
String
getDefaultUsername
()
{
return
"xyz"
;
}
});
}
private
void
testInsertTableDoesNotExist
(
boolean
simple
,
String
expectedError
)
throws
Exception
{
// we are going to:
// 1. create a table
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录