一、类调用

简介: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. Mybatis【18】-- Mybatis自关联多对一查询方式

    注:代码已托管在GitHub上,地址是:https://github.com/Damaer/Mybatis-Learning ,项目是mybatis-14-oneself-many2one,需要自取, ...

  2. LGR-204-Div.2

    Contest link 质量不错的比赛. A 比较明显的题,贪心往下做就可以. #include <bits/stdc++.h> using i64 = long long; const ...

  3. 一个大幅提高开发效率的工具库 WYBasisKit

    WYBasisKit (持续更新) WYBasisKit 是做什么的? WYBasisKit 不仅可以帮助开发者快速构建一个工程,还有基于常用网络框架和系统API而封装的各种实用方法.扩展,开发者只需 ...

  4. QEMU固件模拟技术-stm32仿真分析及IRQ仿真实践

    文章首发于 https://forum.butian.net/share/124 概述 上一篇文件介绍了luaqemu的实现,也提到luaqemu并没有对中断相关api进行封装,本节主要基于stm32 ...

  5. 【Amadeus原创】更改域控域用户密码过期日期时间

    1,打开服务管理器,点工具,选择Active Directory 管理中心 2,右键域名(本地)-属性 3,选择属性编辑器,把maxPwdAge 从90天改成180天.

  6. 获取公众号openid,通过unionid 和小程序用户绑定起来

    时间仓促,暂时记录一下,有问题请留言 背景:目前客户项目有两套系统.一套暂时定为A系统,另一套为B系统,两套系统下有不同的公众号,小程序. 需求:B系统为用户端系统,需要发送公众号模板消息,所以需要用 ...

  7. alpine-jdk17

    # 指定基础镜像 FROM amd64/eclipse-temurin:17.0.5_8-jdk-alpine MAINTAINER "muzhi" RUN sed -i 's/d ...

  8. IDEA批量实现CRLF转换成LF问题

    需要注意idea项目中右下角:选择LF,否则到时候部署到生产环境上会报错'\r\n'问题,之前的解决方案是 dos2unix 然后很多文件报这个问题,索性进行批量转换,但是很快拉去的新项目又会出现同样 ...

  9. Qt数据库应用1-数据导入导出csv

    一.前言 在经历过大大小小十几个甚至几十个纯QtWidget项目后,涉及到数据库相关的项目,几乎都有一个需求,将少量的信息数据比如设备信息.防区信息等,导出到文件保存好,然后用户可以打开该表格进行编辑 ...

  10. Qt编写安防视频监控系统52-颜色配置

    一.前言 在系统打印日志或者窗口信息栏中,各种临时打印信息都显示在这里,很多时候我们还需要对特定的类别的信息突出颜色显示,比如告警信息,甚至对不同的告警级别的信息还可以分别不同的颜色显示,这样看起来会 ...