Skip to content

Commit 14a9062

Browse files
committed
feat(cubesql): Improve DataGrip compatibility
Signed-off-by: Alex Qyoun-ae <[email protected]>
1 parent fa35c0a commit 14a9062

File tree

77 files changed

+3586
-453
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

77 files changed

+3586
-453
lines changed

packages/cubejs-backend-native/Cargo.lock

Lines changed: 7 additions & 7 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

rust/cubenativeutils/Cargo.lock

Lines changed: 7 additions & 7 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

rust/cubesql/Cargo.lock

Lines changed: 7 additions & 7 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

rust/cubesql/cubesql/Cargo.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,14 +10,14 @@ homepage = "https://cube.dev"
1010

1111
[dependencies]
1212
arc-swap = "1"
13-
datafusion = { git = 'https://github.com/cube-js/arrow-datafusion.git', rev = "7803f7e1cb8fa3d7b25451de35b8765e1ce4a3f6", default-features = false, features = [
13+
datafusion = { git = 'https://github.com/cube-js/arrow-datafusion.git', rev = "ea7364eee57e573fb0abea7d3a89af9a11adaccb", default-features = false, features = [
1414
"regex_expressions",
1515
"unicode_expressions",
1616
] }
1717
thiserror = "2"
1818
cubeclient = { path = "../cubeclient" }
1919
pg-srv = { path = "../pg-srv" }
20-
sqlparser = { git = 'https://github.com/cube-js/sqlparser-rs.git', rev = "34f22de680caa5fe586def5b336d56efe43c8cc4" }
20+
sqlparser = { git = 'https://github.com/cube-js/sqlparser-rs.git', rev = "b4e4c844a0e9b3e58c61ec2d1520b01a6e1437b7" }
2121
base64 = "0.13.0"
2222
tokio = { version = "^1.35", features = ["full", "rt", "tracing"] }
2323
serde = { version = "^1.0", features = ["derive"] }

rust/cubesql/cubesql/src/compile/engine/context_postgresql.rs

Lines changed: 67 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -17,16 +17,21 @@ use super::information_schema::postgres::{
1717
InfoSchemaSqlImplementationInfoProvider as PostgresInfoSchemaSqlImplementationInfoProvider,
1818
InfoSchemaSqlSizingProvider as PostgresInfoSchemaSqlSizingProvider,
1919
InfoSchemaTestingBlockingProvider, InfoSchemaTestingDatasetProvider, PgCatalogAmProvider,
20-
PgCatalogAttrdefProvider, PgCatalogAttributeProvider, PgCatalogClassProvider,
20+
PgCatalogAttrdefProvider, PgCatalogAttributeProvider, PgCatalogAuthMembersProvider,
21+
PgCatalogAvailableExtensionVersionsProvider, PgCatalogCastProvider, PgCatalogClassProvider,
2122
PgCatalogConstraintProvider, PgCatalogDatabaseProvider, PgCatalogDependProvider,
22-
PgCatalogDescriptionProvider, PgCatalogEnumProvider, PgCatalogExtensionProvider,
23-
PgCatalogIndexProvider, PgCatalogInheritsProvider, PgCatalogMatviewsProvider,
24-
PgCatalogNamespaceProvider, PgCatalogPartitionedTableProvider, PgCatalogProcProvider,
25-
PgCatalogRangeProvider, PgCatalogRolesProvider, PgCatalogSequenceProvider,
23+
PgCatalogDescriptionProvider, PgCatalogEnumProvider, PgCatalogEventTriggerProvider,
24+
PgCatalogExtensionProvider, PgCatalogForeignDataWrapperProvider,
25+
PgCatalogForeignServerProvider, PgCatalogForeignTableProvider, PgCatalogIndexProvider,
26+
PgCatalogInheritsProvider, PgCatalogLanguageProvider, PgCatalogLocksProvider,
27+
PgCatalogMatviewsProvider, PgCatalogNamespaceProvider, PgCatalogOperatorProvider,
28+
PgCatalogPartitionedTableProvider, PgCatalogProcProvider, PgCatalogRangeProvider,
29+
PgCatalogRewriteProvider, PgCatalogRolesProvider, PgCatalogSequenceProvider,
2630
PgCatalogSettingsProvider, PgCatalogShdescriptionProvider, PgCatalogStatActivityProvider,
2731
PgCatalogStatUserTablesProvider, PgCatalogStatioUserTablesProvider, PgCatalogStatsProvider,
28-
PgCatalogTableProvider, PgCatalogTypeProvider, PgCatalogUserProvider, PgCatalogViewsProvider,
29-
PgPreparedStatementsProvider,
32+
PgCatalogTableProvider, PgCatalogTablespaceProvider, PgCatalogTimezoneAbbrevsProvider,
33+
PgCatalogTimezoneNamesProvider, PgCatalogTypeProvider, PgCatalogUserMappingProvider,
34+
PgCatalogUserProvider, PgCatalogViewsProvider, PgPreparedStatementsProvider,
3035
};
3136
use crate::{
3237
compile::{
@@ -138,6 +143,36 @@ impl DatabaseProtocol {
138143
"pg_catalog.pg_stat_user_tables".to_string()
139144
} else if let Some(_) = any.downcast_ref::<PgCatalogShdescriptionProvider>() {
140145
"pg_catalog.pg_shdescription".to_string()
146+
} else if let Some(_) = any.downcast_ref::<PgCatalogLocksProvider>() {
147+
"pg_catalog.pg_locks".to_string()
148+
} else if let Some(_) = any.downcast_ref::<PgCatalogTimezoneNamesProvider>() {
149+
"pg_catalog.pg_timezone_names".to_string()
150+
} else if let Some(_) = any.downcast_ref::<PgCatalogTimezoneAbbrevsProvider>() {
151+
"pg_catalog.pg_timezone_abbrevs".to_string()
152+
} else if let Some(_) = any.downcast_ref::<PgCatalogAuthMembersProvider>() {
153+
"pg_catalog.pg_auth_members".to_string()
154+
} else if let Some(_) = any.downcast_ref::<PgCatalogTablespaceProvider>() {
155+
"pg_catalog.pg_tablespace".to_string()
156+
} else if let Some(_) = any.downcast_ref::<PgCatalogEventTriggerProvider>() {
157+
"pg_catalog.pg_event_trigger".to_string()
158+
} else if let Some(_) = any.downcast_ref::<PgCatalogForeignDataWrapperProvider>() {
159+
"pg_catalog.pg_foreign_data_wrapper".to_string()
160+
} else if let Some(_) = any.downcast_ref::<PgCatalogForeignServerProvider>() {
161+
"pg_catalog.pg_foreign_server".to_string()
162+
} else if let Some(_) = any.downcast_ref::<PgCatalogUserMappingProvider>() {
163+
"pg_catalog.pg_user_mapping".to_string()
164+
} else if let Some(_) = any.downcast_ref::<PgCatalogAvailableExtensionVersionsProvider>() {
165+
"pg_catalog.pg_available_extension_versions".to_string()
166+
} else if let Some(_) = any.downcast_ref::<PgCatalogLanguageProvider>() {
167+
"pg_catalog.pg_language".to_string()
168+
} else if let Some(_) = any.downcast_ref::<PgCatalogCastProvider>() {
169+
"pg_catalog.pg_cast".to_string()
170+
} else if let Some(_) = any.downcast_ref::<PgCatalogForeignTableProvider>() {
171+
"pg_catalog.pg_foreign_table".to_string()
172+
} else if let Some(_) = any.downcast_ref::<PgCatalogOperatorProvider>() {
173+
"pg_catalog.pg_operator".to_string()
174+
} else if let Some(_) = any.downcast_ref::<PgCatalogRewriteProvider>() {
175+
"pg_catalog.pg_rewrite".to_string()
141176
} else if let Some(_) = any.downcast_ref::<RedshiftPgExternalSchemaProvider>() {
142177
"pg_catalog.pg_external_schema".to_string()
143178
} else if let Some(_) = any.downcast_ref::<RedshiftSvvTablesTableProvider>() {
@@ -404,6 +439,31 @@ impl DatabaseProtocol {
404439
)))
405440
}
406441
"pg_shdescription" => return Some(Arc::new(PgCatalogShdescriptionProvider::new())),
442+
"pg_locks" => return Some(Arc::new(PgCatalogLocksProvider::new())),
443+
"pg_timezone_names" => {
444+
return Some(Arc::new(PgCatalogTimezoneNamesProvider::new()))
445+
}
446+
"pg_timezone_abbrevs" => {
447+
return Some(Arc::new(PgCatalogTimezoneAbbrevsProvider::new()))
448+
}
449+
"pg_auth_members" => return Some(Arc::new(PgCatalogAuthMembersProvider::new())),
450+
"pg_tablespace" => return Some(Arc::new(PgCatalogTablespaceProvider::new())),
451+
"pg_event_trigger" => return Some(Arc::new(PgCatalogEventTriggerProvider::new())),
452+
"pg_foreign_data_wrapper" => {
453+
return Some(Arc::new(PgCatalogForeignDataWrapperProvider::new()))
454+
}
455+
"pg_foreign_server" => {
456+
return Some(Arc::new(PgCatalogForeignServerProvider::new()))
457+
}
458+
"pg_user_mapping" => return Some(Arc::new(PgCatalogUserMappingProvider::new())),
459+
"pg_available_extension_versions" => {
460+
return Some(Arc::new(PgCatalogAvailableExtensionVersionsProvider::new()))
461+
}
462+
"pg_language" => return Some(Arc::new(PgCatalogLanguageProvider::new())),
463+
"pg_cast" => return Some(Arc::new(PgCatalogCastProvider::new())),
464+
"pg_foreign_table" => return Some(Arc::new(PgCatalogForeignTableProvider::new())),
465+
"pg_operator" => return Some(Arc::new(PgCatalogOperatorProvider::new())),
466+
"pg_rewrite" => return Some(Arc::new(PgCatalogRewriteProvider::new())),
407467
"pg_external_schema" => {
408468
return Some(Arc::new(RedshiftPgExternalSchemaProvider::new()))
409469
}

rust/cubesql/cubesql/src/compile/engine/information_schema/postgres/mod.rs

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,21 +16,32 @@ pub mod views;
1616
mod pg_am;
1717
mod pg_attrdef;
1818
mod pg_attribute;
19+
mod pg_auth_members;
20+
mod pg_available_extension_versions;
21+
mod pg_cast;
1922
mod pg_class;
2023
mod pg_constraint;
2124
mod pg_database;
2225
mod pg_depend;
2326
mod pg_description;
2427
mod pg_enum;
28+
mod pg_event_trigger;
2529
mod pg_extension;
30+
mod pg_foreign_data_wrapper;
31+
mod pg_foreign_server;
32+
mod pg_foreign_table;
2633
mod pg_index;
2734
mod pg_inherits;
35+
mod pg_language;
36+
mod pg_locks;
2837
mod pg_matviews;
2938
mod pg_namespace;
39+
mod pg_operator;
3040
mod pg_partitioned_table;
3141
mod pg_prepared_statements;
3242
mod pg_proc;
3343
mod pg_range;
44+
mod pg_rewrite;
3445
mod pg_roles;
3546
mod pg_sequence;
3647
mod pg_settings;
@@ -40,8 +51,12 @@ mod pg_stat_user_tables;
4051
mod pg_statio_user_tables;
4152
mod pg_stats;
4253
mod pg_tables;
54+
mod pg_tablespace;
55+
mod pg_timezone_abbrevs;
56+
mod pg_timezone_names;
4357
mod pg_type;
4458
mod pg_user;
59+
mod pg_user_mapping;
4560
mod pg_views;
4661
mod role_column_grants;
4762
mod role_table_grants;
@@ -52,21 +67,32 @@ use super::utils;
5267
pub use pg_am::*;
5368
pub use pg_attrdef::*;
5469
pub use pg_attribute::*;
70+
pub use pg_auth_members::*;
71+
pub use pg_available_extension_versions::*;
72+
pub use pg_cast::*;
5573
pub use pg_class::*;
5674
pub use pg_constraint::*;
5775
pub use pg_database::*;
5876
pub use pg_depend::*;
5977
pub use pg_description::*;
6078
pub use pg_enum::*;
79+
pub use pg_event_trigger::*;
6180
pub use pg_extension::*;
81+
pub use pg_foreign_data_wrapper::*;
82+
pub use pg_foreign_server::*;
83+
pub use pg_foreign_table::*;
6284
pub use pg_index::*;
6385
pub use pg_inherits::*;
86+
pub use pg_language::*;
87+
pub use pg_locks::*;
6488
pub use pg_matviews::*;
6589
pub use pg_namespace::*;
90+
pub use pg_operator::*;
6691
pub use pg_partitioned_table::*;
6792
pub use pg_prepared_statements::*;
6893
pub use pg_proc::*;
6994
pub use pg_range::*;
95+
pub use pg_rewrite::*;
7096
pub use pg_roles::*;
7197
pub use pg_sequence::*;
7298
pub use pg_settings::*;
@@ -76,8 +102,12 @@ pub use pg_stat_user_tables::*;
76102
pub use pg_statio_user_tables::*;
77103
pub use pg_stats::*;
78104
pub use pg_tables::*;
105+
pub use pg_tablespace::*;
106+
pub use pg_timezone_abbrevs::*;
107+
pub use pg_timezone_names::*;
79108
pub use pg_type::*;
80109
pub use pg_user::*;
110+
pub use pg_user_mapping::*;
81111
pub use pg_views::*;
82112
pub use role_column_grants::*;
83113
pub use role_table_grants::*;

0 commit comments

Comments
 (0)