hailin0 commented on code in PR #5872:
URL: https://github.com/apache/seatunnel/pull/5872#discussion_r1403320112
##########
seatunnel-connectors-v2/connector-jdbc/src/main/java/org/apache/seatunnel/connectors/seatunnel/jdbc/catalog/psql/PostgresCatalog.java:
##########
@@ -37,43 +37,33 @@
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
-import java.util.HashMap;
-import java.util.Map;
-
-import static
org.apache.seatunnel.connectors.seatunnel.jdbc.catalog.psql.PostgresDataTypeConvertor.PG_BIT;
-import static
org.apache.seatunnel.connectors.seatunnel.jdbc.catalog.psql.PostgresDataTypeConvertor.PG_BYTEA;
-import static
org.apache.seatunnel.connectors.seatunnel.jdbc.catalog.psql.PostgresDataTypeConvertor.PG_CHAR;
-import static
org.apache.seatunnel.connectors.seatunnel.jdbc.catalog.psql.PostgresDataTypeConvertor.PG_CHARACTER;
-import static
org.apache.seatunnel.connectors.seatunnel.jdbc.catalog.psql.PostgresDataTypeConvertor.PG_CHARACTER_VARYING;
-import static
org.apache.seatunnel.connectors.seatunnel.jdbc.catalog.psql.PostgresDataTypeConvertor.PG_GEOGRAPHY;
-import static
org.apache.seatunnel.connectors.seatunnel.jdbc.catalog.psql.PostgresDataTypeConvertor.PG_GEOMETRY;
-import static
org.apache.seatunnel.connectors.seatunnel.jdbc.catalog.psql.PostgresDataTypeConvertor.PG_INTERVAL;
-import static
org.apache.seatunnel.connectors.seatunnel.jdbc.catalog.psql.PostgresDataTypeConvertor.PG_TEXT;
@Slf4j
public class PostgresCatalog extends AbstractJdbcCatalog {
- private static final PostgresDataTypeConvertor DATA_TYPE_CONVERTOR =
- new PostgresDataTypeConvertor();
-
private static final String SELECT_COLUMNS_SQL_TEMPLATE =
"SELECT \n"
+ " a.attname AS column_name, \n"
+ "\t\tt.typname as type_name,\n"
+ " CASE \n"
+ + " WHEN a.atttypmod = -1 THEN t.typname\n"
+ " WHEN t.typname = 'varchar' THEN t.typname ||
'(' || (a.atttypmod - 4) || ')'\n"
+ " WHEN t.typname = 'bpchar' THEN 'char' || '(' ||
(a.atttypmod - 4) || ')'\n"
+ " WHEN t.typname = 'numeric' OR t.typname =
'decimal' THEN t.typname || '(' || ((a.atttypmod - 4) >> 16) || ', ' ||
((a.atttypmod - 4) & 65535) || ')'\n"
+ " WHEN t.typname = 'bit' OR t.typname = 'bit
varying' THEN t.typname || '(' || (a.atttypmod - 4) || ')'\n"
+ + " WHEN t.typname IN ('time', 'timetz',
'timestamp', 'timestamptz') THEN t.typname || '(' || a.atttypmod || ')'\n"
+ " ELSE t.typname\n"
+ " END AS full_type_name,\n"
+ " CASE\n"
+ + " WHEN a.atttypmod = -1 THEN NULL\n"
+ " WHEN t.typname IN ('varchar', 'bpchar', 'bit',
'bit varying') THEN a.atttypmod - 4\n"
+ " WHEN t.typname IN ('numeric', 'decimal') THEN
(a.atttypmod - 4) >> 16\n"
+ " ELSE NULL\n"
+ " END AS column_length,\n"
+ "\t\tCASE\n"
+ + " WHEN a.atttypmod = -1 THEN NULL\n"
+ " WHEN t.typname IN ('numeric', 'decimal') THEN
(a.atttypmod - 4) & 65535\n"
+ + " WHEN t.typname IN ('time', 'timetz',
'timestamp', 'timestamptz') THEN a.atttypmod\n"
+ " ELSE NULL\n"
+ " END AS column_scale,\n"
+ "\t\td.description AS column_comment,\n"
Review Comment:
```
+-----------+-----------+--------------+-------------+------------+--------------+----------------------------------------+-----------+
|column_name|type_name
|full_type_name|column_length|column_scale|column_comment|default_value
|is_nullable|
+-----------+-----------+--------------+-------------+------------+--------------+----------------------------------------+-----------+
|id |int8 |int8 |null |null |null
|null |NO |
|f1 |bool |bool |null |null |null
|null |YES |
|f2 |_bool |_bool |null |null |null
|null |YES |
|f3 |bytea |bytea |null |null |null
|null |YES |
|f5 |int2 |int2 |null |null |null
|null |YES |
|f6 |int2 |int2 |null |null |null
|nextval('all_types_1_f6_seq'::regclass) |NO |
|f7 |_int2 |_int2 |null |null |null
|null |YES |
|f8 |int4 |int4 |null |null |null
|null |YES |
|f9 |int4 |int4 |null |null |null
|null |YES |
|f10 |int4 |int4 |null |null |null
|nextval('all_types_1_f10_seq'::regclass)|NO |
|f11 |_int4 |_int4 |null |null |null
|null |YES |
|f12 |int8 |int8 |null |null |null
|null |YES |
|f13 |int8 |int8 |null |null |null
|nextval('all_types_1_f13_seq'::regclass)|NO |
|f14 |_int8 |_int8 |null |null |null
|null |YES |
|f15 |float4 |float4 |null |null |null
|null |YES |
|f16 |_float4 |_float4 |null |null |null
|null |YES |
|f17 |float8 |float8 |null |null |null
|null |YES |
|f18 |_float8 |_float8 |null |null |null
|null |YES |
|f19 |numeric |numeric |null |null |null
|null |YES |
|f20 |numeric |numeric(10, 0)|10 |0 |null
|null |YES |
|f21 |numeric |numeric(10, 2)|10 |2 |null
|null |YES |
|f22 |numeric |numeric |null |null |null
|null |YES |
|f23 |numeric |numeric(10, 0)|10 |0 |null
|null |YES |
|f24 |numeric |numeric(10, 2)|10 |2 |null
|null |YES |
|f25 |bpchar |char(1) |1 |null |null
|null |YES |
|f26 |bpchar |char(10) |10 |null |null
|null |YES |
|f27 |_bpchar |_bpchar |null |null |null
|null |YES |
|f28 |bpchar |char(1) |1 |null |null
|null |YES |
|f29 |bpchar |char(10) |10 |null |null
|null |YES |
|f30 |_bpchar |_bpchar |null |null |null
|null |YES |
|f31 |varchar |varchar |null |null |null
|null |YES |
|f32 |varchar |varchar(10) |10 |null |null
|null |YES |
|f33 |_varchar |_varchar |null |null |null
|null |YES |
|f34 |varchar |varchar |null |null |null
|null |YES |
|f35 |varchar |varchar(10) |10 |null |null
|null |YES |
|f36 |_varchar |_varchar |null |null |null
|null |YES |
|f37 |text |text |null |null |null
|null |YES |
|f38 |_text |_text |null |null |null
|null |YES |
|f41 |json |json |null |null |null
|null |YES |
|f42 |jsonb |jsonb |null |null |null
|null |YES |
|f43 |xml |xml |null |null |null
|null |YES |
|f44 |date |date |null |null |null
|null |YES |
|f45 |time |time |null |null |null
|null |YES |
|f46 |time |time(3) |null |3 |null
|null |YES |
|f47 |timetz |timetz |null |null |null
|null |YES |
|f48 |timetz |timetz(3) |null |3 |null
|null |YES |
|f49 |time |time |null |null |null
|null |YES |
|f50 |time |time(3) |null |3 |null
|null |YES |
|f51 |timestamp |timestamp |null |null |null
|null |YES |
|f52 |timestamp |timestamp(3) |null |3 |null
|null |YES |
|f53 |timestamptz|timestamptz |null |null |null
|null |YES |
|f54 |timestamptz|timestamptz(3)|null |3 |null
|null |YES |
|f55 |timestamp |timestamp |null |null |null
|null |YES |
|f56 |timestamp |timestamp(3) |null |3 |null
|null |YES |
|f57 |timestamptz|timestamptz |null |null |null
|null |YES |
|f58 |bool |bool |null |null |null
|null |YES |
+-----------+-----------+--------------+-------------+------------+--------------+----------------------------------------+-----------+
```
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]