-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
chore: use the mql model instead of BSON for our own queries INTELLIJ-206 #138
Conversation
if (doc is Map<*, *>) { | ||
val mappings = doc.map { (key, value) -> | ||
when (key) { | ||
"${'$'}binary" -> null |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm not implementing mappings that we don't support in our BSON Types because we can't do anything with them. So just skip them and we can add support later whenever we need them.
...odb-dialects/mongosh/src/test/kotlin/com/mongodb/jbplugin/dialects/mongosh/query/FindTest.kt
Outdated
Show resolved
Hide resolved
@@ -94,6 +94,10 @@ data class Node<S>( | |||
*/ | |||
fun copy(componentModifier: (component: Component) -> Component): Node<S> = | |||
copy(source = source, components = components.map(componentModifier)) | |||
|
|||
override fun toString(): String { | |||
return "Node(components=$components)" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I've found that toString was serializing the source, which in IntelliJ is the PSIElement and that required readAccess. It doesn't make sense as we are not using the source for anything here, so I'm removing it from the toString.
Coverage Report
|
🤖 Benchmark Comparison for
|
🤖 Benchmark Comparison for
|
🤖 Benchmark Comparison for
|
…s file now from prod)
🤖 Benchmark Comparison for
|
🤖 Benchmark Comparison for
|
🤖 Benchmark Comparison for
|
This PR removes the usage of BSON for specifying queries and their return values and uses the MQL model instead. This has the benefit of removing one dependency from our projects and also aligns all our queries to use a single semantic model. It replaces all calls in the MongoDbDriver, but runCommand, with a new method called runQuery.
This PR doesn't remove runCommand because it depends on INTELLIJ-207.
Description
Checklist
Open Questions