一、类调用

简介:calcite可以连接各数据源,做查询。可以收口查询权限,查询多引擎需求

二、 获取Connection发送的请求

请求介绍文档:https://calcite.apache.org/avatica/docs/json_reference.html#closeconnectionrequest

第一个请求:openConnection
Connection connection = DriverManager.getConnection(url, properties);
{"request":"openConnection","connectionId":"17810271-59a0-4ae1-a764-073be9048ebd","info":{"password":"自定义密码","appId":"651544823162880","user":"自定义账号"}}
{"response":"openConnection","rpcMetadata":{"response":"rpcMetadata","serverAddress":"tx-bj-aa:5888"}}
第二个请求:connectionSync
{"request":"connectionSync",
"connectionId":"17810271-59a0-4ae1-a764-073be9048ebd",
"connProps":{"connProps":"connPropsImpl","autoCommit":null,"readOnly":null,"transactionIsolation":null,"catalog":null,"schema":null,"dirty":true}
}
{"response":"connectionSync",
"connProps":{"connProps":"connPropsImpl","autoCommit":null,"readOnly":null,"transactionIsolation":null,"catalog":null,"schema":null,"dirty":false},
"rpcMetadata":{"response":"rpcMetadata","serverAddress":"tx-bj-服务器:5888"}
}

Statement pS = connection.createStatement();

{"request":"createStatement","connectionId":"17810271-59a0-4ae1-a764-073be9048ebd"}
{"response":"createStatement",
"connectionId":"56965299-f5ba-4424-bb6e-b57f1f703658",
"statementId":1473,
"rpcMetadata":{"response":"rpcMetadata","serverAddress":"tx-bj-服务器:5888"}
}
pS.executeQuery(sql);
{"request":"prepareAndExecute",
"connectionId":"17810271-59a0-4ae1-a764-073be9048ebd",
"statementId":1479,
"sql":"SELECT * FROM dw.dwd_表名 limit 10",
"maxRowsInFirstFrame":-1,
"maxRowCount":-1
}
{
"response": "executeResults",
"missingStatement": false,
"rpcMetadata": {
"response": "rpcMetadata",
"serverAddress": "tx-bj-服务器:5888"
},
"results": [{
"response": "resultSet",
"connectionId": "17810271-59a0-4ae1-a764-073be9048ebd",
"statementId": 1479,
"ownStatement": true,
"signature": {
"columns": [{
"ordinal": 0,
"autoIncrement": false,
"caseSensitive": false,
"searchable": true,
"currency": false,
"nullable": 2,
"signed": false,
"displaySize": 2147483647,
"label": "md5_log",
"columnName": "md5_log",
"schemaName": "",
"precision": 2147483647,
"scale": 0,
"tableName": "",
"catalogName": "",
"type": {
"type": "scalar",
"id": 12,
"name": "varchar",
"rep": "STRING"
},
"readOnly": true,
"writable": false,
"definitelyWritable": false,
"columnClassName": "java.lang.String"
}, {
"ordinal": 1,
"autoIncrement": false,
"caseSensitive": false,
"searchable": true,
"currency": false,
"nullable": 2,
"signed": false,
"displaySize": 2147483647,
"label": "biz_type",
"columnName": "biz_type",
"schemaName": "",
"precision": 2147483647,
"scale": 0,
"tableName": "",
"catalogName": "",
"type": {
"type": "scalar",
"id": 12,
"name": "varchar",
"rep": "STRING"
},
"readOnly": true,
"writable": false,
"definitelyWritable": false,
"columnClassName": "java.lang.String"
}, {
"ordinal": 2,
"autoIncrement": false,
"caseSensitive": false,
"searchable": true,
"currency": false,
"nullable": 2,
"signed": false,
"displaySize": 2147483647,
"label": "client_type",
"columnName": "client_type",
"schemaName": "",
"precision": 2147483647,
"scale": 0,
"tableName": "",
"catalogName": "",
"type": {
"type": "scalar",
"id": 12,
"name": "varchar",
"rep": "STRING"
},
"readOnly": true,
"writable": false,
"definitelyWritable": false,
"columnClassName": "java.lang.String"
}, {
"ordinal": 3,
"autoIncrement": false,
"caseSensitive": false,
"searchable": true,
"currency": false,
"nullable": 2,
"signed": false,
"displaySize": 2147483647,
"label": "biz_name",
"columnName": "biz_name",
"schemaName": "",
"precision": 2147483647,
"scale": 0,
"tableName": "",
"catalogName": "",
"type": {
"type": "scalar",
"id": 12,
"name": "varchar",
"rep": "STRING"
},
"readOnly": true,
"writable": false,
"definitelyWritable": false,
"columnClassName": "java.lang.String"
}, {
"ordinal": 4,
"autoIncrement": false,
"caseSensitive": false,
"searchable": true,
"currency": false,
"nullable": 2,
"signed": false,
"displaySize": 2147483647,
"label": "env",
"columnName": "env",
"schemaName": "",
"precision": 2147483647,
"scale": 0,
"tableName": "",
"catalogName": "",
"type": {
"type": "scalar",
"id": 12,
"name": "varchar",
"rep": "STRING"
},
"readOnly": true,
"writable": false,
"definitelyWritable": false,
"columnClassName": "java.lang.String"
}],
"sql": null,
"parameters": [],
"cursorFactory": {
"style": "LIST",
"clazz": null,
"fieldNames": null
},
"statementType": null
},
"firstFrame": {
"offset": 0,
"done": true,
"rows": [
["fb7e61aea7190331d8cebc9d35162327", "7", "1", "gggggg", "0", "2.1.4", "1656791999000", "1656791999213", "12333333333333", "-1", "7983397615961344", "7983397615961344", "113.110.110.110", "阿萨德", "南方", "仓储", "联通"],
["f5d24107070b403b83fdd4a92cd5de33", "1", "5", "hhhhhh", "1", "2.0.5", "1656792000000", "1656792000357", "45666666666666", "-1", "-1", "-1", "110.110.110.241", "中国", "是是是", "", "阿萨德"]
]
},
"updateCount": -1,
"rpcMetadata": {
"response": "rpcMetadata",
"serverAddress": "tx-bj-服务器"
}
}]
}
pS.close();
{"request":"closeStatement","connectionId":"17810271-59a0-4ae1-a764-073be9048ebd","statementId":1479}
{"response":"closeStatement",
"rpcMetadata":{"response":"rpcMetadata","serverAddress":"tx-bj-bdg-服务器:5888"}}
 
