gitextract_u_sh6j0w/ ├── .arcconfig ├── .github/ │ └── workflows/ │ └── test-and-publish.yml ├── .gitignore ├── .java-version ├── .scalafmt.conf ├── CHANGELOG ├── LICENSE ├── README.md ├── build.sbt ├── ci/ │ └── secring.asc.enc ├── demo/ │ ├── Dockerfile │ ├── README.md │ └── notebook/ │ ├── pyspark-singlestore-demo_2F8XQUKFG.zpln │ ├── scala-singlestore-demo_2F6Y3APTX.zpln │ └── spark-sql-singlestore-demo_2F7PZ81H6.zpln ├── project/ │ ├── build.properties │ └── plugins.sbt ├── scripts/ │ ├── jwt/ │ │ └── jwt_auth_config.json │ └── setup-cluster.sh └── src/ ├── main/ │ ├── resources/ │ │ └── META-INF/ │ │ └── services/ │ │ └── org.apache.spark.sql.sources.DataSourceRegister │ ├── scala/ │ │ └── com/ │ │ ├── memsql/ │ │ │ └── spark/ │ │ │ └── DefaultSource.scala │ │ └── singlestore/ │ │ └── spark/ │ │ ├── AggregatorParallelReadListener.scala │ │ ├── AvroSchemaHelper.scala │ │ ├── CompletionIterator.scala │ │ ├── DefaultSource.scala │ │ ├── ExpressionGen.scala │ │ ├── JdbcHelpers.scala │ │ ├── LazyLogging.scala │ │ ├── Loan.scala │ │ ├── MetricsHandler.scala │ │ ├── OverwriteBehavior.scala │ │ ├── ParallelReadEnablement.scala │ │ ├── ParallelReadType.scala │ │ ├── SQLGen.scala │ │ ├── SQLHelper.scala │ │ ├── SQLPushdownRule.scala │ │ ├── SinglestoreBatchInsertWriter.scala │ │ ├── SinglestoreConnectionPool.scala │ │ ├── SinglestoreConnectionPoolOptions.scala │ │ ├── SinglestoreDialect.scala │ │ ├── SinglestoreLoadDataWriter.scala │ │ ├── SinglestoreOptions.scala │ │ ├── SinglestorePartitioner.scala │ │ ├── SinglestoreRDD.scala │ │ ├── SinglestoreReader.scala │ │ └── vendor/ │ │ └── apache/ │ │ ├── SchemaConverters.scala │ │ └── third_party_license │ ├── scala-sparkv3.1/ │ │ └── spark/ │ │ ├── MaxNumConcurentTasks.scala │ │ ├── VersionSpecificAggregateExpressionExtractor.scala │ │ ├── VersionSpecificAggregateExtractor.scala │ │ ├── VersionSpecificExpressionGen.scala │ │ ├── VersionSpecificSortExtractor.scala │ │ ├── VersionSpecificUtil.scala │ │ ├── VersionSpecificWindowBoundaryExpressionExtractor.scala │ │ └── VersionSpecificWindowExtractor.scala │ ├── scala-sparkv3.2/ │ │ └── spark/ │ │ ├── MaxNumConcurrentTasks.scala │ │ ├── VersionSpecificAggregateExpressionExtractor.scala │ │ ├── VersionSpecificAggregateExtractor.scala │ │ ├── VersionSpecificExpressionGen.scala │ │ ├── VersionSpecificSortExtractor.scala │ │ ├── VersionSpecificUtil.scala │ │ ├── VersionSpecificWindowBoundaryExpressionExtractor.scala │ │ └── VersionSpecificWindowExtractor.scala │ ├── scala-sparkv3.3/ │ │ └── spark/ │ │ ├── MaxNumConcurrentTasks.scala │ │ ├── VersionSpecificAggregateExpressionExtractor.scala │ │ ├── VersionSpecificAggregateExtractor.scala │ │ ├── VersionSpecificExpressionGen.scala │ │ ├── VersionSpecificSortExtractor.scala │ │ ├── VersionSpecificUtil.scala │ │ ├── VersionSpecificWindowBoundaryExpressionExtractor.scala │ │ └── VersionSpecificWindowExtractor.scala │ ├── scala-sparkv3.4/ │ │ └── spark/ │ │ ├── MaxNumConcurrentTasks.scala │ │ ├── VersionSpecificAggregateExpressionExtractor.scala │ │ ├── VersionSpecificAggregateExtractor.scala │ │ ├── VersionSpecificExpressionGen.scala │ │ ├── VersionSpecificSortExtractor.scala │ │ ├── VersionSpecificUtil.scala │ │ ├── VersionSpecificWindowBoundaryExpressionExtractor.scala │ │ └── VersionSpecificWindowExtractor.scala │ ├── scala-sparkv3.5/ │ │ └── spark/ │ │ ├── MaxNumConcurrentTasks.scala │ │ ├── VersionSpecificAggregateExpressionExtractor.scala │ │ ├── VersionSpecificAggregateExtractor.scala │ │ ├── VersionSpecificExpressionGen.scala │ │ ├── VersionSpecificSortExtractor.scala │ │ ├── VersionSpecificUtil.scala │ │ ├── VersionSpecificWindowBoundaryExpressionExtractor.scala │ │ └── VersionSpecificWindowExtractor.scala │ └── scala-sparkv4.0/ │ └── spark/ │ ├── MaxNumConcurrentTasks.scala │ ├── VersionSpecificAggregateExpressionExtractor.scala │ ├── VersionSpecificAggregateExtractor.scala │ ├── VersionSpecificExpressionGen.scala │ ├── VersionSpecificSortExtractor.scala │ ├── VersionSpecificUtil.scala │ ├── VersionSpecificWindowBoundaryExpressionExtractor.scala │ └── VersionSpecificWindowExtractor.scala └── test/ ├── resources/ │ ├── data/ │ │ ├── movies.json │ │ ├── movies_rating.json │ │ ├── reviews.json │ │ └── users.json │ ├── log4j.properties │ ├── log4j2.properties │ └── mockito-extensions/ │ └── org.mockito.plugins.MockMaker └── scala/ └── com/ └── singlestore/ └── spark/ ├── BatchInsertBenchmark.scala ├── BatchInsertTest.scala ├── BenchmarkSerializingTest.scala ├── BinaryTypeBenchmark.scala ├── CustomDatatypesTest.scala ├── ExternalHostTest.scala ├── IntegrationSuiteBase.scala ├── IssuesTest.scala ├── LoadDataBenchmark.scala ├── LoadDataTest.scala ├── LoadbalanceTest.scala ├── MaxErrorsTest.scala ├── OutputMetricsTest.scala ├── ReferenceTableTest.scala ├── SQLHelperTest.scala ├── SQLOverwriteTest.scala ├── SQLPermissionsTest.scala ├── SQLPushdownTest.scala ├── SanityTest.scala ├── SinglestoreConnectionPoolTest.scala ├── SinglestoreOptionsTest.scala ├── TestHelper.scala └── VersionTest.scala