connection.close();
{"request":"closeConnection","connectionId":"17810271-59a0-4ae1-a764-073be9048ebd"}
{"response":"closeConnection",
"rpcMetadata":{"response":"rpcMetadata","serverAddress":"tx-bj-服务器:5888"}}

Calcite 获取jdbc连接流程的更多相关文章

  1. 单例模式获取JDBC连接

    package com.jdbc.test; import java.io.IOException; import java.io.InputStream; import java.sql.Conne ...

  2. JDBC连接流程

    ConectionFactory cf = new ConectionFactory();//创建数据库连接Connection con = cf.getConection();//打开水数据库的连接 ...

  3. 获取OlapConnection连接

    目录: 1.获取org.olap4j.OlapConnection对象 2.获取mondrian.olap.Connection对象 一.org.olap4j.OlapConnection对象 说明: ...

  4. JDBC连接抽象方法的使用例子

    package com.zdlt.auth.api.base.datasource; import java.sql.*; import java.util.ArrayList; import jav ...

  5. JDBC连接MySQL数据库及演示样例

    JDBC是Sun公司制定的一个能够用Java语言连接数据库的技术. 一.JDBC基础知识         JDBC(Java Data Base Connectivity,java数据库连接)是一种用 ...

  6. JDBC连接MySQL数据库及示例

      JDBC是Sun公司制定的一个可以用Java语言连接数据库的技术. 一.JDBC基础知识         JDBC(Java Data Base Connectivity,java数据库连接)是一 ...

  7. JAVA采用JDBC连接操作数据库详解

    JDBC连接数据库概述 一.JDBC基础知识 JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供 ...

  8. jdbc连接sql数据库

    JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口 ...

  9. Java使用JDBC连接Hive

    最近一段时间,处理过一个问题,那就是hive jdbc的连接问题,其实也不是大问题,就是url写的不对,导致无法连接.问题在于HiveServer2增加了别的安全验证,导致正常的情况下,传递的参数无法 ...

  10. 线程池-连接池-JDBC实例-JDBC连接池技术

    线程池和连接池   线程池的原理:     来看一下线程池究竟是怎么一回事?其实线程池的原理很简单,类似于操作系统中的缓冲区的概念,它的流程如下:先启动若干数量的线程,并让这些线程都处于睡眠状态,当客 ...

随机推荐

  1. AtCoder Beginner Contest 296

    Transition Game 给定序列\(a\),\(1<=a_i<=n\),一场游戏有\(n\)个回合,第\(i\)回合时,第一个人先指定一个任意数\(k\),第二个人任意选定一个\( ...

  2. [Cnblogs.Architecture][v20.5.1] 使用 AddLongToJsonConverter() 将 long 序列化为 string

    场景 浏览器的 JSON 反序列化无法完整将 long 类型转换为 number,最后一位会被四舍五入. 因此需要将 long 类型转为 string 发送到前端. 适用版本 v20.5.1 使用方法 ...

  3. Newstar CTF 2023 week2 pwn

    1.ret2libc 发现存在pop rdi 观察main函数,可以利用puts函数泄露libc from pwn import * from LibcSearcher import * contex ...

  4. 阿里巴巴LangEngine开源了!支撑亿级网关规模的高可用Java原生AI应用开发框架

    LangEngine作为阿里集团内部发起的纯Java版本的AI应用开发框架,经过充分实践,已经广泛应用于包括淘宝.天猫.阿里云.爱橙科技.菜鸟.蚂蚁.飞猪.1688.LAZADA等在内的多个业务场景. ...

  5. Oracle无法远程连接的原因及解决办法

    前提 虚拟机Linux(centos7)下静默安装Oracle数据库,本地能访问.文章参考:Linux-CentOS7下安装Oracle11g - sankuoshu - 博客园 (cnblogs.c ...

  6. cas5配置redis

    ​POM文件加载redis依赖,重新maven clean package <dependency> <groupId>org.apereo.cas</groupId&g ...

  7. docker compose的安装

    1,安装docker ### CentOS8 默认是会读取centos.org的mirrorlist的,所以一般来说是不需要配置镜像的. # step 1: 安装必要的一些系统工具 sudo yum ...

  8. 【Amadeus原创】word图片隐藏在文字里了的终极解决办法

    终极解决方案: 点击该图片,然后,选择正文,即可.

  9. R数据分析,codewar的年终总结,和一周年总结,寒假快乐呀

    前阵子单位各个部门都在要求弄总结,想想自己这个公众号也写了快一年了,专门回去翻了翻,这个公众号发布的第一篇文章是在2021年的1月17日,我想2022年的1月17日我就把现在敲的文字推出来吧,也算是一 ...

  10. Ubuntu下安装make

    方法一:(自动安装) 1.进入root权限:su root 2.更新安装列表:apt-get update 3.安装make:apt-get install ubuntu-make 方法二:(手动安装 ...