├── .git-blame-ignore-revs ├── .github ├── actions │ └── get-antlr4 │ │ └── action.yaml └── workflows │ ├── ci.yaml │ ├── pr-chatops.yaml │ ├── publish.yaml │ ├── release.yaml │ └── scala-steward.yaml ├── .gitignore ├── .mergify.yml ├── .sbtopts ├── .scala-steward.conf ├── .scalafmt.conf ├── .sdkmanrc ├── LICENSE ├── README.md ├── build.sbt ├── ci ├── check ├── compile └── test ├── fast-rebuild.sh ├── launcher ├── build.sh ├── pom.xml ├── run.sh └── src │ └── main │ ├── java │ ├── module-info.java │ └── raw │ │ └── cli │ │ ├── MultilineParser.java │ │ ├── RawCli.java │ │ └── RawLauncher.java │ └── resources │ ├── logback.xml │ └── reference.conf ├── licenses ├── APL.txt └── BSL.txt ├── project ├── BuildSettings.scala ├── CopyrightHeader.scala ├── Dependencies.scala ├── GenParserPlugin.scala ├── JavaAnnotationProcessorPlugin.scala ├── build.properties └── plugins.sbt ├── publishLocal.sh ├── rebuild.sh ├── snapi-frontend └── src │ ├── main │ ├── java │ │ └── module-info.java │ ├── resources │ │ └── reference.conf │ └── scala │ │ └── com │ │ └── rawlabs │ │ └── snapi │ │ └── frontend │ │ ├── api │ │ ├── Completions.scala │ │ ├── Docs.scala │ │ ├── Entrypoint.scala │ │ ├── Errors.scala │ │ └── ProgramEnvironment.scala │ │ ├── base │ │ ├── Attribution.scala │ │ ├── BaseTree.scala │ │ ├── CompilerContext.scala │ │ ├── Counter.scala │ │ ├── ExtraRewriters.scala │ │ ├── Keywords.scala │ │ ├── Phase.scala │ │ ├── PrettyPrinter.scala │ │ ├── ProgramContext.scala │ │ ├── RecordsFieldsNaming.scala │ │ ├── SemanticAnalyzer.scala │ │ ├── SymbolTable.scala │ │ ├── SyntaxAnalyzer.scala │ │ ├── Tree.scala │ │ ├── TreeDescription.scala │ │ ├── TreeWithPositions.scala │ │ ├── errors │ │ │ ├── Errors.scala │ │ │ └── ErrorsPrettyPrinter.scala │ │ └── source │ │ │ ├── SourcePrettyPrinter.scala │ │ │ └── SourceTree.scala │ │ ├── inferrer │ │ ├── api │ │ │ ├── DateTimeFormatFinder.scala │ │ │ ├── InferrerException.scala │ │ │ ├── InferrerInput.scala │ │ │ ├── InferrerOutput.scala │ │ │ ├── InferrerService.scala │ │ │ ├── InferrerServiceProvider.scala │ │ │ └── SourceTypes.scala │ │ └── local │ │ │ ├── EncodingInferrer.scala │ │ │ ├── InferrerErrorHandler.scala │ │ │ ├── LocalInferrerException.scala │ │ │ ├── LocalInferrerService.scala │ │ │ ├── MergeTypes.scala │ │ │ ├── TextTypeInferrer.scala │ │ │ ├── auto │ │ │ ├── AutoInferrer.scala │ │ │ └── InferrerBufferedSeekableIS.scala │ │ │ ├── csv │ │ │ ├── CsvInferrer.scala │ │ │ ├── CsvMergeTypes.scala │ │ │ └── CsvTypeSniffer.scala │ │ │ ├── hjson │ │ │ └── HjsonInferrer.scala │ │ │ ├── jdbc │ │ │ ├── JdbcInferrer.scala │ │ │ └── JdbcTypeToSourceType.scala │ │ │ ├── json │ │ │ ├── JsonInferrer.scala │ │ │ └── JsonUtils.scala │ │ │ ├── text │ │ │ ├── TextInferrer.scala │ │ │ └── TextLineIterator.scala │ │ │ └── xml │ │ │ ├── InferrerXmlTypeReader.scala │ │ │ ├── XmlInferrer.scala │ │ │ └── XmlMergeTypes.scala │ │ └── snapi │ │ ├── CommonSemanticAnalyzer.scala │ │ ├── FrontendSyntaxAnalyzer.scala │ │ ├── Keywords.scala │ │ ├── LspAnalyzer.scala │ │ ├── PhaseDescriptor.scala │ │ ├── PipelinedPhase.scala │ │ ├── ProgramContext.scala │ │ ├── Rql2Values.scala │ │ ├── SemanticAnalyzer.scala │ │ ├── SnapiTypeUtils.scala │ │ ├── StagedCompiler.scala │ │ ├── SymbolTable.scala │ │ ├── SyntaxAnalyzer.scala │ │ ├── Tree.scala │ │ ├── TreeWithPositions.scala │ │ ├── antlr4 │ │ ├── Antlr4SyntaxAnalyzer.scala │ │ ├── CommentsAntlrSyntaxAnalyzer.scala │ │ ├── ParserErrors.scala │ │ ├── SnapiErrorListener.scala │ │ ├── SnapiPositions.scala │ │ ├── SnapiVisitor.scala │ │ └── SnapiVisitorParseErrors.scala │ │ ├── errors │ │ ├── Errors.scala │ │ └── ErrorsPrettyPrinter.scala │ │ ├── extensions │ │ ├── EntryExtensionProvider.scala │ │ ├── LocationDescription.scala │ │ ├── PackageExtension.scala │ │ ├── PackageExtensionProvider.scala │ │ └── builtin │ │ │ ├── Aggregations.scala │ │ │ ├── AwsPackage.scala │ │ │ ├── BinaryPackage.scala │ │ │ ├── BytePackage.scala │ │ │ ├── CollectionPackage.scala │ │ │ ├── CsvPackage.scala │ │ │ ├── DatePackage.scala │ │ │ ├── DecimalPackage.scala │ │ │ ├── DoublePackage.scala │ │ │ ├── EnvironmentPackage.scala │ │ │ ├── ErrorPackage.scala │ │ │ ├── FloatPackage.scala │ │ │ ├── FunctionPackage.scala │ │ │ ├── HttpPackage.scala │ │ │ ├── IntPackage.scala │ │ │ ├── IntervalPackage.scala │ │ │ ├── JsonPackage.scala │ │ │ ├── KryoPackage.scala │ │ │ ├── LibraryPackage.scala │ │ │ ├── ListPackage.scala │ │ │ ├── LocationPackage.scala │ │ │ ├── LongPackage.scala │ │ │ ├── MathPackage.scala │ │ │ ├── MySQLPackage.scala │ │ │ ├── NullablePackage.scala │ │ │ ├── NullableTryablePackage.scala │ │ │ ├── OraclePackage.scala │ │ │ ├── PostgreSQLPackage.scala │ │ │ ├── RecordPackage.scala │ │ │ ├── RegexPackage.scala │ │ │ ├── S3Package.scala │ │ │ ├── SQLServerPackage.scala │ │ │ ├── ShortPackage.scala │ │ │ ├── SnowflakePackage.scala │ │ │ ├── StringPackage.scala │ │ │ ├── SuccessPackage.scala │ │ │ ├── TestPackage.scala │ │ │ ├── TimePackage.scala │ │ │ ├── TimestampPackage.scala │ │ │ ├── TryPackage.scala │ │ │ ├── TypePackage.scala │ │ │ └── XmlPackage.scala │ │ ├── package.scala │ │ ├── phases │ │ ├── ImplicitCastsPhase.scala │ │ ├── ListProjDesugarerPhase.scala │ │ ├── PropagationPhase.scala │ │ └── SugarExtensionDesugarerPhase.scala │ │ └── source │ │ ├── SourceCommentsPrettyPrinter.scala │ │ ├── SourcePrettyPrinter.scala │ │ └── SourceTree.scala │ └── test │ ├── resources │ ├── data │ │ ├── airports.csv │ │ ├── all_data_types.json │ │ ├── arrays.json │ │ ├── authors-non-ascii-chars.hjson │ │ ├── badfile.json │ │ ├── charsets │ │ │ ├── airports.iso-8859-1.csv │ │ │ ├── airports.utf-16be.csv │ │ │ ├── airports.utf-16le.bom.csv │ │ │ ├── airports.utf-16le.csv │ │ │ ├── airports.utf-8.bom.csv │ │ │ ├── airports.utf-8.csv │ │ │ ├── authors.iso-8859-1.hjson │ │ │ ├── authors.iso-8859-1.json │ │ │ ├── authors.utf-16be.hjson │ │ │ ├── authors.utf-16be.json │ │ │ ├── authors.utf-16le.bom.hjson │ │ │ ├── authors.utf-16le.bom.json │ │ │ ├── authors.utf-16le.hjson │ │ │ ├── authors.utf-16le.json │ │ │ ├── authors.utf-8.bom.hjson │ │ │ ├── authors.utf-8.bom.json │ │ │ ├── authors.utf-8.hjson │ │ │ ├── authors.utf-8.json │ │ │ ├── primitives.iso-8859-1.xml │ │ │ ├── primitives.utf-16be.xml │ │ │ ├── primitives.utf-16le.bom.xml │ │ │ ├── primitives.utf-16le.xml │ │ │ ├── primitives.utf-8.bom.xml │ │ │ └── primitives.utf-8.xml │ │ ├── csv-folder │ │ │ ├── primitives1.csv │ │ │ ├── primitives2.csv │ │ │ └── primitives3.csv │ │ ├── departments.csv │ │ ├── donuts.hjson │ │ ├── excel │ │ │ ├── excel-bug.xlsx │ │ │ ├── excel-folder │ │ │ │ ├── people1.xlsx │ │ │ │ ├── people2.xlsx │ │ │ │ └── people3.xlsx │ │ │ └── people.xlsx │ │ ├── gerd │ │ │ └── GSSTF_NCEP.3.2008.json │ │ ├── google_analytics.json │ │ ├── hbp │ │ │ └── brain_feature_set.csv │ │ ├── httplogs │ │ │ ├── NASA_access_log_Aug95_small │ │ │ └── NASA_access_log_Aug95_small_utf8 │ │ ├── hwpoc │ │ │ ├── people.hjson │ │ │ └── yelp_academic_dataset_business_sample_100.hjson │ │ ├── int_then_long.hjson │ │ ├── ints_as_fields.json │ │ ├── jiraIssues │ │ │ ├── issues-0.json │ │ │ ├── issues-100.json │ │ │ └── issues-50.json │ │ ├── jsonObjFolder │ │ │ ├── student1.json │ │ │ ├── student2.json │ │ │ └── student3.json │ │ ├── lineitem.avro │ │ │ ├── ._SUCCESS.crc │ │ │ ├── .part-00000-0e8d8118-0253-40bb-974f-046ebc59e65d-c000.avro.crc │ │ │ ├── _SUCCESS │ │ │ └── part-00000-0e8d8118-0253-40bb-974f-046ebc59e65d-c000.avro │ │ ├── lineitem.orc │ │ │ ├── ._SUCCESS.crc │ │ │ ├── .part-00000-61280dbd-d47e-47b9-9700-c84134a05f5a-c000.snappy.orc.crc │ │ │ ├── _SUCCESS │ │ │ └── part-00000-61280dbd-d47e-47b9-9700-c84134a05f5a-c000.snappy.orc │ │ ├── lineitem.parquet │ │ │ ├── ._SUCCESS.crc │ │ │ ├── .part-00000-f347740c-02a4-47cd-a1a7-4b9db277fb50-c000.snappy.parquet.crc │ │ │ ├── _SUCCESS │ │ │ └── part-00000-f347740c-02a4-47cd-a1a7-4b9db277fb50-c000.snappy.parquet │ │ ├── logistics │ │ │ └── events.txt │ │ ├── many_types.avro │ │ │ ├── ._SUCCESS.crc │ │ │ ├── .part-00000-6b57cbb6-b0b2-4e73-b060-11a73c8ea3b5-c000.avro.crc │ │ │ ├── _SUCCESS │ │ │ └── part-00000-6b57cbb6-b0b2-4e73-b060-11a73c8ea3b5-c000.avro │ │ ├── many_types.orc │ │ │ ├── ._SUCCESS.crc │ │ │ ├── .part-00000-056c06b7-4ed2-4ad5-ac7e-ace570e03bf1-c000.snappy.orc.crc │ │ │ ├── _SUCCESS │ │ │ └── part-00000-056c06b7-4ed2-4ad5-ac7e-ace570e03bf1-c000.snappy.orc │ │ ├── many_types.parquet │ │ │ ├── ._SUCCESS.crc │ │ │ ├── .part-00000-9f1062e8-178e-4387-9130-016b92afee9f-c000.snappy.parquet.crc │ │ │ ├── _SUCCESS │ │ │ └── part-00000-9f1062e8-178e-4387-9130-016b92afee9f-c000.snappy.parquet │ │ ├── mixed-formats │ │ │ ├── people.xlsx │ │ │ ├── primitives1.csv │ │ │ └── student1.json │ │ ├── movies.json │ │ ├── movies │ │ │ ├── actors.csv │ │ │ ├── movies.csv │ │ │ └── roles.csv │ │ ├── multi_line.csv │ │ ├── optional_records.json │ │ ├── part-00000-162798bb-c09f-4dd9-a57b-dd8223d1b973-c000 │ │ ├── patients │ │ │ └── patients.json │ │ ├── primitives-options.csv │ │ ├── primitives-options.hjson │ │ ├── primitives-options.json │ │ ├── primitives.csv │ │ ├── primitives.json │ │ ├── profs.csv │ │ ├── publications │ │ │ ├── authors-json │ │ │ │ ├── authors1.json │ │ │ │ ├── authors2.json │ │ │ │ └── authors3.json │ │ │ ├── authors.arrow │ │ │ ├── authors.hjson │ │ │ ├── authors.json │ │ │ ├── authors │ │ │ │ ├── authors1.hjson │ │ │ │ ├── authors2.hjson │ │ │ │ └── authors3.hjson │ │ │ ├── authorsSmall.hjson │ │ │ ├── authorsSmall.json │ │ │ ├── publications-hjson-bzip2 │ │ │ │ ├── ._SUCCESS.crc │ │ │ │ ├── .part-00000-357315fc-62f8-481a-bfc3-f1177d2b0f36.json.bz2.crc │ │ │ │ ├── .part-00001-357315fc-62f8-481a-bfc3-f1177d2b0f36.json.bz2.crc │ │ │ │ ├── .part-00002-357315fc-62f8-481a-bfc3-f1177d2b0f36.json.bz2.crc │ │ │ │ ├── .part-00003-357315fc-62f8-481a-bfc3-f1177d2b0f36.json.bz2.crc │ │ │ │ ├── _SUCCESS │ │ │ │ ├── part-00000-357315fc-62f8-481a-bfc3-f1177d2b0f36.json.bz2 │ │ │ │ ├── part-00001-357315fc-62f8-481a-bfc3-f1177d2b0f36.json.bz2 │ │ │ │ ├── part-00002-357315fc-62f8-481a-bfc3-f1177d2b0f36.json.bz2 │ │ │ │ └── part-00003-357315fc-62f8-481a-bfc3-f1177d2b0f36.json.bz2 │ │ │ ├── publications-hjson-deflate │ │ │ │ ├── ._SUCCESS.crc │ │ │ │ ├── .part-00000-224479db-833d-405c-9052-c38ee240036b.json.deflate.crc │ │ │ │ ├── .part-00001-224479db-833d-405c-9052-c38ee240036b.json.deflate.crc │ │ │ │ ├── .part-00002-224479db-833d-405c-9052-c38ee240036b.json.deflate.crc │ │ │ │ ├── .part-00003-224479db-833d-405c-9052-c38ee240036b.json.deflate.crc │ │ │ │ ├── _SUCCESS │ │ │ │ ├── part-00000-224479db-833d-405c-9052-c38ee240036b.json.deflate │ │ │ │ ├── part-00001-224479db-833d-405c-9052-c38ee240036b.json.deflate │ │ │ │ ├── part-00002-224479db-833d-405c-9052-c38ee240036b.json.deflate │ │ │ │ └── part-00003-224479db-833d-405c-9052-c38ee240036b.json.deflate │ │ │ ├── publications-hjson-gzip │ │ │ │ ├── ._SUCCESS.crc │ │ │ │ ├── .part-00000-e21abf67-3d6a-4bbe-a74b-d733e4d6feb0.json.gz.crc │ │ │ │ ├── .part-00001-e21abf67-3d6a-4bbe-a74b-d733e4d6feb0.json.gz.crc │ │ │ │ ├── .part-00002-e21abf67-3d6a-4bbe-a74b-d733e4d6feb0.json.gz.crc │ │ │ │ ├── .part-00003-e21abf67-3d6a-4bbe-a74b-d733e4d6feb0.json.gz.crc │ │ │ │ ├── _SUCCESS │ │ │ │ ├── part-00000-e21abf67-3d6a-4bbe-a74b-d733e4d6feb0.json.gz │ │ │ │ ├── part-00001-e21abf67-3d6a-4bbe-a74b-d733e4d6feb0.json.gz │ │ │ │ ├── part-00002-e21abf67-3d6a-4bbe-a74b-d733e4d6feb0.json.gz │ │ │ │ └── part-00003-e21abf67-3d6a-4bbe-a74b-d733e4d6feb0.json.gz │ │ │ ├── publications-hjson-lz4 │ │ │ │ ├── ._SUCCESS.crc │ │ │ │ ├── .part-00000-bd528ec3-b64c-4b05-a125-9f84a5a19a3a.json.lz4.crc │ │ │ │ ├── .part-00001-bd528ec3-b64c-4b05-a125-9f84a5a19a3a.json.lz4.crc │ │ │ │ ├── .part-00002-bd528ec3-b64c-4b05-a125-9f84a5a19a3a.json.lz4.crc │ │ │ │ ├── .part-00003-bd528ec3-b64c-4b05-a125-9f84a5a19a3a.json.lz4.crc │ │ │ │ ├── _SUCCESS │ │ │ │ ├── part-00000-bd528ec3-b64c-4b05-a125-9f84a5a19a3a.json.lz4 │ │ │ │ ├── part-00001-bd528ec3-b64c-4b05-a125-9f84a5a19a3a.json.lz4 │ │ │ │ ├── part-00002-bd528ec3-b64c-4b05-a125-9f84a5a19a3a.json.lz4 │ │ │ │ └── part-00003-bd528ec3-b64c-4b05-a125-9f84a5a19a3a.json.lz4 │ │ │ ├── publications-hjson-snappy │ │ │ │ ├── ._SUCCESS.crc │ │ │ │ ├── .part-00000-f9c57571-703e-4cd9-8bff-5f577f719903.json.snappy.crc │ │ │ │ ├── .part-00001-f9c57571-703e-4cd9-8bff-5f577f719903.json.snappy.crc │ │ │ │ ├── .part-00002-f9c57571-703e-4cd9-8bff-5f577f719903.json.snappy.crc │ │ │ │ ├── .part-00003-f9c57571-703e-4cd9-8bff-5f577f719903.json.snappy.crc │ │ │ │ ├── _SUCCESS │ │ │ │ ├── part-00000-f9c57571-703e-4cd9-8bff-5f577f719903.json.snappy │ │ │ │ ├── part-00001-f9c57571-703e-4cd9-8bff-5f577f719903.json.snappy │ │ │ │ ├── part-00002-f9c57571-703e-4cd9-8bff-5f577f719903.json.snappy │ │ │ │ └── part-00003-f9c57571-703e-4cd9-8bff-5f577f719903.json.snappy │ │ │ ├── publications-hjson │ │ │ │ ├── part-00000-2d7d7794-7804-436c-a44a-6ab3d5031169.json │ │ │ │ ├── part-00001-2d7d7794-7804-436c-a44a-6ab3d5031169.json │ │ │ │ ├── part-00002-2d7d7794-7804-436c-a44a-6ab3d5031169.json │ │ │ │ └── part-00003-2d7d7794-7804-436c-a44a-6ab3d5031169.json │ │ │ ├── publications.hjson │ │ │ ├── publications.hjson.bz2 │ │ │ ├── publications.hjson.gz │ │ │ ├── publications.json │ │ │ ├── publicationsSmall.hjson │ │ │ ├── publicationsSmall.json │ │ │ └── publicationsSmallWithDups.json │ │ ├── raw-metrics.hjson │ │ ├── sales.json │ │ ├── set_of_ints.csv │ │ ├── set_of_ints.parquet │ │ │ ├── ._SUCCESS.crc │ │ │ ├── .part-00000-3b4b5954-d327-4d16-8623-d3344921c390.snappy.parquet.crc │ │ │ ├── .part-00001-3b4b5954-d327-4d16-8623-d3344921c390.snappy.parquet.crc │ │ │ ├── _SUCCESS │ │ │ ├── part-00000-3b4b5954-d327-4d16-8623-d3344921c390.snappy.parquet │ │ │ └── part-00001-3b4b5954-d327-4d16-8623-d3344921c390.snappy.parquet │ │ ├── set_of_options_ints.csv │ │ ├── set_of_options_records.json │ │ ├── stocks │ │ │ ├── CSCO.csv │ │ │ ├── GOOG.csv │ │ │ ├── NVDA,INTC.csv │ │ │ └── portfolio.json │ │ ├── students │ │ │ ├── students.csv │ │ │ └── students_no_header.csv │ │ ├── table1 │ │ │ ├── ._SUCCESS.crc │ │ │ ├── .part-00000-162798bb-c09f-4dd9-a57b-dd8223d1b973-c000.snappy.parquet.crc │ │ │ ├── _SUCCESS │ │ │ └── part-00000-162798bb-c09f-4dd9-a57b-dd8223d1b973-c000.snappy.parquet │ │ ├── tasks.json │ │ ├── test.avro │ │ │ ├── ._SUCCESS.crc │ │ │ ├── .part-00000-a52cbaa7-4f7d-41a4-8308-aa742d0b1263-c000.avro.crc │ │ │ ├── _SUCCESS │ │ │ └── part-00000-a52cbaa7-4f7d-41a4-8308-aa742d0b1263-c000.avro │ │ ├── tpcds │ │ │ ├── call_center.dat │ │ │ ├── catalog_page.dat │ │ │ ├── catalog_returns.dat │ │ │ ├── catalog_sales.dat │ │ │ ├── customer.dat │ │ │ ├── customer_address.dat │ │ │ ├── customer_demographics.dat │ │ │ ├── date_dim.dat │ │ │ ├── dbgen_version.dat │ │ │ ├── household_demographics.dat │ │ │ ├── income_band.dat │ │ │ ├── inventory.dat │ │ │ ├── item.dat │ │ │ ├── items_null_cols.dat │ │ │ ├── promotion.dat │ │ │ ├── reason.dat │ │ │ ├── ship_mode.dat │ │ │ ├── store.dat │ │ │ ├── store_returns.dat │ │ │ ├── store_sales.dat │ │ │ ├── time_dim.dat │ │ │ ├── warehouse.dat │ │ │ ├── web_page.dat │ │ │ ├── web_returns.dat │ │ │ ├── web_sales.dat │ │ │ └── web_site.dat │ │ ├── tpch │ │ │ └── tiny │ │ │ │ ├── csv │ │ │ │ ├── customer.csv │ │ │ │ ├── lineitem.csv │ │ │ │ ├── nation.csv │ │ │ │ ├── orders.csv │ │ │ │ ├── part.csv │ │ │ │ ├── partsupp.csv │ │ │ │ ├── region.csv │ │ │ │ └── supplier.csv │ │ │ │ ├── customer.parquet │ │ │ │ ├── ._SUCCESS.crc │ │ │ │ ├── .part-00000-b8a21c50-7831-40ee-ae13-fa10974afa2c.snappy.parquet.crc │ │ │ │ ├── .part-00001-b8a21c50-7831-40ee-ae13-fa10974afa2c.snappy.parquet.crc │ │ │ │ ├── _SUCCESS │ │ │ │ ├── part-00000-b8a21c50-7831-40ee-ae13-fa10974afa2c.snappy.parquet │ │ │ │ └── part-00001-b8a21c50-7831-40ee-ae13-fa10974afa2c.snappy.parquet │ │ │ │ ├── customer.tbl │ │ │ │ ├── lineitem.tbl │ │ │ │ ├── nation.tbl │ │ │ │ ├── orders.tbl │ │ │ │ ├── part.tbl │ │ │ │ ├── partsupp.tbl │ │ │ │ ├── region.tbl │ │ │ │ └── supplier.tbl │ │ ├── transition-guide │ │ │ ├── professors.csv │ │ │ ├── sales.json │ │ │ └── students.csv │ │ └── xml │ │ │ ├── GSSTF_NCEP.3.1997.05.17.he5.xml │ │ │ ├── SigmodRecord.xml │ │ │ ├── primitives.xml │ │ │ ├── raw-bar_xml_GSSTF.small.xml │ │ │ ├── raw-bar_xml_GSSTF.small2.xml │ │ │ ├── raw-post-sitemap.xml │ │ │ ├── rss.html │ │ │ ├── xml-folder │ │ │ ├── primitives1.xml │ │ │ ├── primitives2.xml │ │ │ └── primitives3.xml │ │ │ ├── xmlObjFolder │ │ │ ├── student1.xml │ │ │ ├── student2.xml │ │ │ └── student3.xml │ │ │ └── xmltv-ch.xml │ └── logback-test.xml │ └── scala │ └── com │ └── rawlabs │ ├── snapi │ └── frontend │ │ ├── inferrer │ │ └── local │ │ │ ├── InferrerBufferedSeekableIsTest.scala │ │ │ ├── LocalInferrerTest.scala │ │ │ ├── LocalInferrerTestContext.scala │ │ │ ├── RD10260Test.scala │ │ │ ├── RD10439Test.scala │ │ │ ├── RD3852Test.scala │ │ │ ├── TextTypeInferrerTest.scala │ │ │ ├── json │ │ │ └── JsonOrTypeTest.scala │ │ │ └── xml │ │ │ └── XmlTypeReaderTest.scala │ │ └── rql2 │ │ ├── Antlr4LspTests.scala │ │ ├── Antlr4TypeTests.scala │ │ ├── FrontendSyntaxAnalyzerCompareTest.scala │ │ ├── OldFrontendSyntaxAnalyzerTest.scala │ │ ├── PrettyPrintTest.scala │ │ └── SyntaxAnalyzerCompareTest.scala │ └── utils │ └── sources │ └── filesystem │ ├── dropbox │ └── DropboxTestContext.scala │ └── local │ └── LocalLocationsTestContext.scala ├── snapi-parser ├── README.md └── src │ └── main │ └── java │ ├── com │ └── rawlabs │ │ └── snapi │ │ └── parser │ │ ├── generated │ │ └── Placeholder.java │ │ └── grammar │ │ ├── SnapiLexer.g4 │ │ └── SnapiParser.g4 │ └── module-info.java ├── snapi-truffle ├── src │ ├── main │ │ ├── java │ │ │ ├── com │ │ │ │ └── rawlabs │ │ │ │ │ └── snapi │ │ │ │ │ └── truffle │ │ │ │ │ ├── SnapiContext.java │ │ │ │ │ ├── SnapiLanguage.java │ │ │ │ │ ├── SnapiLanguageCache.java │ │ │ │ │ ├── SnapiOptions.java │ │ │ │ │ ├── SnapiTypes.java │ │ │ │ │ ├── ast │ │ │ │ │ ├── BinaryNode.java │ │ │ │ │ ├── ExpressionNode.java │ │ │ │ │ ├── ProgramExpressionNode.java │ │ │ │ │ ├── ProgramStatementNode.java │ │ │ │ │ ├── PropertyType.java │ │ │ │ │ ├── StatementNode.java │ │ │ │ │ ├── TruffleBoundaries.java │ │ │ │ │ ├── TypeGuards.java │ │ │ │ │ ├── controlflow │ │ │ │ │ │ ├── ExpBlockNode.java │ │ │ │ │ │ └── IfThenElseNode.java │ │ │ │ │ ├── expressions │ │ │ │ │ │ ├── aggregation │ │ │ │ │ │ │ ├── AggregateMultipleNode.java │ │ │ │ │ │ │ ├── AggregateSingleNode.java │ │ │ │ │ │ │ ├── Aggregations.java │ │ │ │ │ │ │ └── AggregatorNodes.java │ │ │ │ │ │ ├── binary │ │ │ │ │ │ │ ├── AndNode.java │ │ │ │ │ │ │ ├── DivNode.java │ │ │ │ │ │ │ ├── EqNode.java │ │ │ │ │ │ │ ├── GeNode.java │ │ │ │ │ │ │ ├── GtNode.java │ │ │ │ │ │ │ ├── LeNode.java │ │ │ │ │ │ │ ├── LtNode.java │ │ │ │ │ │ │ ├── ModNode.java │ │ │ │ │ │ │ ├── MultNode.java │ │ │ │ │ │ │ ├── OrNode.java │ │ │ │ │ │ │ ├── PlusNode.java │ │ │ │ │ │ │ └── SubNode.java │ │ │ │ │ │ ├── builtin │ │ │ │ │ │ │ ├── aws_package │ │ │ │ │ │ │ │ └── AwsV4SignedRequestNode.java │ │ │ │ │ │ │ ├── binary_package │ │ │ │ │ │ │ │ ├── BinaryBase64Node.java │ │ │ │ │ │ │ │ ├── BinaryFromStringNode.java │ │ │ │ │ │ │ │ └── BinaryReadNode.java │ │ │ │ │ │ │ ├── environment_package │ │ │ │ │ │ │ │ ├── EnvironmentParameterNode.java │ │ │ │ │ │ │ │ ├── EnvironmentScopesNode.java │ │ │ │ │ │ │ │ └── EnvironmentSecretNode.java │ │ │ │ │ │ │ ├── function_package │ │ │ │ │ │ │ │ └── FunctionInvokeAfterNode.java │ │ │ │ │ │ │ ├── http_package │ │ │ │ │ │ │ │ ├── HttpReadNode.java │ │ │ │ │ │ │ │ ├── HttpUrlDecodeNode.java │ │ │ │ │ │ │ │ └── HttpUrlEncodeNode.java │ │ │ │ │ │ │ ├── jdbc │ │ │ │ │ │ │ │ └── JdbcQueryNode.java │ │ │ │ │ │ │ ├── location_package │ │ │ │ │ │ │ │ ├── LocationDescribeNode.java │ │ │ │ │ │ │ │ ├── LocationFromHttpNode.java │ │ │ │ │ │ │ │ ├── LocationFromMySQLCredentialNode.java │ │ │ │ │ │ │ │ ├── LocationFromMySQLNode.java │ │ │ │ │ │ │ │ ├── LocationFromOracleCredentialNode.java │ │ │ │ │ │ │ │ ├── LocationFromOracleNode.java │ │ │ │ │ │ │ │ ├── LocationFromPostgreSQLCredentialNode.java │ │ │ │ │ │ │ │ ├── LocationFromPostgreSQLNode.java │ │ │ │ │ │ │ │ ├── LocationFromS3Node.java │ │ │ │ │ │ │ │ ├── LocationFromSQLServerCredentialNode.java │ │ │ │ │ │ │ │ ├── LocationFromSQLServerNode.java │ │ │ │ │ │ │ │ ├── LocationFromSnowflakeCredentialNode.java │ │ │ │ │ │ │ │ ├── LocationFromSnowflakeNode.java │ │ │ │ │ │ │ │ ├── LocationFromStringNode.java │ │ │ │ │ │ │ │ ├── LocationLlNode.java │ │ │ │ │ │ │ │ └── LocationLsNode.java │ │ │ │ │ │ │ ├── math_package │ │ │ │ │ │ │ │ ├── MathAbsNode.java │ │ │ │ │ │ │ │ ├── MathAcosNode.java │ │ │ │ │ │ │ │ ├── MathAsinNode.java │ │ │ │ │ │ │ │ ├── MathAtanNode.java │ │ │ │ │ │ │ │ ├── MathAtn2Node.java │ │ │ │ │ │ │ │ ├── MathCeilingNode.java │ │ │ │ │ │ │ │ ├── MathCosNode.java │ │ │ │ │ │ │ │ ├── MathCotNode.java │ │ │ │ │ │ │ │ ├── MathDegreesNode.java │ │ │ │ │ │ │ │ ├── MathExpNode.java │ │ │ │ │ │ │ │ ├── MathFloorNode.java │ │ │ │ │ │ │ │ ├── MathLog10Node.java │ │ │ │ │ │ │ │ ├── MathLogNode.java │ │ │ │ │ │ │ │ ├── MathPowerNode.java │ │ │ │ │ │ │ │ ├── MathRadiansNode.java │ │ │ │ │ │ │ │ ├── MathSignNode.java │ │ │ │ │ │ │ │ ├── MathSinNode.java │ │ │ │ │ │ │ │ ├── MathSqrtNode.java │ │ │ │ │ │ │ │ ├── MathSquareNode.java │ │ │ │ │ │ │ │ └── MathTanNode.java │ │ │ │ │ │ │ ├── numeric │ │ │ │ │ │ │ │ ├── byte_package │ │ │ │ │ │ │ │ │ └── ByteFromNode.java │ │ │ │ │ │ │ │ ├── decimal_package │ │ │ │ │ │ │ │ │ ├── DecimalFromNode.java │ │ │ │ │ │ │ │ │ └── DecimalRoundNode.java │ │ │ │ │ │ │ │ ├── double_package │ │ │ │ │ │ │ │ │ └── DoubleFromNode.java │ │ │ │ │ │ │ │ ├── float_package │ │ │ │ │ │ │ │ │ └── FloatFromNode.java │ │ │ │ │ │ │ │ ├── int_package │ │ │ │ │ │ │ │ │ ├── IntFromNode.java │ │ │ │ │ │ │ │ │ └── IntRangeNode.java │ │ │ │ │ │ │ │ ├── long_package │ │ │ │ │ │ │ │ │ ├── LongFromNode.java │ │ │ │ │ │ │ │ │ └── LongRangeNode.java │ │ │ │ │ │ │ │ └── short_package │ │ │ │ │ │ │ │ │ └── ShortFromNode.java │ │ │ │ │ │ │ ├── regex_package │ │ │ │ │ │ │ │ ├── RegexCache.java │ │ │ │ │ │ │ │ ├── RegexFirstMatchInNode.java │ │ │ │ │ │ │ │ ├── RegexGroupsNode.java │ │ │ │ │ │ │ │ ├── RegexMatchesNode.java │ │ │ │ │ │ │ │ └── RegexReplaceNode.java │ │ │ │ │ │ │ ├── string_package │ │ │ │ │ │ │ │ ├── StringBase64Node.java │ │ │ │ │ │ │ │ ├── StringCapitalizeNode.java │ │ │ │ │ │ │ │ ├── StringContainsNode.java │ │ │ │ │ │ │ │ ├── StringCountSubStringNode.java │ │ │ │ │ │ │ │ ├── StringDecodeNode.java │ │ │ │ │ │ │ │ ├── StringEmptyNode.java │ │ │ │ │ │ │ │ ├── StringEncodeNode.java │ │ │ │ │ │ │ │ ├── StringFromNode.java │ │ │ │ │ │ │ │ ├── StringLTrimNode.java │ │ │ │ │ │ │ │ ├── StringLengthNode.java │ │ │ │ │ │ │ │ ├── StringLevenshteinDistanceNode.java │ │ │ │ │ │ │ │ ├── StringLowerNode.java │ │ │ │ │ │ │ │ ├── StringRTrimNode.java │ │ │ │ │ │ │ │ ├── StringReadLinesNode.java │ │ │ │ │ │ │ │ ├── StringReadNode.java │ │ │ │ │ │ │ │ ├── StringReplaceNode.java │ │ │ │ │ │ │ │ ├── StringReplicateNode.java │ │ │ │ │ │ │ │ ├── StringReverseNode.java │ │ │ │ │ │ │ │ ├── StringSplitNode.java │ │ │ │ │ │ │ │ ├── StringStartsWithNode.java │ │ │ │ │ │ │ │ ├── StringSubStringNode.java │ │ │ │ │ │ │ │ ├── StringTrimNode.java │ │ │ │ │ │ │ │ └── StringUpperNode.java │ │ │ │ │ │ │ ├── temporals │ │ │ │ │ │ │ │ ├── DateTimeFormatCache.java │ │ │ │ │ │ │ │ ├── date_package │ │ │ │ │ │ │ │ │ ├── DateAddIntervalNode.java │ │ │ │ │ │ │ │ │ ├── DateBuildNode.java │ │ │ │ │ │ │ │ │ ├── DateDayNode.java │ │ │ │ │ │ │ │ │ ├── DateFromEpochDayNode.java │ │ │ │ │ │ │ │ │ ├── DateFromTimestampNode.java │ │ │ │ │ │ │ │ │ ├── DateMonthNode.java │ │ │ │ │ │ │ │ │ ├── DateNowNode.java │ │ │ │ │ │ │ │ │ ├── DateParseNode.java │ │ │ │ │ │ │ │ │ ├── DateSubtractIntervalNode.java │ │ │ │ │ │ │ │ │ ├── DateSubtractNode.java │ │ │ │ │ │ │ │ │ └── DateYearNode.java │ │ │ │ │ │ │ │ ├── interval_package │ │ │ │ │ │ │ │ │ ├── IntervalBuildNode.java │ │ │ │ │ │ │ │ │ ├── IntervalDaysNode.java │ │ │ │ │ │ │ │ │ ├── IntervalFromMillisNode.java │ │ │ │ │ │ │ │ │ ├── IntervalHoursNode.java │ │ │ │ │ │ │ │ │ ├── IntervalMillisNode.java │ │ │ │ │ │ │ │ │ ├── IntervalMinutesNode.java │ │ │ │ │ │ │ │ │ ├── IntervalMonthsNode.java │ │ │ │ │ │ │ │ │ ├── IntervalNodes.java │ │ │ │ │ │ │ │ │ ├── IntervalParseNode.java │ │ │ │ │ │ │ │ │ ├── IntervalSecondsNode.java │ │ │ │ │ │ │ │ │ ├── IntervalToMillisNode.java │ │ │ │ │ │ │ │ │ ├── IntervalWeeksNode.java │ │ │ │ │ │ │ │ │ └── IntervalYearsNode.java │ │ │ │ │ │ │ │ ├── time_package │ │ │ │ │ │ │ │ │ ├── TimeAddIntervalNode.java │ │ │ │ │ │ │ │ │ ├── TimeBuildNode.java │ │ │ │ │ │ │ │ │ ├── TimeHourNode.java │ │ │ │ │ │ │ │ │ ├── TimeMillisNode.java │ │ │ │ │ │ │ │ │ ├── TimeMinuteNode.java │ │ │ │ │ │ │ │ │ ├── TimeNowNode.java │ │ │ │ │ │ │ │ │ ├── TimeParseNode.java │ │ │ │ │ │ │ │ │ ├── TimeSecondNode.java │ │ │ │ │ │ │ │ │ ├── TimeSubtractIntervalNode.java │ │ │ │ │ │ │ │ │ └── TimeSubtractNode.java │ │ │ │ │ │ │ │ └── timestamp_package │ │ │ │ │ │ │ │ │ ├── TimestampAddIntervalNode.java │ │ │ │ │ │ │ │ │ ├── TimestampBuildNode.java │ │ │ │ │ │ │ │ │ ├── TimestampDayNode.java │ │ │ │ │ │ │ │ │ ├── TimestampFromDateNode.java │ │ │ │ │ │ │ │ │ ├── TimestampFromUnixTimestampNode.java │ │ │ │ │ │ │ │ │ ├── TimestampHourNode.java │ │ │ │ │ │ │ │ │ ├── TimestampMillisNode.java │ │ │ │ │ │ │ │ │ ├── TimestampMinuteNode.java │ │ │ │ │ │ │ │ │ ├── TimestampMonthNode.java │ │ │ │ │ │ │ │ │ ├── TimestampNowNode.java │ │ │ │ │ │ │ │ │ ├── TimestampParseNode.java │ │ │ │ │ │ │ │ │ ├── TimestampRangeNode.java │ │ │ │ │ │ │ │ │ ├── TimestampSecondNode.java │ │ │ │ │ │ │ │ │ ├── TimestampSubtractIntervalNode.java │ │ │ │ │ │ │ │ │ ├── TimestampSubtractNode.java │ │ │ │ │ │ │ │ │ ├── TimestampTimeBucketIntervalNode.java │ │ │ │ │ │ │ │ │ ├── TimestampTimeBucketStringNode.java │ │ │ │ │ │ │ │ │ ├── TimestampToUnixTimestampNode.java │ │ │ │ │ │ │ │ │ └── TimestampYearNode.java │ │ │ │ │ │ │ └── type_package │ │ │ │ │ │ │ │ ├── TypeMatchNode.java │ │ │ │ │ │ │ │ ├── TypeProtectCastOptionNode.java │ │ │ │ │ │ │ │ └── TypeProtectCastTryableNode.java │ │ │ │ │ │ ├── function │ │ │ │ │ │ │ ├── ClosureNode.java │ │ │ │ │ │ │ ├── InvokeNode.java │ │ │ │ │ │ │ ├── InvokeNodes.java │ │ │ │ │ │ │ ├── MethodNode.java │ │ │ │ │ │ │ └── RecClosureNode.java │ │ │ │ │ │ ├── iterable │ │ │ │ │ │ │ ├── ArrayOperationNodes.java │ │ │ │ │ │ │ ├── collection │ │ │ │ │ │ │ │ ├── CollectionBuildNode.java │ │ │ │ │ │ │ │ ├── CollectionDistinctNode.java │ │ │ │ │ │ │ │ ├── CollectionEquiJoinNode.java │ │ │ │ │ │ │ │ ├── CollectionExistsNode.java │ │ │ │ │ │ │ │ ├── CollectionFilterNode.java │ │ │ │ │ │ │ │ ├── CollectionFirstNode.java │ │ │ │ │ │ │ │ ├── CollectionFromNode.java │ │ │ │ │ │ │ │ ├── CollectionGroupByNode.java │ │ │ │ │ │ │ │ ├── CollectionJoinNode.java │ │ │ │ │ │ │ │ ├── CollectionMkStringNode.java │ │ │ │ │ │ │ │ ├── CollectionOrderByNode.java │ │ │ │ │ │ │ │ ├── CollectionTakeNode.java │ │ │ │ │ │ │ │ ├── CollectionTransformNode.java │ │ │ │ │ │ │ │ ├── CollectionTupleAvgNode.java │ │ │ │ │ │ │ │ ├── CollectionUnionNode.java │ │ │ │ │ │ │ │ ├── CollectionUnnestNode.java │ │ │ │ │ │ │ │ └── CollectionZipNode.java │ │ │ │ │ │ │ └── list │ │ │ │ │ │ │ │ ├── ListBuildNode.java │ │ │ │ │ │ │ │ ├── ListCountNode.java │ │ │ │ │ │ │ │ ├── ListExistsNode.java │ │ │ │ │ │ │ │ ├── ListFilterNode.java │ │ │ │ │ │ │ │ ├── ListFirstNode.java │ │ │ │ │ │ │ │ ├── ListFromNode.java │ │ │ │ │ │ │ │ ├── ListFromUnsafe.java │ │ │ │ │ │ │ │ ├── ListGetNode.java │ │ │ │ │ │ │ │ ├── ListGroupByNode.java │ │ │ │ │ │ │ │ ├── ListLastNode.java │ │ │ │ │ │ │ │ ├── ListTakeNode.java │ │ │ │ │ │ │ │ └── ListTransformNode.java │ │ │ │ │ │ ├── literals │ │ │ │ │ │ │ ├── BinaryConstNode.java │ │ │ │ │ │ │ ├── BoolNode.java │ │ │ │ │ │ │ ├── ByteNode.java │ │ │ │ │ │ │ ├── DecimalNode.java │ │ │ │ │ │ │ ├── DoubleNode.java │ │ │ │ │ │ │ ├── FloatNode.java │ │ │ │ │ │ │ ├── IntNode.java │ │ │ │ │ │ │ ├── LocationConstNode.java │ │ │ │ │ │ │ ├── LongNode.java │ │ │ │ │ │ │ ├── ShortNode.java │ │ │ │ │ │ │ ├── StringNode.java │ │ │ │ │ │ │ ├── UndefinedNode.java │ │ │ │ │ │ │ ├── UnitNode.java │ │ │ │ │ │ │ └── ZeroedConstNode.java │ │ │ │ │ │ ├── option │ │ │ │ │ │ │ ├── OptionFlatMapNode.java │ │ │ │ │ │ │ ├── OptionGetOrElseNode.java │ │ │ │ │ │ │ ├── OptionIsDefinedNode.java │ │ │ │ │ │ │ ├── OptionMapNode.java │ │ │ │ │ │ │ ├── OptionNoneNode.java │ │ │ │ │ │ │ ├── OptionSomeNode.java │ │ │ │ │ │ │ └── OptionUnsafeGetNode.java │ │ │ │ │ │ ├── record │ │ │ │ │ │ │ ├── RecordAddFieldNode.java │ │ │ │ │ │ │ ├── RecordBuildNode.java │ │ │ │ │ │ │ ├── RecordConcatNode.java │ │ │ │ │ │ │ ├── RecordFieldsNode.java │ │ │ │ │ │ │ ├── RecordProjNode.java │ │ │ │ │ │ │ ├── RecordRemoveFieldNode.java │ │ │ │ │ │ │ └── RecordStaticInitializers.java │ │ │ │ │ │ ├── tryable │ │ │ │ │ │ │ ├── TryableFailureNode.java │ │ │ │ │ │ │ ├── TryableFailureWithTypeNode.java │ │ │ │ │ │ │ ├── TryableFlatMapNode.java │ │ │ │ │ │ │ ├── TryableGetFailureNode.java │ │ │ │ │ │ │ ├── TryableIsFailureNode.java │ │ │ │ │ │ │ ├── TryableIsSuccessNode.java │ │ │ │ │ │ │ ├── TryableMapNode.java │ │ │ │ │ │ │ ├── TryableNullableFlatMapNode.java │ │ │ │ │ │ │ ├── TryableSuccessNode.java │ │ │ │ │ │ │ └── TryableUnsafeGetNode.java │ │ │ │ │ │ └── unary │ │ │ │ │ │ │ ├── NegNode.java │ │ │ │ │ │ │ ├── NotNode.java │ │ │ │ │ │ │ └── NotNullNode.java │ │ │ │ │ ├── io │ │ │ │ │ │ ├── binary │ │ │ │ │ │ │ ├── BinaryBytesWriterNode.java │ │ │ │ │ │ │ ├── BinaryWriterNode.java │ │ │ │ │ │ │ ├── NullableBinaryWriterNode.java │ │ │ │ │ │ │ └── TryableBinaryWriterNode.java │ │ │ │ │ │ ├── csv │ │ │ │ │ │ │ ├── reader │ │ │ │ │ │ │ │ ├── CsvParserNodes.java │ │ │ │ │ │ │ │ └── parser │ │ │ │ │ │ │ │ │ ├── BoolParseCsvNode.java │ │ │ │ │ │ │ │ │ ├── DateParseCsvNode.java │ │ │ │ │ │ │ │ │ ├── DecimalParseCsvNode.java │ │ │ │ │ │ │ │ │ ├── DoubleParseCsvNode.java │ │ │ │ │ │ │ │ │ ├── IntParseCsvNode.java │ │ │ │ │ │ │ │ │ ├── IterableParseCsvFile.java │ │ │ │ │ │ │ │ │ ├── IterableParseCsvString.java │ │ │ │ │ │ │ │ │ ├── LongParseCsvNode.java │ │ │ │ │ │ │ │ │ ├── OptionBoolParseCsvNode.java │ │ │ │ │ │ │ │ │ ├── OptionByteParseCsvNode.java │ │ │ │ │ │ │ │ │ ├── OptionDateParseCsvNode.java │ │ │ │ │ │ │ │ │ ├── OptionDecimalParseCsvNode.java │ │ │ │ │ │ │ │ │ ├── OptionDoubleParseCsvNode.java │ │ │ │ │ │ │ │ │ ├── OptionFloatParseCsvNode.java │ │ │ │ │ │ │ │ │ ├── OptionIntParseCsvNode.java │ │ │ │ │ │ │ │ │ ├── OptionLongParseCsvNode.java │ │ │ │ │ │ │ │ │ ├── OptionShortParseCsvNode.java │ │ │ │ │ │ │ │ │ ├── OptionStringParseCsvNode.java │ │ │ │ │ │ │ │ │ ├── OptionTimeParseCsvNode.java │ │ │ │ │ │ │ │ │ ├── OptionTimestampParseCsvNode.java │ │ │ │ │ │ │ │ │ ├── OptionUndefinedParseCsvNode.java │ │ │ │ │ │ │ │ │ ├── RecordParseCsvNode.java │ │ │ │ │ │ │ │ │ ├── ShortParseCsvNode.java │ │ │ │ │ │ │ │ │ ├── StringParseCsvNode.java │ │ │ │ │ │ │ │ │ ├── TimeParseCsvNode.java │ │ │ │ │ │ │ │ │ ├── TimestampParseCsvNode.java │ │ │ │ │ │ │ │ │ ├── TruffleCsvParser.java │ │ │ │ │ │ │ │ │ ├── TruffleCsvParserSettings.java │ │ │ │ │ │ │ │ │ ├── TryableParseCsvNode.java │ │ │ │ │ │ │ │ │ └── UndefinedParseCsvNode.java │ │ │ │ │ │ │ └── writer │ │ │ │ │ │ │ │ ├── CsvIterableWriterNode.java │ │ │ │ │ │ │ │ ├── CsvListWriterNode.java │ │ │ │ │ │ │ │ └── internal │ │ │ │ │ │ │ │ ├── BinaryWriteCsvNode.java │ │ │ │ │ │ │ │ ├── BoolWriteCsvNode.java │ │ │ │ │ │ │ │ ├── ByteWriteCsvNode.java │ │ │ │ │ │ │ │ ├── DateWriteCsvNode.java │ │ │ │ │ │ │ │ ├── DecimalWriteCsvNode.java │ │ │ │ │ │ │ │ ├── DoubleWriteCsvNode.java │ │ │ │ │ │ │ │ ├── FloatWriteCsvNode.java │ │ │ │ │ │ │ │ ├── IntWriteCsvNode.java │ │ │ │ │ │ │ │ ├── LongWriteCsvNode.java │ │ │ │ │ │ │ │ ├── NullableWriteCsvNode.java │ │ │ │ │ │ │ │ ├── RecordWriteCsvNode.java │ │ │ │ │ │ │ │ ├── ShortWriteCsvNode.java │ │ │ │ │ │ │ │ ├── StringWriteCsvNode.java │ │ │ │ │ │ │ │ ├── TimeWriteCsvNode.java │ │ │ │ │ │ │ │ ├── TimestampWriteCsvNode.java │ │ │ │ │ │ │ │ └── TryableWriteCsvNode.java │ │ │ │ │ │ ├── jdbc │ │ │ │ │ │ │ ├── BinaryReadJdbcQuery.java │ │ │ │ │ │ │ ├── BoolReadJdbcQuery.java │ │ │ │ │ │ │ ├── ByteReadJdbcQuery.java │ │ │ │ │ │ │ ├── DateReadJdbcQuery.java │ │ │ │ │ │ │ ├── DecimalReadJdbcQuery.java │ │ │ │ │ │ │ ├── DoubleReadJdbcQuery.java │ │ │ │ │ │ │ ├── FloatReadJdbcQuery.java │ │ │ │ │ │ │ ├── IntReadJdbcQuery.java │ │ │ │ │ │ │ ├── JdbcQuery.java │ │ │ │ │ │ │ ├── LongReadJdbcQuery.java │ │ │ │ │ │ │ ├── NullableReadJdbcQuery.java │ │ │ │ │ │ │ ├── RecordReadJdbcQuery.java │ │ │ │ │ │ │ ├── ShortReadJdbcQuery.java │ │ │ │ │ │ │ ├── StringReadJdbcQuery.java │ │ │ │ │ │ │ ├── TimeReadJdbcQuery.java │ │ │ │ │ │ │ ├── TimestampReadJdbcQuery.java │ │ │ │ │ │ │ └── TryableReadJdbcQuery.java │ │ │ │ │ │ ├── json │ │ │ │ │ │ │ ├── reader │ │ │ │ │ │ │ │ ├── JsonParseNode.java │ │ │ │ │ │ │ │ ├── JsonParserNodes.java │ │ │ │ │ │ │ │ ├── JsonPrintNode.java │ │ │ │ │ │ │ │ ├── JsonReadCollectionNode.java │ │ │ │ │ │ │ │ ├── JsonReadValueNode.java │ │ │ │ │ │ │ │ ├── TryableTopLevelWrapper.java │ │ │ │ │ │ │ │ └── parser │ │ │ │ │ │ │ │ │ ├── AnyParseJsonNode.java │ │ │ │ │ │ │ │ │ ├── BinaryParseJsonNode.java │ │ │ │ │ │ │ │ │ ├── BooleanParseJsonNode.java │ │ │ │ │ │ │ │ │ ├── ByteParseJsonNode.java │ │ │ │ │ │ │ │ │ ├── CheckNonNullJsonNode.java │ │ │ │ │ │ │ │ │ ├── DateParseJsonNode.java │ │ │ │ │ │ │ │ │ ├── DecimalParseJsonNode.java │ │ │ │ │ │ │ │ │ ├── DoubleParseJsonNode.java │ │ │ │ │ │ │ │ │ ├── FloatParseJsonNode.java │ │ │ │ │ │ │ │ │ ├── IntParseJsonNode.java │ │ │ │ │ │ │ │ │ ├── IntervalParseJsonNode.java │ │ │ │ │ │ │ │ │ ├── IterableParseJsonNode.java │ │ │ │ │ │ │ │ │ ├── ListParseJsonNode.java │ │ │ │ │ │ │ │ │ ├── LongParseJsonNode.java │ │ │ │ │ │ │ │ │ ├── NullableParseJsonNode.java │ │ │ │ │ │ │ │ │ ├── OrParseJsonNode.java │ │ │ │ │ │ │ │ │ ├── RecordParseJsonNode.java │ │ │ │ │ │ │ │ │ ├── ShortParseJsonNode.java │ │ │ │ │ │ │ │ │ ├── StringParseJsonNode.java │ │ │ │ │ │ │ │ │ ├── TimeParseJsonNode.java │ │ │ │ │ │ │ │ │ ├── TimestampParseJsonNode.java │ │ │ │ │ │ │ │ │ ├── TryableParseJsonNode.java │ │ │ │ │ │ │ │ │ └── UndefinedParseJsonNode.java │ │ │ │ │ │ │ └── writer │ │ │ │ │ │ │ │ ├── JsonWriteNodes.java │ │ │ │ │ │ │ │ ├── JsonWriterNode.java │ │ │ │ │ │ │ │ └── internal │ │ │ │ │ │ │ │ ├── AnyWriteJsonNode.java │ │ │ │ │ │ │ │ ├── BinaryWriteJsonNode.java │ │ │ │ │ │ │ │ ├── BooleanWriteJsonNode.java │ │ │ │ │ │ │ │ ├── ByteWriteJsonNode.java │ │ │ │ │ │ │ │ ├── DateWriteJsonNode.java │ │ │ │ │ │ │ │ ├── DecimalWriteJsonNode.java │ │ │ │ │ │ │ │ ├── DoubleWriteJsonNode.java │ │ │ │ │ │ │ │ ├── FloatWriteJsonNode.java │ │ │ │ │ │ │ │ ├── IntWriteJsonNode.java │ │ │ │ │ │ │ │ ├── IntervalWriteJsonNode.java │ │ │ │ │ │ │ │ ├── IterableWriteJsonNode.java │ │ │ │ │ │ │ │ ├── ListWriteJsonNode.java │ │ │ │ │ │ │ │ ├── LongWriteJsonNode.java │ │ │ │ │ │ │ │ ├── NullableWriteJsonNode.java │ │ │ │ │ │ │ │ ├── OrWriteJsonNode.java │ │ │ │ │ │ │ │ ├── RecordWriteJsonNode.java │ │ │ │ │ │ │ │ ├── ShortWriteJsonNode.java │ │ │ │ │ │ │ │ ├── StringWriteJsonNode.java │ │ │ │ │ │ │ │ ├── TimeWriteJsonNode.java │ │ │ │ │ │ │ │ ├── TimestampWriteJsonNode.java │ │ │ │ │ │ │ │ ├── TryableUnsafeWriteJsonNode.java │ │ │ │ │ │ │ │ ├── TryableWriteJsonNode.java │ │ │ │ │ │ │ │ └── UndefinedWriteJsonNode.java │ │ │ │ │ │ ├── kryo │ │ │ │ │ │ │ ├── KryoFromNode.java │ │ │ │ │ │ │ └── KryoWriteNode.java │ │ │ │ │ │ └── xml │ │ │ │ │ │ │ └── parser │ │ │ │ │ │ │ ├── AttributeParsePrimitiveXmlNode.java │ │ │ │ │ │ │ ├── BoolParseXmlNode.java │ │ │ │ │ │ │ ├── ByteParseXmlNode.java │ │ │ │ │ │ │ ├── DateParseXmlNode.java │ │ │ │ │ │ │ ├── DecimalParseXmlNode.java │ │ │ │ │ │ │ ├── DoubleParseXmlNode.java │ │ │ │ │ │ │ ├── ElementParseXmlPrimitiveNode.java │ │ │ │ │ │ │ ├── FloatParseXmlNode.java │ │ │ │ │ │ │ ├── IntParseXmlNode.java │ │ │ │ │ │ │ ├── IterableParseXmlNode.java │ │ │ │ │ │ │ ├── LongParseXmlNode.java │ │ │ │ │ │ │ ├── NullableParseXmlNode.java │ │ │ │ │ │ │ ├── OptionParseXmlTextNode.java │ │ │ │ │ │ │ ├── OrTypeParseXml.java │ │ │ │ │ │ │ ├── RecordParseXmlNode.java │ │ │ │ │ │ │ ├── ShortParseXmlNode.java │ │ │ │ │ │ │ ├── StringParseXmlNode.java │ │ │ │ │ │ │ ├── TextParseXmlPrimitiveNode.java │ │ │ │ │ │ │ ├── TimeParseXmlNode.java │ │ │ │ │ │ │ ├── TimestampParseXmlNode.java │ │ │ │ │ │ │ ├── TruffleXmlParser.java │ │ │ │ │ │ │ ├── TruffleXmlParserFactory.java │ │ │ │ │ │ │ ├── TruffleXmlParserSettings.java │ │ │ │ │ │ │ ├── TryableParseAttributeXmlNode.java │ │ │ │ │ │ │ ├── TryableParseXmlNode.java │ │ │ │ │ │ │ ├── UndefinedParseXmlNode.java │ │ │ │ │ │ │ ├── XmlParseCollectionNode.java │ │ │ │ │ │ │ ├── XmlParseValueNode.java │ │ │ │ │ │ │ ├── XmlReadCollectionNode.java │ │ │ │ │ │ │ └── XmlReadValueNode.java │ │ │ │ │ ├── local │ │ │ │ │ │ ├── ReadClosureVariableNode.java │ │ │ │ │ │ ├── ReadLocalVariableNode.java │ │ │ │ │ │ ├── ReadParamClosureNode.java │ │ │ │ │ │ ├── ReadParamNode.java │ │ │ │ │ │ └── WriteLocalVariableNode.java │ │ │ │ │ ├── osr │ │ │ │ │ │ ├── OSRGeneratorNode.java │ │ │ │ │ │ ├── bodies │ │ │ │ │ │ │ ├── OSRCollectionEquiJoinInitBodyNode.java │ │ │ │ │ │ │ ├── OSRCollectionFilterBodyNode.java │ │ │ │ │ │ │ ├── OSRCollectionJoinInitBodyNode.java │ │ │ │ │ │ │ ├── OSRCollectionMkStringBodyNode.java │ │ │ │ │ │ │ ├── OSRDistinctGetGeneratorNode.java │ │ │ │ │ │ │ ├── OSREquiJoinNextBodyNode.java │ │ │ │ │ │ │ ├── OSRExistsBodyNode.java │ │ │ │ │ │ │ ├── OSRJoinNextBodyNode.java │ │ │ │ │ │ │ ├── OSRListEquiJoinInitBodyNode.java │ │ │ │ │ │ │ ├── OSRListFilterBodyNode.java │ │ │ │ │ │ │ ├── OSRListFromBodyNode.java │ │ │ │ │ │ │ ├── OSRListParseJsonBodyNode.java │ │ │ │ │ │ │ ├── OSRListTransformBodyNode.java │ │ │ │ │ │ │ ├── OSRMultiAggregationBodyNode.java │ │ │ │ │ │ │ ├── OSROrderByGetGeneratorNode.java │ │ │ │ │ │ │ ├── OSRSingleAggregationBodyNode.java │ │ │ │ │ │ │ └── OSRToArrayBodyNode.java │ │ │ │ │ │ └── conditions │ │ │ │ │ │ │ ├── OSRCollectionFilterConditionNode.java │ │ │ │ │ │ │ ├── OSRExistsConditionNode.java │ │ │ │ │ │ │ ├── OSRFromBodyConditionNode.java │ │ │ │ │ │ │ ├── OSRHasNextConditionNode.java │ │ │ │ │ │ │ ├── OSRIsLessThanSizeConditionNode.java │ │ │ │ │ │ │ └── OSRListParseJsonConditionNode.java │ │ │ │ │ └── tryable_nullable │ │ │ │ │ │ ├── Nullable.java │ │ │ │ │ │ ├── Tryable.java │ │ │ │ │ │ └── TryableNullableNodes.java │ │ │ │ │ ├── emitter │ │ │ │ │ ├── SlotLocation.java │ │ │ │ │ ├── SnapiTruffleEmitter.java │ │ │ │ │ ├── TruffleArg.java │ │ │ │ │ ├── TruffleBuildBody.java │ │ │ │ │ ├── TruffleEmit.java │ │ │ │ │ ├── TruffleEmitter.java │ │ │ │ │ ├── TruffleEntryExtension.java │ │ │ │ │ ├── TruffleEntrypoint.java │ │ │ │ │ ├── TruffleShortEntryExtension.java │ │ │ │ │ ├── builtin │ │ │ │ │ │ ├── CompilerScalaConsts.java │ │ │ │ │ │ ├── WithArgs.java │ │ │ │ │ │ ├── aws_extension │ │ │ │ │ │ │ └── TruffleAwsV4SignedRequestEntry.java │ │ │ │ │ │ ├── binary_extension │ │ │ │ │ │ │ ├── TruffleBinaryBase64Entry.java │ │ │ │ │ │ │ ├── TruffleBinaryReadEntry.java │ │ │ │ │ │ │ └── TruffleFromStringBinaryEntry.java │ │ │ │ │ │ ├── byte_extension │ │ │ │ │ │ │ └── TruffleByteFromEntry.java │ │ │ │ │ │ ├── collection_extension │ │ │ │ │ │ │ ├── TruffleBuildCollectionEntry.java │ │ │ │ │ │ │ ├── TruffleCountCollectionEntry.java │ │ │ │ │ │ │ ├── TruffleDistinctCollectionEntry.java │ │ │ │ │ │ │ ├── TruffleEmptyCollectionEntry.java │ │ │ │ │ │ │ ├── TruffleExistsCollectionEntry.java │ │ │ │ │ │ │ ├── TruffleFilterCollectionEntry.java │ │ │ │ │ │ │ ├── TruffleFirstCollectionEntry.java │ │ │ │ │ │ │ ├── TruffleFromCollectionEntry.java │ │ │ │ │ │ │ ├── TruffleGroupCollectionEntry.java │ │ │ │ │ │ │ ├── TruffleInternalEquiJoinCollectionEntry.java │ │ │ │ │ │ │ ├── TruffleInternalJoinCollectionEntry.java │ │ │ │ │ │ │ ├── TruffleLastCollectionEntry.java │ │ │ │ │ │ │ ├── TruffleMaxCollectionEntry.java │ │ │ │ │ │ │ ├── TruffleMinCollectionEntry.java │ │ │ │ │ │ │ ├── TruffleMkStringCollectionEntry.java │ │ │ │ │ │ │ ├── TruffleOrderByCollectionEntry.java │ │ │ │ │ │ │ ├── TruffleSumCollectionEntry.java │ │ │ │ │ │ │ ├── TruffleTakeCollectionEntry.java │ │ │ │ │ │ │ ├── TruffleTransformCollectionEntry.java │ │ │ │ │ │ │ ├── TruffleTupleAvgCollectionEntry.java │ │ │ │ │ │ │ ├── TruffleUnionCollectionEntry.java │ │ │ │ │ │ │ ├── TruffleUnnestCollectionEntry.java │ │ │ │ │ │ │ └── TruffleZipCollectionEntry.java │ │ │ │ │ │ ├── csv_extension │ │ │ │ │ │ │ ├── CsvParser.java │ │ │ │ │ │ │ ├── TruffleCsvParseEntry.java │ │ │ │ │ │ │ └── TruffleCsvReadEntry.java │ │ │ │ │ │ ├── date_extension │ │ │ │ │ │ │ ├── TruffleDateAddIntervalEntry.java │ │ │ │ │ │ │ ├── TruffleDateBuildEntry.java │ │ │ │ │ │ │ ├── TruffleDateDayEntry.java │ │ │ │ │ │ │ ├── TruffleDateFromEpochDayEntry.java │ │ │ │ │ │ │ ├── TruffleDateFromTimestampEntry.java │ │ │ │ │ │ │ ├── TruffleDateMonthEntry.java │ │ │ │ │ │ │ ├── TruffleDateNowEntry.java │ │ │ │ │ │ │ ├── TruffleDateParseEntry.java │ │ │ │ │ │ │ ├── TruffleDateSubtractEntry.java │ │ │ │ │ │ │ ├── TruffleDateSubtractIntervalEntry.java │ │ │ │ │ │ │ └── TruffleDateYearEntry.java │ │ │ │ │ │ ├── decimal_extension │ │ │ │ │ │ │ ├── TruffleDecimalFromEntry.java │ │ │ │ │ │ │ └── TruffleDecimalRoundEntry.java │ │ │ │ │ │ ├── double_extension │ │ │ │ │ │ │ └── TruffleDoubleFromEntry.java │ │ │ │ │ │ ├── environment_extension │ │ │ │ │ │ │ ├── TruffleEnvironmentParameterEntry.java │ │ │ │ │ │ │ ├── TruffleEnvironmentScopesEntry.java │ │ │ │ │ │ │ └── TruffleEnvironmentSecretEntry.java │ │ │ │ │ │ ├── error_extension │ │ │ │ │ │ │ ├── TruffleErrorBuildEntry.java │ │ │ │ │ │ │ ├── TruffleErrorBuildWithTypeEntry.java │ │ │ │ │ │ │ └── TruffleErrorGetEntry.java │ │ │ │ │ │ ├── float_extension │ │ │ │ │ │ │ └── TruffleFloatFromEntry.java │ │ │ │ │ │ ├── function_extension │ │ │ │ │ │ │ └── TruffleFunctionInvokeAfterEntry.java │ │ │ │ │ │ ├── http_extension │ │ │ │ │ │ │ ├── TruffleHttpCallEntry.java │ │ │ │ │ │ │ ├── TruffleHttpDeleteEntry.java │ │ │ │ │ │ │ ├── TruffleHttpGetEntry.java │ │ │ │ │ │ │ ├── TruffleHttpHeadEntry.java │ │ │ │ │ │ │ ├── TruffleHttpOptionsEntry.java │ │ │ │ │ │ │ ├── TruffleHttpPatchEntry.java │ │ │ │ │ │ │ ├── TruffleHttpPostEntry.java │ │ │ │ │ │ │ ├── TruffleHttpPutEntry.java │ │ │ │ │ │ │ ├── TruffleHttpReadEntry.java │ │ │ │ │ │ │ ├── TruffleHttpUrlDecode.java │ │ │ │ │ │ │ └── TruffleHttpUrlEncode.java │ │ │ │ │ │ ├── int_extension │ │ │ │ │ │ │ ├── TruffleIntFromEntry.java │ │ │ │ │ │ │ └── TruffleIntRangeEntry.java │ │ │ │ │ │ ├── interval_extension │ │ │ │ │ │ │ ├── TruffleBuildIntervalEntry.java │ │ │ │ │ │ │ ├── TruffleIntervalDaysEntry.java │ │ │ │ │ │ │ ├── TruffleIntervalFromMillisEntry.java │ │ │ │ │ │ │ ├── TruffleIntervalHoursEntry.java │ │ │ │ │ │ │ ├── TruffleIntervalMillisEntry.java │ │ │ │ │ │ │ ├── TruffleIntervalMinutesEntry.java │ │ │ │ │ │ │ ├── TruffleIntervalMonthsEntry.java │ │ │ │ │ │ │ ├── TruffleIntervalParseEntry.java │ │ │ │ │ │ │ ├── TruffleIntervalSecondsEntry.java │ │ │ │ │ │ │ ├── TruffleIntervalToMillisEntry.java │ │ │ │ │ │ │ ├── TruffleIntervalWeeksEntry.java │ │ │ │ │ │ │ └── TruffleIntervalYearsEntry.java │ │ │ │ │ │ ├── jdbc │ │ │ │ │ │ │ └── Jdbc.java │ │ │ │ │ │ ├── json_extension │ │ │ │ │ │ │ ├── JsonParser.java │ │ │ │ │ │ │ ├── TruffleParseJsonEntry.java │ │ │ │ │ │ │ ├── TrufflePrintJsonEntry.java │ │ │ │ │ │ │ ├── TruffleReadJsonEntry.java │ │ │ │ │ │ │ └── WithJsonArgs.java │ │ │ │ │ │ ├── kryo_extension │ │ │ │ │ │ │ ├── TruffleKryoDecodeEntry.java │ │ │ │ │ │ │ └── TruffleKryoEncodeEntry.java │ │ │ │ │ │ ├── list_extension │ │ │ │ │ │ │ ├── TruffleBuildListEntry.java │ │ │ │ │ │ │ ├── TruffleCountListEntry.java │ │ │ │ │ │ │ ├── TruffleEmptyListEntry.java │ │ │ │ │ │ │ ├── TruffleExistsListEntry.java │ │ │ │ │ │ │ ├── TruffleFilterListEntry.java │ │ │ │ │ │ │ ├── TruffleFirstListEntry.java │ │ │ │ │ │ │ ├── TruffleFromListEntry.java │ │ │ │ │ │ │ ├── TruffleGetListEntry.java │ │ │ │ │ │ │ ├── TruffleGroupListEntry.java │ │ │ │ │ │ │ ├── TruffleLastListEntry.java │ │ │ │ │ │ │ ├── TruffleMaxListEntry.java │ │ │ │ │ │ │ ├── TruffleMinListEntry.java │ │ │ │ │ │ │ ├── TruffleSumListEntry.java │ │ │ │ │ │ │ ├── TruffleTakeListEntry.java │ │ │ │ │ │ │ ├── TruffleTransformListEntry.java │ │ │ │ │ │ │ └── TruffleUnsafeFromListEntry.java │ │ │ │ │ │ ├── location_extension │ │ │ │ │ │ │ ├── TruffleLocationDescribeEntry.java │ │ │ │ │ │ │ ├── TruffleLocationFromStringEntry.java │ │ │ │ │ │ │ ├── TruffleLocationLlEntry.java │ │ │ │ │ │ │ └── TruffleLocationLsEntry.java │ │ │ │ │ │ ├── long_extension │ │ │ │ │ │ │ ├── TruffleLongFromEntry.java │ │ │ │ │ │ │ └── TruffleLongRangeEntry.java │ │ │ │ │ │ ├── math_extension │ │ │ │ │ │ │ ├── TruffleMathAbsEntry.java │ │ │ │ │ │ │ ├── TruffleMathAcosEntry.java │ │ │ │ │ │ │ ├── TruffleMathAsinEntry.java │ │ │ │ │ │ │ ├── TruffleMathAtanEntry.java │ │ │ │ │ │ │ ├── TruffleMathAtn2Entry.java │ │ │ │ │ │ │ ├── TruffleMathCeilingEntry.java │ │ │ │ │ │ │ ├── TruffleMathCosEntry.java │ │ │ │ │ │ │ ├── TruffleMathCotEntry.java │ │ │ │ │ │ │ ├── TruffleMathDegreesEntry.java │ │ │ │ │ │ │ ├── TruffleMathExpEntry.java │ │ │ │ │ │ │ ├── TruffleMathFloorEntry.java │ │ │ │ │ │ │ ├── TruffleMathLog10Entry.java │ │ │ │ │ │ │ ├── TruffleMathLogEntry.java │ │ │ │ │ │ │ ├── TruffleMathPiEntry.java │ │ │ │ │ │ │ ├── TruffleMathPowerEntry.java │ │ │ │ │ │ │ ├── TruffleMathRadiansEntry.java │ │ │ │ │ │ │ ├── TruffleMathRandomEntry.java │ │ │ │ │ │ │ ├── TruffleMathSignEntry.java │ │ │ │ │ │ │ ├── TruffleMathSinEntry.java │ │ │ │ │ │ │ ├── TruffleMathSqrtEntry.java │ │ │ │ │ │ │ ├── TruffleMathSquareEntry.java │ │ │ │ │ │ │ └── TruffleMathTanEntry.java │ │ │ │ │ │ ├── mysql_extension │ │ │ │ │ │ │ └── TruffleMySQLQueryEntry.java │ │ │ │ │ │ ├── nullable_extension │ │ │ │ │ │ │ ├── TruffleNullableBuildEntry.java │ │ │ │ │ │ │ ├── TruffleNullableEmptyEntry.java │ │ │ │ │ │ │ ├── TruffleNullableIsNullEntry.java │ │ │ │ │ │ │ ├── TruffleNullableTransformEntry.java │ │ │ │ │ │ │ └── TruffleNullableUnsafeGetEntry.java │ │ │ │ │ │ ├── nullable_tryable_extension │ │ │ │ │ │ │ └── TruffleFlatMapNullableTryableEntry.java │ │ │ │ │ │ ├── oracle_extension │ │ │ │ │ │ │ └── TruffleOracleQueryEntry.java │ │ │ │ │ │ ├── postgresql_extension │ │ │ │ │ │ │ └── TrufflePostgreSQLQueryEntry.java │ │ │ │ │ │ ├── record_extension │ │ │ │ │ │ │ ├── TruffleRecordAddFieldEntry.java │ │ │ │ │ │ │ ├── TruffleRecordBuildEntry.java │ │ │ │ │ │ │ ├── TruffleRecordConcatEntry.java │ │ │ │ │ │ │ ├── TruffleRecordFieldsEntry.java │ │ │ │ │ │ │ ├── TruffleRecordGetFieldByIndexEntry.java │ │ │ │ │ │ │ └── TruffleRecordRemoveFieldEntry.java │ │ │ │ │ │ ├── regex_extension │ │ │ │ │ │ │ ├── TruffleRegexFirstMatchInEntry.java │ │ │ │ │ │ │ ├── TruffleRegexGroupsEntry.java │ │ │ │ │ │ │ ├── TruffleRegexMatchesEntry.java │ │ │ │ │ │ │ └── TruffleRegexReplaceEntry.java │ │ │ │ │ │ ├── s3_extension │ │ │ │ │ │ │ └── TruffleS3BuildEntry.java │ │ │ │ │ │ ├── short_extension │ │ │ │ │ │ │ └── TruffleShortFromEntry.java │ │ │ │ │ │ ├── snowflake_extension │ │ │ │ │ │ │ └── TruffleSnowflakeQueryEntry.java │ │ │ │ │ │ ├── sqlserver_extension │ │ │ │ │ │ │ └── TruffleSQLServerQueryEntry.java │ │ │ │ │ │ ├── string_extension │ │ │ │ │ │ │ ├── TruffleBase64EntryExtension.java │ │ │ │ │ │ │ ├── TruffleStringCapitalizeEntry.java │ │ │ │ │ │ │ ├── TruffleStringContainsEntry.java │ │ │ │ │ │ │ ├── TruffleStringCountSubStringEntry.java │ │ │ │ │ │ │ ├── TruffleStringDecodeEntry.java │ │ │ │ │ │ │ ├── TruffleStringEmptyEntry.java │ │ │ │ │ │ │ ├── TruffleStringEncodeEntry.java │ │ │ │ │ │ │ ├── TruffleStringFromEntry.java │ │ │ │ │ │ │ ├── TruffleStringLTrimEntry.java │ │ │ │ │ │ │ ├── TruffleStringLengthEntry.java │ │ │ │ │ │ │ ├── TruffleStringLevenshteinDistanceEntry.java │ │ │ │ │ │ │ ├── TruffleStringLowerEntry.java │ │ │ │ │ │ │ ├── TruffleStringRTrimEntry.java │ │ │ │ │ │ │ ├── TruffleStringReadEntry.java │ │ │ │ │ │ │ ├── TruffleStringReadLinesEntry.java │ │ │ │ │ │ │ ├── TruffleStringReplaceEntry.java │ │ │ │ │ │ │ ├── TruffleStringReplicateEntry.java │ │ │ │ │ │ │ ├── TruffleStringReverseEntry.java │ │ │ │ │ │ │ ├── TruffleStringSplitEntry.java │ │ │ │ │ │ │ ├── TruffleStringStartsWithEntry.java │ │ │ │ │ │ │ ├── TruffleStringSubStringEntry.java │ │ │ │ │ │ │ ├── TruffleStringTrimEntry.java │ │ │ │ │ │ │ └── TruffleStringUpperEntry.java │ │ │ │ │ │ ├── success_extension │ │ │ │ │ │ │ └── TruffleSuccessBuildEntry.java │ │ │ │ │ │ ├── test_extension │ │ │ │ │ │ │ ├── TruffleBoolValueArgTestEntry.java │ │ │ │ │ │ │ ├── TruffleByteValueArgTestEntry.java │ │ │ │ │ │ │ ├── TruffleDateValueArgTestEntry.java │ │ │ │ │ │ │ ├── TruffleDoubleValueArgTestEntry.java │ │ │ │ │ │ │ ├── TruffleFloatValueArgTestEntry.java │ │ │ │ │ │ │ ├── TruffleIntValueArgTestEntry.java │ │ │ │ │ │ │ ├── TruffleIntervalValueArgTestEntry.java │ │ │ │ │ │ │ ├── TruffleListValueArgTestEntry.java │ │ │ │ │ │ │ ├── TruffleLongValueArgTestEntry.java │ │ │ │ │ │ │ ├── TruffleMandatoryArgs.java │ │ │ │ │ │ │ ├── TruffleMandatoryExpArgsEntry.java │ │ │ │ │ │ │ ├── TruffleMandatoryValueArgsEntry.java │ │ │ │ │ │ │ ├── TruffleOptionalArgs.java │ │ │ │ │ │ │ ├── TruffleOptionalExpArgsTestEntry.java │ │ │ │ │ │ │ ├── TruffleOptionalValueArgsTestEntry.java │ │ │ │ │ │ │ ├── TruffleRecordValueArgTestEntry.java │ │ │ │ │ │ │ ├── TruffleShortValueArgTestEntry.java │ │ │ │ │ │ │ ├── TruffleStrictArgsColPassThroughTestEntry.java │ │ │ │ │ │ │ ├── TruffleStrictArgsTestEntry.java │ │ │ │ │ │ │ ├── TruffleStringValueArgTestEntry.java │ │ │ │ │ │ │ ├── TruffleTimeValueArgTestEntry.java │ │ │ │ │ │ │ ├── TruffleTimestampValueArgTestEntry.java │ │ │ │ │ │ │ ├── TruffleValueArg.java │ │ │ │ │ │ │ ├── TruffleVarArgs.java │ │ │ │ │ │ │ ├── TruffleVarExpArgsTestEntry.java │ │ │ │ │ │ │ ├── TruffleVarNullableStringExpTestEntry.java │ │ │ │ │ │ │ ├── TruffleVarNullableStringValueTestEntry.java │ │ │ │ │ │ │ └── TruffleVarValueArgsTestEntry.java │ │ │ │ │ │ ├── time_extension │ │ │ │ │ │ │ ├── TruffleTimeAddIntervalEntry.java │ │ │ │ │ │ │ ├── TruffleTimeBuildEntry.java │ │ │ │ │ │ │ ├── TruffleTimeHourEntry.java │ │ │ │ │ │ │ ├── TruffleTimeMillisEntry.java │ │ │ │ │ │ │ ├── TruffleTimeMinuteEntry.java │ │ │ │ │ │ │ ├── TruffleTimeNowEntry.java │ │ │ │ │ │ │ ├── TruffleTimeParseEntry.java │ │ │ │ │ │ │ ├── TruffleTimeSecondEntry.java │ │ │ │ │ │ │ ├── TruffleTimeSubtractEntry.java │ │ │ │ │ │ │ └── TruffleTimeSubtractIntervalEntry.java │ │ │ │ │ │ ├── timestamp_extension │ │ │ │ │ │ │ ├── TruffleTimestampAddIntervalEntry.java │ │ │ │ │ │ │ ├── TruffleTimestampBuildEntry.java │ │ │ │ │ │ │ ├── TruffleTimestampDayEntry.java │ │ │ │ │ │ │ ├── TruffleTimestampFromDateEntry.java │ │ │ │ │ │ │ ├── TruffleTimestampFromUnixTimestampEntry.java │ │ │ │ │ │ │ ├── TruffleTimestampHourEntry.java │ │ │ │ │ │ │ ├── TruffleTimestampMillisEntry.java │ │ │ │ │ │ │ ├── TruffleTimestampMinuteEntry.java │ │ │ │ │ │ │ ├── TruffleTimestampMonthEntry.java │ │ │ │ │ │ │ ├── TruffleTimestampNowEntry.java │ │ │ │ │ │ │ ├── TruffleTimestampParseEntry.java │ │ │ │ │ │ │ ├── TruffleTimestampRangeEntry.java │ │ │ │ │ │ │ ├── TruffleTimestampSecondEntry.java │ │ │ │ │ │ │ ├── TruffleTimestampSubtractEntry.java │ │ │ │ │ │ │ ├── TruffleTimestampSubtractIntervalEntry.java │ │ │ │ │ │ │ ├── TruffleTimestampTimeBucketEntry.java │ │ │ │ │ │ │ ├── TruffleTimestampToUnixTimestampEntry.java │ │ │ │ │ │ │ └── TruffleTimestampYearEntry.java │ │ │ │ │ │ ├── try_extension │ │ │ │ │ │ │ ├── TruffleTryFlatMapEntry.java │ │ │ │ │ │ │ ├── TruffleTryIsErrorEntry.java │ │ │ │ │ │ │ ├── TruffleTryIsSuccessEntry.java │ │ │ │ │ │ │ ├── TruffleTryTransformEntry.java │ │ │ │ │ │ │ └── TruffleTryUnsafeGetEntry.java │ │ │ │ │ │ ├── type_extension │ │ │ │ │ │ │ ├── TruffleTypeCastEntry.java │ │ │ │ │ │ │ ├── TruffleTypeEmptyEntry.java │ │ │ │ │ │ │ ├── TruffleTypeMatchEntry.java │ │ │ │ │ │ │ └── TruffleTypeProtectCastEntry.java │ │ │ │ │ │ └── xml_extension │ │ │ │ │ │ │ ├── TruffleParseXmlEntry.java │ │ │ │ │ │ │ ├── TruffleReadXmlEntry.java │ │ │ │ │ │ │ └── XmlRecurse.java │ │ │ │ │ └── writers │ │ │ │ │ │ ├── CompilerScalaConsts.java │ │ │ │ │ │ ├── CsvWriter.java │ │ │ │ │ │ ├── JsonWriter.java │ │ │ │ │ │ └── TruffleBinaryWriter.java │ │ │ │ │ └── runtime │ │ │ │ │ ├── data_structures │ │ │ │ │ └── treemap │ │ │ │ │ │ ├── TreeMapIterator.java │ │ │ │ │ │ ├── TreeMapNode.java │ │ │ │ │ │ ├── TreeMapNodes.java │ │ │ │ │ │ ├── TreeMapObject.java │ │ │ │ │ │ └── TreeMapStatic.java │ │ │ │ │ ├── exceptions │ │ │ │ │ ├── BreakException.java │ │ │ │ │ ├── ReadLinesTruffleException.java │ │ │ │ │ ├── TruffleInternalErrorException.java │ │ │ │ │ ├── TruffleRuntimeException.java │ │ │ │ │ ├── TruffleUnexpectedNullException.java │ │ │ │ │ ├── TruffleValidationException.java │ │ │ │ │ ├── binary │ │ │ │ │ │ └── BinaryWriterTruffleException.java │ │ │ │ │ ├── csv │ │ │ │ │ │ ├── CsvExpectedNothingException.java │ │ │ │ │ │ ├── CsvParserTruffleException.java │ │ │ │ │ │ ├── CsvReaderTruffleException.java │ │ │ │ │ │ └── CsvWriterTruffleException.java │ │ │ │ │ ├── json │ │ │ │ │ │ ├── JsonExpectedNothingException.java │ │ │ │ │ │ ├── JsonOrTypeException.java │ │ │ │ │ │ ├── JsonParserTruffleException.java │ │ │ │ │ │ ├── JsonReaderTruffleException.java │ │ │ │ │ │ ├── JsonRecordFieldNotFoundException.java │ │ │ │ │ │ ├── JsonUnexpectedTokenException.java │ │ │ │ │ │ └── JsonWriterTruffleException.java │ │ │ │ │ ├── rdbms │ │ │ │ │ │ ├── JdbcExceptionHandler.java │ │ │ │ │ │ ├── JdbcParserTruffleException.java │ │ │ │ │ │ ├── JdbcReaderTruffleException.java │ │ │ │ │ │ ├── MySQLExceptionHandler.java │ │ │ │ │ │ ├── OracleExceptionHandler.java │ │ │ │ │ │ ├── PostgreSQLExceptionHandler.java │ │ │ │ │ │ ├── SnowflakeExceptionHandler.java │ │ │ │ │ │ └── SqlServerExceptionHandler.java │ │ │ │ │ ├── validation │ │ │ │ │ │ ├── ValidationErrorMessage.java │ │ │ │ │ │ ├── ValidationErrorObject.java │ │ │ │ │ │ ├── ValidationErrorPosition.java │ │ │ │ │ │ └── ValidationErrorRange.java │ │ │ │ │ └── xml │ │ │ │ │ │ ├── XmlExpectedNothingException.java │ │ │ │ │ │ ├── XmlOrTypeParserException.java │ │ │ │ │ │ ├── XmlParserTruffleException.java │ │ │ │ │ │ └── XmlReaderTruffleException.java │ │ │ │ │ ├── function │ │ │ │ │ ├── Closure.java │ │ │ │ │ ├── Function.java │ │ │ │ │ ├── FunctionExecuteNodes.java │ │ │ │ │ ├── FunctionRegistry.java │ │ │ │ │ ├── FunctionRegistryObject.java │ │ │ │ │ ├── Lambda.java │ │ │ │ │ └── RecClosure.java │ │ │ │ │ ├── generator │ │ │ │ │ ├── collection │ │ │ │ │ │ ├── GeneratorNodes.java │ │ │ │ │ │ ├── StaticInitializers.java │ │ │ │ │ │ ├── abstract_generator │ │ │ │ │ │ │ ├── AbstractGenerator.java │ │ │ │ │ │ │ └── compute_next │ │ │ │ │ │ │ │ ├── ComputeNextNodes.java │ │ │ │ │ │ │ │ ├── operations │ │ │ │ │ │ │ │ ├── EquiJoinComputeNext.java │ │ │ │ │ │ │ │ ├── FilterComputeNext.java │ │ │ │ │ │ │ │ ├── JoinComputeNext.java │ │ │ │ │ │ │ │ ├── TakeComputeNext.java │ │ │ │ │ │ │ │ ├── TransformComputeNext.java │ │ │ │ │ │ │ │ ├── UnnestComputeNext.java │ │ │ │ │ │ │ │ └── ZipComputeNext.java │ │ │ │ │ │ │ │ └── sources │ │ │ │ │ │ │ │ ├── CsvReadComputeNext.java │ │ │ │ │ │ │ │ ├── CsvReadFromStringComputeNext.java │ │ │ │ │ │ │ │ ├── EmptyComputeNext.java │ │ │ │ │ │ │ │ ├── ExpressionComputeNext.java │ │ │ │ │ │ │ │ ├── IntRangeComputeNext.java │ │ │ │ │ │ │ │ ├── JdbcQueryComputeNext.java │ │ │ │ │ │ │ │ ├── JsonReadComputeNext.java │ │ │ │ │ │ │ │ ├── LongRangeComputeNext.java │ │ │ │ │ │ │ │ ├── ReadLinesComputeNext.java │ │ │ │ │ │ │ │ ├── TimestampRangeComputeNext.java │ │ │ │ │ │ │ │ ├── UnionComputeNext.java │ │ │ │ │ │ │ │ ├── XmlParseComputeNext.java │ │ │ │ │ │ │ │ └── XmlReadComputeNext.java │ │ │ │ │ │ └── off_heap_generator │ │ │ │ │ │ │ ├── input_buffer │ │ │ │ │ │ │ ├── GroupByInputBuffer.java │ │ │ │ │ │ │ ├── InputBufferNodes.java │ │ │ │ │ │ │ └── OrderByInputBuffer.java │ │ │ │ │ │ │ ├── off_heap │ │ │ │ │ │ │ ├── OffHeapNodes.java │ │ │ │ │ │ │ ├── distinct │ │ │ │ │ │ │ │ ├── DistinctMemoryGenerator.java │ │ │ │ │ │ │ │ ├── DistinctSpilledFilesGenerator.java │ │ │ │ │ │ │ │ └── OffHeapDistinct.java │ │ │ │ │ │ │ ├── group_by │ │ │ │ │ │ │ │ ├── GroupByMemoryGenerator.java │ │ │ │ │ │ │ │ ├── GroupBySpilledFilesGenerator.java │ │ │ │ │ │ │ │ └── OffHeapGroupByKey.java │ │ │ │ │ │ │ └── order_by │ │ │ │ │ │ │ │ ├── OffHeapGroupByKeys.java │ │ │ │ │ │ │ │ ├── OrderByMemoryGenerator.java │ │ │ │ │ │ │ │ └── OrderBySpilledFilesGenerator.java │ │ │ │ │ │ │ └── record_shaper │ │ │ │ │ │ │ ├── RecordShaper.java │ │ │ │ │ │ │ └── RecordShaperNodes.java │ │ │ │ │ └── list │ │ │ │ │ │ └── ListGenerator.java │ │ │ │ │ ├── iterable │ │ │ │ │ ├── IterableNodes.java │ │ │ │ │ ├── list │ │ │ │ │ │ └── ListIterable.java │ │ │ │ │ ├── operations │ │ │ │ │ │ ├── DistinctCollection.java │ │ │ │ │ │ ├── EquiJoinCollection.java │ │ │ │ │ │ ├── FilterCollection.java │ │ │ │ │ │ ├── GroupByCollection.java │ │ │ │ │ │ ├── JoinCollection.java │ │ │ │ │ │ ├── OrderByCollection.java │ │ │ │ │ │ ├── TakeCollection.java │ │ │ │ │ │ ├── TransformCollection.java │ │ │ │ │ │ ├── UnnestCollection.java │ │ │ │ │ │ └── ZipCollection.java │ │ │ │ │ └── sources │ │ │ │ │ │ ├── CsvCollection.java │ │ │ │ │ │ ├── CsvFromStringCollection.java │ │ │ │ │ │ ├── EmptyCollection.java │ │ │ │ │ │ ├── ExpressionCollection.java │ │ │ │ │ │ ├── IntRangeCollection.java │ │ │ │ │ │ ├── JdbcQueryCollection.java │ │ │ │ │ │ ├── JsonReadCollection.java │ │ │ │ │ │ ├── LongRangeCollection.java │ │ │ │ │ │ ├── ReadLinesCollection.java │ │ │ │ │ │ ├── TimestampRangeCollection.java │ │ │ │ │ │ ├── UnionCollection.java │ │ │ │ │ │ ├── XmlParseCollection.java │ │ │ │ │ │ └── XmlReadCollection.java │ │ │ │ │ ├── kryo │ │ │ │ │ └── KryoNodes.java │ │ │ │ │ ├── list │ │ │ │ │ ├── BooleanList.java │ │ │ │ │ ├── ByteList.java │ │ │ │ │ ├── DoubleList.java │ │ │ │ │ ├── FloatList.java │ │ │ │ │ ├── IntList.java │ │ │ │ │ ├── ListNodes.java │ │ │ │ │ ├── LongList.java │ │ │ │ │ ├── ObjectList.java │ │ │ │ │ ├── ShortList.java │ │ │ │ │ ├── StringList.java │ │ │ │ │ └── TruffleArrayList.java │ │ │ │ │ ├── operators │ │ │ │ │ └── OperatorNodes.java │ │ │ │ │ ├── or │ │ │ │ │ └── OrObject.java │ │ │ │ │ ├── primitives │ │ │ │ │ ├── BinaryObject.java │ │ │ │ │ ├── DateObject.java │ │ │ │ │ ├── DecimalObject.java │ │ │ │ │ ├── ErrorObject.java │ │ │ │ │ ├── IntervalObject.java │ │ │ │ │ ├── LocationKVSettingHash.java │ │ │ │ │ ├── LocationObject.java │ │ │ │ │ ├── NullObject.java │ │ │ │ │ ├── TimeObject.java │ │ │ │ │ ├── TimestampObject.java │ │ │ │ │ └── TruffleTemporalFormatter.java │ │ │ │ │ ├── record │ │ │ │ │ ├── DuplicateKeyRecord.java │ │ │ │ │ ├── DuplicateKeyRecordNodes.java │ │ │ │ │ ├── KeysObject.java │ │ │ │ │ ├── PureRecord.java │ │ │ │ │ ├── PureRecordNodes.java │ │ │ │ │ └── RecordNodes.java │ │ │ │ │ └── utils │ │ │ │ │ ├── IOUtils.java │ │ │ │ │ ├── KryoFootPrint.java │ │ │ │ │ ├── TruffleCharInputStream.java │ │ │ │ │ ├── TruffleCharStream.java │ │ │ │ │ ├── TruffleInputStream.java │ │ │ │ │ └── TruffleStringCharStream.java │ │ │ └── module-info.java │ │ └── resources │ │ │ ├── META-INF │ │ │ └── services │ │ │ │ └── raw.compiler.rql2.api.EntryExtension │ │ │ └── reference.conf │ └── test │ │ ├── resources │ │ └── logback-test.xml │ │ └── scala │ │ └── com │ │ └── rawlabs │ │ └── snapi │ │ └── compiler │ │ └── tests │ │ ├── FailAfterNServer.scala │ │ ├── SnapiTestContext.scala │ │ ├── TruffleValueComparer.scala │ │ ├── benchmark │ │ ├── BenchmarkTests.scala │ │ └── StressTests.scala │ │ ├── builtin │ │ ├── BinaryPackageTest.scala │ │ ├── BytePackageTest.scala │ │ ├── CsvPackageTest.scala │ │ ├── DatePackageTest.scala │ │ ├── DecimalPackageTest.scala │ │ ├── DoublePackageTest.scala │ │ ├── EnvironmentPackageTest.scala │ │ ├── ErrorPackageTest.scala │ │ ├── FloatPackageTest.scala │ │ ├── FunctionPackageTest.scala │ │ ├── HttpPackageTest.scala │ │ ├── IntPackageTest.scala │ │ ├── IntervalPackageTest.scala │ │ ├── JsonPackageTest.scala │ │ ├── LibraryPackageTest.scala │ │ ├── LocationPackageTest.scala │ │ ├── LongPackageTest.scala │ │ ├── MathPackageTest.scala │ │ ├── NullablePackageTest.scala │ │ ├── NullableTryablePackageTest.scala │ │ ├── RecordPackageTest.scala │ │ ├── RegexPackageTest.scala │ │ ├── S3PackageTest.scala │ │ ├── ShortPackageTest.scala │ │ ├── StringPackageTest.scala │ │ ├── SuccessPackageTest.scala │ │ ├── TimePackageTest.scala │ │ ├── TimestampPackageTest.scala │ │ ├── TryPackageTest.scala │ │ ├── TypePackageTest.scala │ │ ├── XmlPackageTest.scala │ │ ├── collection │ │ │ ├── CollectionDistinctTest.scala │ │ │ ├── CollectionExplodeTest.scala │ │ │ ├── CollectionGroupByTest.scala │ │ │ ├── CollectionJoinTest.scala │ │ │ ├── CollectionMinMaxTest.scala │ │ │ ├── CollectionMkStringTest.scala │ │ │ ├── CollectionOrderByTest.scala │ │ │ ├── CollectionPackageTest.scala │ │ │ ├── CollectionRangeTest.scala │ │ │ └── CollectionUnionTest.scala │ │ ├── credentials │ │ │ ├── AwsPackageTest.scala │ │ │ ├── EnvironmentPackageTest.scala │ │ │ ├── LocationPackageTest.scala │ │ │ ├── MySQLPackageTest.scala │ │ │ ├── OraclePackageTest.scala │ │ │ ├── PostgreSQLPackageTest.scala │ │ │ ├── S3PackageTest.scala │ │ │ ├── SQLServerPackageTest.scala │ │ │ └── SnowflakePackageTest.scala │ │ └── list │ │ │ ├── ListDistinctTest.scala │ │ │ ├── ListExplodeTest.scala │ │ │ ├── ListGroupByTest.scala │ │ │ ├── ListJoinTest.scala │ │ │ ├── ListMinMaxTest.scala │ │ │ ├── ListMkStringTest.scala │ │ │ ├── ListOrderByTest.scala │ │ │ ├── ListPackageTest.scala │ │ │ └── ListUnionTest.scala │ │ ├── hints │ │ └── SemanticAnalyzerHintsTest.scala │ │ ├── lsp │ │ ├── LspAiValidateTest.scala │ │ ├── LspBrokenCodeTest.scala │ │ ├── LspCommentsFormatTest.scala │ │ ├── LspCompilationMessagesTest.scala │ │ ├── LspDefinitionTest.scala │ │ ├── LspDotAutoCompleteTest.scala │ │ ├── LspFormatCodeTest.scala │ │ ├── LspHoverTest.scala │ │ ├── LspRenameTest.scala │ │ ├── LspValidateTest.scala │ │ └── LspWordAutoCompleteTest.scala │ │ ├── offheap │ │ ├── KryoPackageTest.scala │ │ ├── OffHeapDatasets.scala │ │ ├── OffHeapDistinctTest.scala │ │ ├── OffHeapEquiJoinTest.scala │ │ ├── OffHeapGroupTest.scala │ │ ├── OffHeapJoinTest.scala │ │ └── OffHeapOrderByTest.scala │ │ ├── parser │ │ ├── FrontendSyntaxAnalyzerTest.scala │ │ ├── ListSugarTest.scala │ │ ├── OperatorPrecedenceTest.scala │ │ └── RecordSugarTest.scala │ │ ├── regressions │ │ ├── RD10194Test.scala │ │ ├── RD10220Test.scala │ │ ├── RD10723Test.scala │ │ ├── RD10801Test.scala │ │ ├── RD10971Test.scala │ │ ├── RD14684Test.scala │ │ ├── RD14685Test.scala │ │ ├── RD3742Test.scala │ │ ├── RD3784Test.scala │ │ ├── RD4529Test.scala │ │ ├── RD4981Test.scala │ │ ├── RD5238Test.scala │ │ ├── RD5365Test.scala │ │ ├── RD5393Test.scala │ │ ├── RD5412Test.scala │ │ ├── RD5448Test.scala │ │ ├── RD5484Test.scala │ │ ├── RD5488Test.scala │ │ ├── RD5491Test.scala │ │ ├── RD5644Test.scala │ │ ├── RD5679Test.scala │ │ ├── RD5685Test.scala │ │ ├── RD5691Test.scala │ │ ├── RD5697Test.scala │ │ ├── RD5714Test.scala │ │ ├── RD5722Test.scala │ │ ├── RD572Test.scala │ │ ├── RD5775Test.scala │ │ ├── RD5779Test.scala │ │ ├── RD5784Test.scala │ │ ├── RD5785Test.scala │ │ ├── RD5786Test.scala │ │ ├── RD5851Test.scala │ │ ├── RD5884Test.scala │ │ ├── RD5893Test.scala │ │ ├── RD5914Test.scala │ │ ├── RD5920Test.scala │ │ ├── RD5921Test.scala │ │ ├── RD5925Test.scala │ │ ├── RD5932Test.scala │ │ ├── RD5968Test.scala │ │ ├── RD5971Test.scala │ │ ├── RD5979Test.scala │ │ ├── RD7924Test.scala │ │ ├── RD8530Test.scala │ │ ├── RD8764Test.scala │ │ ├── RD8935Test.scala │ │ ├── RD8993Test.scala │ │ ├── RD9137Test.scala │ │ ├── RD9228Test.scala │ │ ├── RD9229Test.scala │ │ ├── RD9359Test.scala │ │ ├── RD9409Test.scala │ │ ├── RD9479Test.scala │ │ ├── RD9485Test.scala │ │ ├── RD9554Test.scala │ │ ├── RD9616Test.scala │ │ ├── RD9932Test.scala │ │ └── credentials │ │ │ ├── RD3084Test.scala │ │ │ ├── RD4445Test.scala │ │ │ └── RD5932Test.scala │ │ └── spec │ │ ├── BasicStagedCompilerTest.scala │ │ ├── BinaryExpAndTest.scala │ │ ├── BinaryExpDivTest.scala │ │ ├── BinaryExpEqTest.scala │ │ ├── BinaryExpGeTest.scala │ │ ├── BinaryExpGtTest.scala │ │ ├── BinaryExpLeTest.scala │ │ ├── BinaryExpLtTest.scala │ │ ├── BinaryExpModTest.scala │ │ ├── BinaryExpMultTest.scala │ │ ├── BinaryExpNeqTest.scala │ │ ├── BinaryExpOrTest.scala │ │ ├── BinaryExpPlusTest.scala │ │ ├── BinaryExpSubTest.scala │ │ ├── ClosureTest.scala │ │ ├── CombinationSpecTestHelper.scala │ │ ├── ConstTest.scala │ │ ├── ErrorsTest.scala │ │ ├── FunAbsTest.scala │ │ ├── IfThenElseTest.scala │ │ ├── ImplicitCastTest.scala │ │ ├── JoinWithTryRowsTest.scala │ │ ├── LetBindTest.scala │ │ ├── LetFunRecTest.scala │ │ ├── LetFunTest.scala │ │ ├── LetTypeTest.scala │ │ ├── MigrationTest.scala │ │ ├── PackageNameTest.scala │ │ ├── ProjTest.scala │ │ ├── PropagationTest.scala │ │ ├── StagedCompilerTest.scala │ │ ├── UnaryExpNegTest.scala │ │ └── UnaryExpNotTest.scala └── truffle-dsl-processor-23.1.0.jar └── tests.sh /.git-blame-ignore-revs: -------------------------------------------------------------------------------- 1 | # Scala Steward: Reformat with sbt-java-formatter 0.8.0 2 | e4a3ecd2f2568c1b078a990fbe93f10af810120f 3 | -------------------------------------------------------------------------------- /.github/workflows/pr-chatops.yaml: -------------------------------------------------------------------------------- 1 | name: Pull Request ChatOps 2 | on: 3 | issue_comment: 4 | types: [created] 5 | jobs: 6 | publish-slash-command-dispatch: 7 | runs-on: self-hosted 8 | if: | 9 | startsWith(github.event.comment.body, '/') && 10 | endsWith(github.event.comment.body, 'publish') 11 | steps: 12 | # publish 13 | - uses: peter-evans/slash-command-dispatch@v3 14 | id: deliver 15 | with: 16 | commands: publish 17 | event-type-suffix: '' 18 | token: ${{ secrets.RAW_CI_PAT }} 19 | - name: edit comment with error message 20 | if: steps.deliver.outputs.error-message 21 | uses: peter-evans/create-or-update-comment@v2 22 | with: 23 | comment-id: ${{ github.event.comment.id }} 24 | body: | 25 | > ${{ steps.deliver.outputs.error-message }} 26 | -------------------------------------------------------------------------------- /.github/workflows/scala-steward.yaml: -------------------------------------------------------------------------------- 1 | on: 2 | workflow_dispatch: 3 | schedule: 4 | - cron: '0 0 * * *' 5 | 6 | name: Scala Steward 7 | 8 | jobs: 9 | scala-steward: 10 | runs-on: [ubuntu-latest] 11 | name: run scala steward 12 | steps: 13 | - uses: actions/checkout@v3 14 | - uses: scala-steward-org/scala-steward-action@v2 15 | with: 16 | github-app-id: ${{ secrets.RAW_STEWARD_APP_ID }} 17 | github-app-installation-id: ${{ secrets.RAW_STEWARD_APP_INSTALLATION_ID }} 18 | github-app-key: ${{ secrets.RAW_STEWARD_APP_PRIVATE_KEY }} 19 | github-app-auth-only: 'true' 20 | repo-config: .scala-steward.conf -------------------------------------------------------------------------------- /.mergify.yml: -------------------------------------------------------------------------------- 1 | pull_request_rules: 2 | - name: Automatic merge for Scala Steward patch updates from com.raw-labs 3 | conditions: 4 | - author=scala-steward 5 | - label=semver-spec-patch 6 | - label=com.raw-labs 7 | - label!=do not merge 8 | actions: 9 | merge: 10 | method: squash 11 | -------------------------------------------------------------------------------- /.sbtopts: -------------------------------------------------------------------------------- 1 | -J-Xmx4G 2 | -J-XX:+UseG1GC 3 | -J--add-opens=java.base/java.lang=ALL-UNNAMED 4 | -J--add-opens=java.base/java.util=ALL-UNNAMED 5 | -J-XX:+CrashOnOutOfMemoryError 6 | -------------------------------------------------------------------------------- /.scala-steward.conf: -------------------------------------------------------------------------------- 1 | updates.allow = [ 2 | { 3 | groupId = "com.raw-labs" 4 | } 5 | ] 6 | 7 | pullRequests.customLabels = [ "dependencies"] 8 | 9 | pullRequests.grouping = [ 10 | { name = "patches", "title" = "chore(deps): patch update", "filter" = [{"version" = "patch"}] }, 11 | { name = "minor", "title" = "chore(deps): minor update", "filter" = [{"version" = "minor"}] }, 12 | { name = "major", "title" = "chore(deps): major update", "filter" = [{"version" = "major"}] } 13 | ] 14 | 15 | assignees = ["datYori"] 16 | -------------------------------------------------------------------------------- /.sdkmanrc: -------------------------------------------------------------------------------- 1 | # Enable auto-env through the sdkman_auto_env config 2 | # Add key=value pairs of SDKs to use below 3 | java=21.0.1-graalce 4 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Source code in this repository is variously licensed under the Business Source License 1.1 (BSL) and the Apache 2.0 license. 2 | A copy of each license can be found in the licenses directory. 3 | Source code in a given file is licensed under the BSL and the copyright belongs to RAW Labs S.A. unless otherwise noted at the beginning of the file. 4 | -------------------------------------------------------------------------------- /fast-rebuild.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash -e 2 | SCRIPT_HOME="$(cd "$(dirname "$0")"; pwd)" 3 | 4 | # Check if GITHUB_TOKEN is set 5 | if [ -z "${GITHUB_TOKEN}" ]; then 6 | echo -e "\033[33mWARNING: GITHUB_TOKEN is not set. If you don't have local custom deps this build will fail\033[0m" 7 | read -p "Do you want to continue? (y/n): " choice 8 | case "$choice" in 9 | y|Y ) echo "Continuing...";; 10 | n|N ) echo "Exiting..."; exit 1;; 11 | * ) echo "Invalid input. Exiting..."; exit 1;; 12 | esac 13 | fi 14 | 15 | find . -type d -name "target" -exec rm -r {} \; || true 16 | 17 | export COURSIER_PROGRESS=false 18 | [ "$CI" == "true" ] && { export HOME=/home/sbtuser; } 19 | . ~/.sdkman/bin/sdkman-init.sh 20 | 21 | yes n | sdk install java 21.0.1-graalce || true 22 | sdk use java 21.0.1-graalce 23 | 24 | cd "${SCRIPT_HOME}" 25 | sbt clean compile 26 | -------------------------------------------------------------------------------- /launcher/run.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | mvn clean compile package exec:java 3 | -------------------------------------------------------------------------------- /launcher/src/main/java/module-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2023 RAW Labs S.A. 3 | * 4 | * Use of this software is governed by the Business Source License 5 | * included in the file licenses/BSL.txt. 6 | * 7 | * As of the Change Date specified in that file, in accordance with 8 | * the Business Source License, use of this software will be governed 9 | * by the Apache License, Version 2.0, included in the file 10 | * licenses/APL.txt. 11 | */ 12 | 13 | module raw.cli { 14 | requires org.graalvm.polyglot; 15 | requires raw.compiler; 16 | requires raw.utils.core; 17 | requires typesafe.config; 18 | requires scala.library; 19 | requires org.slf4j; 20 | requires org.jline.terminal; 21 | requires org.jline.reader; 22 | // requires raw.creds.api; 23 | // requires raw.utils.core; 24 | // requires scala.library; 25 | // requires com.typesafe.scalalogging_2.12; 26 | exports raw.cli; 27 | } -------------------------------------------------------------------------------- /launcher/src/main/resources/logback.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | %d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /launcher/src/main/resources/reference.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raw-labs/snapi/514c9fce99d3a343b4b0dc8afb7a49d4331ae654/launcher/src/main/resources/reference.conf -------------------------------------------------------------------------------- /project/build.properties: -------------------------------------------------------------------------------- 1 | sbt.version=1.9.6 2 | -------------------------------------------------------------------------------- /project/plugins.sbt: -------------------------------------------------------------------------------- 1 | resolvers += Classpaths.sbtPluginReleases 2 | 3 | autoCompilerPlugins := true 4 | 5 | addDependencyTreePlugin 6 | 7 | addSbtPlugin("org.scalameta" % "sbt-scalafmt" % "2.5.2") 8 | 9 | addSbtPlugin("nl.gn0s1s" % "sbt-dotenv" % "3.0.0") 10 | 11 | addSbtPlugin("de.heikoseeberger" % "sbt-header" % "5.10.0") 12 | 13 | addSbtPlugin("com.eed3si9n" % "sbt-assembly" % "2.1.3") 14 | 15 | addSbtPlugin("com.github.sbt" % "sbt-ci-release" % "1.5.12") 16 | 17 | addSbtPlugin("com.github.sbt" % "sbt-dynver" % "5.0.1") 18 | 19 | libraryDependencies += "commons-io" % "commons-io" % "2.11.0" 20 | 21 | addSbtPlugin("com.lightbend.sbt" % "sbt-java-formatter" % "0.8.0") 22 | 23 | addSbtPlugin("com.github.sbt" % "sbt-protobuf" % "0.8.0") 24 | 25 | resolvers += "RAW Labs GitHub Packages" at "https://maven.pkg.github.com/raw-labs/sbt-module-patcher" 26 | 27 | ThisBuild / credentials += Credentials( 28 | "GitHub Package Registry", 29 | "maven.pkg.github.com", 30 | "raw-labs", 31 | sys.env.getOrElse("GITHUB_TOKEN", "") 32 | ) 33 | 34 | addSbtPlugin("com.raw-labs" % "sbt-module-patcher" % "0.1.2") 35 | -------------------------------------------------------------------------------- /publishLocal.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash -e 2 | SCRIPT_HOME="$(cd "$(dirname "$0")"; pwd)" 3 | 4 | find . -type d -name "target" -exec rm -r {} \; || true 5 | 6 | cd "${SCRIPT_HOME}/deps" 7 | ./build.sh 8 | 9 | cd "${SCRIPT_HOME}" 10 | 11 | export COURSIER_PROGRESS=false 12 | [ "$CI" == "true" ] && { export HOME=/home/sbtuser; } 13 | . ~/.sdkman/bin/sdkman-init.sh 14 | 15 | yes n | sdk install java 21.0.1-graalce || true 16 | sdk use java 21.0.1-graalce 17 | 18 | sbt clean publishLocal 19 | -------------------------------------------------------------------------------- /rebuild.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash -e 2 | SCRIPT_HOME="$(cd "$(dirname "$0")"; pwd)" 3 | 4 | find . -type d -name "target" -exec rm -r {} \; || true 5 | 6 | cd "${SCRIPT_HOME}/deps" 7 | ./build.sh 8 | 9 | export COURSIER_PROGRESS=false 10 | [ "$CI" == "true" ] && { export HOME=/home/sbtuser; } 11 | . ~/.sdkman/bin/sdkman-init.sh 12 | 13 | yes n | sdk install java 21.0.1-graalce || true 14 | sdk use java 21.0.1-graalce 15 | 16 | cd "${SCRIPT_HOME}" 17 | sbt clean compile 18 | -------------------------------------------------------------------------------- /snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/api/Entrypoint.scala: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2023 RAW Labs S.A. 3 | * 4 | * Use of this software is governed by the Business Source License 5 | * included in the file licenses/BSL.txt. 6 | * 7 | * As of the Change Date specified in that file, in accordance with 8 | * the Business Source License, use of this software will be governed 9 | * by the Apache License, Version 2.0, included in the file 10 | * licenses/APL.txt. 11 | */ 12 | 13 | package com.rawlabs.snapi.frontend.api 14 | 15 | // TODO (msb): Add methods for execution so that same interface is respected by all. 16 | trait Entrypoint { 17 | def target: Any 18 | } 19 | -------------------------------------------------------------------------------- /snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/base/CompilerContext.scala: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2023 RAW Labs S.A. 3 | * 4 | * Use of this software is governed by the Business Source License 5 | * included in the file licenses/BSL.txt. 6 | * 7 | * As of the Change Date specified in that file, in accordance with 8 | * the Business Source License, use of this software will be governed 9 | * by the Apache License, Version 2.0, included in the file 10 | * licenses/APL.txt. 11 | */ 12 | 13 | package com.rawlabs.snapi.frontend.base 14 | 15 | import com.rawlabs.utils.core.{RawSettings, RawUid} 16 | import com.rawlabs.snapi.frontend.inferrer.api.{InferrerInput, InferrerOutput, InferrerService} 17 | 18 | /** 19 | * Contains state that is shared between different programs. 20 | */ 21 | class CompilerContext(val user: RawUid, val inferrer: InferrerService)( 22 | implicit val settings: RawSettings 23 | ) extends { 24 | 25 | def infer(inferrerInput: InferrerInput): Either[String, InferrerOutput] = { 26 | inferrer.inferWithCache(inferrerInput) 27 | } 28 | 29 | } 30 | -------------------------------------------------------------------------------- /snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/base/Keywords.scala: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2023 RAW Labs S.A. 3 | * 4 | * Use of this software is governed by the Business Source License 5 | * included in the file licenses/BSL.txt. 6 | * 7 | * As of the Change Date specified in that file, in accordance with 8 | * the Business Source License, use of this software will be governed 9 | * by the Apache License, Version 2.0, included in the file 10 | * licenses/APL.txt. 11 | */ 12 | 13 | package com.rawlabs.snapi.frontend.base 14 | 15 | trait Keywords { 16 | 17 | def isReserved(idn: String): Boolean = false 18 | 19 | def isReservedType(idn: String): Boolean = false 20 | 21 | } 22 | -------------------------------------------------------------------------------- /snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/base/ProgramContext.scala: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2023 RAW Labs S.A. 3 | * 4 | * Use of this software is governed by the Business Source License 5 | * included in the file licenses/BSL.txt. 6 | * 7 | * As of the Change Date specified in that file, in accordance with 8 | * the Business Source License, use of this software will be governed 9 | * by the Apache License, Version 2.0, included in the file 10 | * licenses/APL.txt. 11 | */ 12 | 13 | package com.rawlabs.snapi.frontend.base 14 | 15 | import com.rawlabs.snapi.frontend.api.ProgramEnvironment 16 | import com.rawlabs.utils.core.RawSettings 17 | 18 | /** 19 | * Contains state that is shared between compilation phases of a single program. 20 | */ 21 | trait ProgramContext { 22 | 23 | def programEnvironment: ProgramEnvironment 24 | 25 | def compilerContext: CompilerContext 26 | 27 | def settings: RawSettings = compilerContext.settings 28 | 29 | } 30 | -------------------------------------------------------------------------------- /snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/base/SymbolTable.scala: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2023 RAW Labs S.A. 3 | * 4 | * Use of this software is governed by the Business Source License 5 | * included in the file licenses/BSL.txt. 6 | * 7 | * As of the Change Date specified in that file, in accordance with 8 | * the Business Source License, use of this software will be governed 9 | * by the Apache License, Version 2.0, included in the file 10 | * licenses/APL.txt. 11 | */ 12 | 13 | package com.rawlabs.snapi.frontend.base 14 | 15 | import com.typesafe.scalalogging.StrictLogging 16 | import org.bitbucket.inkytonik.kiama.util.Entity 17 | 18 | // TODO (msb): Is keeping track of entities useful in practice, or just drop and rely on the simpler Kiama version? 19 | final class MultipleEntity(val entities: Vector[Entity]) extends Entity 20 | 21 | trait SymbolTable extends StrictLogging 22 | 23 | final case class UnknownEntity() extends Entity 24 | -------------------------------------------------------------------------------- /snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/base/TreeDescription.scala: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2023 RAW Labs S.A. 3 | * 4 | * Use of this software is governed by the Business Source License 5 | * included in the file licenses/BSL.txt. 6 | * 7 | * As of the Change Date specified in that file, in accordance with 8 | * the Business Source License, use of this software will be governed 9 | * by the Apache License, Version 2.0, included in the file 10 | * licenses/APL.txt. 11 | */ 12 | 13 | package com.rawlabs.snapi.frontend.base 14 | 15 | import com.rawlabs.snapi.frontend.base.source.Type 16 | 17 | final case class TreeDescription( 18 | expDecls: Map[String, List[TreeDeclDescription]], 19 | maybeType: Option[Type], 20 | comment: Option[String] 21 | ) 22 | 23 | final case class TreeDeclDescription( 24 | params: Option[Vector[TreeParamDescription]], 25 | outType: Type, 26 | comment: Option[String] 27 | ) 28 | 29 | final case class TreeParamDescription(idn: String, tipe: Type, required: Boolean) 30 | -------------------------------------------------------------------------------- /snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/inferrer/api/InferrerException.scala: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2023 RAW Labs S.A. 3 | * 4 | * Use of this software is governed by the Business Source License 5 | * included in the file licenses/BSL.txt. 6 | * 7 | * As of the Change Date specified in that file, in accordance with 8 | * the Business Source License, use of this software will be governed 9 | * by the Apache License, Version 2.0, included in the file 10 | * licenses/APL.txt. 11 | */ 12 | 13 | package com.rawlabs.snapi.frontend.inferrer.api 14 | 15 | import com.rawlabs.utils.core.RawServiceException 16 | 17 | class InferrerException(message: String, cause: Throwable = null) 18 | extends RawServiceException(s"inference error: $message", cause) 19 | -------------------------------------------------------------------------------- /snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/inferrer/local/LocalInferrerException.scala: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2023 RAW Labs S.A. 3 | * 4 | * Use of this software is governed by the Business Source License 5 | * included in the file licenses/BSL.txt. 6 | * 7 | * As of the Change Date specified in that file, in accordance with 8 | * the Business Source License, use of this software will be governed 9 | * by the Apache License, Version 2.0, included in the file 10 | * licenses/APL.txt. 11 | */ 12 | 13 | package com.rawlabs.snapi.frontend.inferrer.local 14 | 15 | import com.rawlabs.snapi.frontend.inferrer.api.InferrerException 16 | 17 | class LocalInferrerException(message: String, cause: Throwable = null) extends InferrerException(message, cause) 18 | -------------------------------------------------------------------------------- /snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/inferrer/local/text/TextLineIterator.scala: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2023 RAW Labs S.A. 3 | * 4 | * Use of this software is governed by the Business Source License 5 | * included in the file licenses/BSL.txt. 6 | * 7 | * As of the Change Date specified in that file, in accordance with 8 | * the Business Source License, use of this software will be governed 9 | * by the Apache License, Version 2.0, included in the file 10 | * licenses/APL.txt. 11 | */ 12 | 13 | package com.rawlabs.snapi.frontend.inferrer.local.text 14 | 15 | import java.io.Reader 16 | 17 | import org.apache.commons.io.LineIterator 18 | 19 | private[inferrer] class TextLineIterator(reader: Reader) extends LineIterator(reader) with Iterator[String] 20 | -------------------------------------------------------------------------------- /snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/antlr4/ParserErrors.scala: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2023 RAW Labs S.A. 3 | * 4 | * Use of this software is governed by the Business Source License 5 | * included in the file licenses/BSL.txt. 6 | * 7 | * As of the Change Date specified in that file, in accordance with 8 | * the Business Source License, use of this software will be governed 9 | * by the Apache License, Version 2.0, included in the file 10 | * licenses/APL.txt. 11 | */ 12 | 13 | package com.rawlabs.snapi.frontend.snapi.antlr4 14 | 15 | object ParserErrors { 16 | val ParserErrorCode = "parserError" 17 | } 18 | -------------------------------------------------------------------------------- /snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/antlr4/SnapiVisitorParseErrors.scala: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2023 RAW Labs S.A. 3 | * 4 | * Use of this software is governed by the Business Source License 5 | * included in the file licenses/BSL.txt. 6 | * 7 | * As of the Change Date specified in that file, in accordance with 8 | * the Business Source License, use of this software will be governed 9 | * by the Apache License, Version 2.0, included in the file 10 | * licenses/APL.txt. 11 | */ 12 | 13 | package com.rawlabs.snapi.frontend.snapi.antlr4 14 | 15 | import com.rawlabs.snapi.frontend.api.Message 16 | 17 | import scala.collection.mutable 18 | 19 | class SnapiVisitorParseErrors { 20 | 21 | private val errors = new mutable.ListBuffer[Message] 22 | 23 | def addError(error: Message): Unit = errors.append(error) 24 | 25 | def getErrors: List[Message] = errors.to 26 | } 27 | -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/authors-non-ascii-chars.hjson: -------------------------------------------------------------------------------- 1 | {"name": "João", "title": "PhD", "वर्ष": 1972} 2 | {"name": "Xiǎo", "title": "assistant professor", "वर्ष": 1960} 3 | {"name": "大柱", "title": "PhD", "वर्ष": 1992} 4 | -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/badfile.json: -------------------------------------------------------------------------------- 1 | { foobar -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/charsets/airports.iso-8859-1.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raw-labs/snapi/514c9fce99d3a343b4b0dc8afb7a49d4331ae654/snapi-frontend/src/test/resources/data/charsets/airports.iso-8859-1.csv -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/charsets/airports.utf-16be.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raw-labs/snapi/514c9fce99d3a343b4b0dc8afb7a49d4331ae654/snapi-frontend/src/test/resources/data/charsets/airports.utf-16be.csv -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/charsets/airports.utf-16le.bom.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raw-labs/snapi/514c9fce99d3a343b4b0dc8afb7a49d4331ae654/snapi-frontend/src/test/resources/data/charsets/airports.utf-16le.bom.csv -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/charsets/airports.utf-16le.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raw-labs/snapi/514c9fce99d3a343b4b0dc8afb7a49d4331ae654/snapi-frontend/src/test/resources/data/charsets/airports.utf-16le.csv -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/charsets/authors.iso-8859-1.hjson: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raw-labs/snapi/514c9fce99d3a343b4b0dc8afb7a49d4331ae654/snapi-frontend/src/test/resources/data/charsets/authors.iso-8859-1.hjson -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/charsets/authors.iso-8859-1.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raw-labs/snapi/514c9fce99d3a343b4b0dc8afb7a49d4331ae654/snapi-frontend/src/test/resources/data/charsets/authors.iso-8859-1.json -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/charsets/authors.utf-16be.hjson: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raw-labs/snapi/514c9fce99d3a343b4b0dc8afb7a49d4331ae654/snapi-frontend/src/test/resources/data/charsets/authors.utf-16be.hjson -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/charsets/authors.utf-16be.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raw-labs/snapi/514c9fce99d3a343b4b0dc8afb7a49d4331ae654/snapi-frontend/src/test/resources/data/charsets/authors.utf-16be.json -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/charsets/authors.utf-16le.bom.hjson: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raw-labs/snapi/514c9fce99d3a343b4b0dc8afb7a49d4331ae654/snapi-frontend/src/test/resources/data/charsets/authors.utf-16le.bom.hjson -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/charsets/authors.utf-16le.bom.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raw-labs/snapi/514c9fce99d3a343b4b0dc8afb7a49d4331ae654/snapi-frontend/src/test/resources/data/charsets/authors.utf-16le.bom.json -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/charsets/authors.utf-16le.hjson: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raw-labs/snapi/514c9fce99d3a343b4b0dc8afb7a49d4331ae654/snapi-frontend/src/test/resources/data/charsets/authors.utf-16le.hjson -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/charsets/authors.utf-16le.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raw-labs/snapi/514c9fce99d3a343b4b0dc8afb7a49d4331ae654/snapi-frontend/src/test/resources/data/charsets/authors.utf-16le.json -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/charsets/authors.utf-8.bom.hjson: -------------------------------------------------------------------------------- 1 | {"name": "Das, A.", "title": "assistant professor", "year": 1981} 2 | {"name": "Sarigiannidou, E.", "title": "PhD", "year": 1975} 3 | {"name": "Monroy, E.", "title": "PhD", "year": 1969} 4 | {"name": "Vey, J.-L.", "title": "professor", "year": 1969} 5 | {"name": "Gallion, P.", "title": "engineer", "year": 1961} 6 | {"name": "Khurgin, J.", "title": "PhD", "year": 1986} 7 | {"name": "Natarajan, B.R.", "title": "professor", "year": 1964} 8 | {"name": "Murdock, E.S.", "title": "assistant professor", "year": 1989} 9 | {"name": "Tian, Ying", "title": "professor", "year": 1984} 10 | {"name": "Xu, Rongrong", "title": "engineer", "year": 1951} 11 | {"name": "Hu, Lili", "title": "PhD", "year": 1981} 12 | {"name": "Zhang, Junjie", "title": "assistant professor", "year": 1977} 13 | {"name": "Laëtitia", "title": "maçon", "year": 1978} 14 | -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/charsets/authors.utf-8.bom.json: -------------------------------------------------------------------------------- 1 | [ 2 | {"name": "Das, A.", "title": "assistant professor", "year": 1981}, 3 | {"name": "Sarigiannidou, E.", "title": "PhD", "year": 1975}, 4 | {"name": "Monroy, E.", "title": "PhD", "year": 1969}, 5 | {"name": "Vey, J.-L.", "title": "professor", "year": 1969}, 6 | {"name": "Gallion, P.", "title": "engineer", "year": 1961}, 7 | {"name": "Khurgin, J.", "title": "PhD", "year": 1986}, 8 | {"name": "Natarajan, B.R.", "title": "professor", "year": 1964}, 9 | {"name": "Murdock, E.S.", "title": "assistant professor", "year": 1989}, 10 | {"name": "Tian, Ying", "title": "professor", "year": 1984}, 11 | {"name": "Xu, Rongrong", "title": "engineer", "year": 1951}, 12 | {"name": "Hu, Lili", "title": "PhD", "year": 1981}, 13 | {"name": "Zhang, Junjie", "title": "assistant professor", "year": 1977}, 14 | {"name": "Laëtitia", "title": "maçon", "year": 1978} 15 | ] 16 | -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/charsets/authors.utf-8.hjson: -------------------------------------------------------------------------------- 1 | {"name": "Das, A.", "title": "assistant professor", "year": 1981} 2 | {"name": "Sarigiannidou, E.", "title": "PhD", "year": 1975} 3 | {"name": "Monroy, E.", "title": "PhD", "year": 1969} 4 | {"name": "Vey, J.-L.", "title": "professor", "year": 1969} 5 | {"name": "Gallion, P.", "title": "engineer", "year": 1961} 6 | {"name": "Khurgin, J.", "title": "PhD", "year": 1986} 7 | {"name": "Natarajan, B.R.", "title": "professor", "year": 1964} 8 | {"name": "Murdock, E.S.", "title": "assistant professor", "year": 1989} 9 | {"name": "Tian, Ying", "title": "professor", "year": 1984} 10 | {"name": "Xu, Rongrong", "title": "engineer", "year": 1951} 11 | {"name": "Hu, Lili", "title": "PhD", "year": 1981} 12 | {"name": "Zhang, Junjie", "title": "assistant professor", "year": 1977} 13 | {"name": "Laëtitia", "title": "maçon", "year": 1978} 14 | -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/charsets/authors.utf-8.json: -------------------------------------------------------------------------------- 1 | [ 2 | {"name": "Das, A.", "title": "assistant professor", "year": 1981}, 3 | {"name": "Sarigiannidou, E.", "title": "PhD", "year": 1975}, 4 | {"name": "Monroy, E.", "title": "PhD", "year": 1969}, 5 | {"name": "Vey, J.-L.", "title": "professor", "year": 1969}, 6 | {"name": "Gallion, P.", "title": "engineer", "year": 1961}, 7 | {"name": "Khurgin, J.", "title": "PhD", "year": 1986}, 8 | {"name": "Natarajan, B.R.", "title": "professor", "year": 1964}, 9 | {"name": "Murdock, E.S.", "title": "assistant professor", "year": 1989}, 10 | {"name": "Tian, Ying", "title": "professor", "year": 1984}, 11 | {"name": "Xu, Rongrong", "title": "engineer", "year": 1951}, 12 | {"name": "Hu, Lili", "title": "PhD", "year": 1981}, 13 | {"name": "Zhang, Junjie", "title": "assistant professor", "year": 1977}, 14 | {"name": "Laëtitia", "title": "maçon", "year": 1978} 15 | ] 16 | -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/charsets/primitives.iso-8859-1.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raw-labs/snapi/514c9fce99d3a343b4b0dc8afb7a49d4331ae654/snapi-frontend/src/test/resources/data/charsets/primitives.iso-8859-1.xml -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/charsets/primitives.utf-16be.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raw-labs/snapi/514c9fce99d3a343b4b0dc8afb7a49d4331ae654/snapi-frontend/src/test/resources/data/charsets/primitives.utf-16be.xml -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/charsets/primitives.utf-16le.bom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raw-labs/snapi/514c9fce99d3a343b4b0dc8afb7a49d4331ae654/snapi-frontend/src/test/resources/data/charsets/primitives.utf-16le.bom.xml -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/charsets/primitives.utf-16le.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raw-labs/snapi/514c9fce99d3a343b4b0dc8afb7a49d4331ae654/snapi-frontend/src/test/resources/data/charsets/primitives.utf-16le.xml -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/charsets/primitives.utf-8.bom.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | <_string>A<_int>1<_double>1.23<_long>100000000000000001 4 | 5 | 6 | <_string>B<_int>2<_double>2.23<_long>100000000000000002 7 | 8 | 9 | <_string>Ç<_int>3<_double>3.23<_long>100000000000000003 10 | 11 | 12 | <_string>D<_int>4<_double>4.23<_long>100000000000000004 13 | 14 | 15 | -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/charsets/primitives.utf-8.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | <_string>A<_int>1<_double>1.23<_long>100000000000000001 4 | 5 | 6 | <_string>B<_int>2<_double>2.23<_long>100000000000000002 7 | 8 | 9 | <_string>Ç<_int>3<_double>3.23<_long>100000000000000003 10 | 11 | 12 | <_string>D<_int>4<_double>4.23<_long>100000000000000004 13 | 14 | 15 | -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/csv-folder/primitives1.csv: -------------------------------------------------------------------------------- 1 | _boolean,_double,_float,_int,_long 2 | false,0.30040139245970876,0.21814853,-1175108246,2185998515374614196 3 | true,0.9499795140067803,0.9865254,860572637,7235101523415142421 4 | true,0.6022163383221257,0.7317963,76098672,592647335779549848 -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/csv-folder/primitives2.csv: -------------------------------------------------------------------------------- 1 | _boolean,_double,_float,_int,_long 2 | false,0.8835360698033529,0.8908133,1550778795,-2792302407701020520 3 | true,0.03940839177200928,0.06433207,-1860186664,5858158621380097376 4 | false,0.6732704700853928,0.15514308,1981461360,2289915890380317715 -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/csv-folder/primitives3.csv: -------------------------------------------------------------------------------- 1 | _boolean,_double,_float,_int,_long 2 | true,0.810930004893755,0.7378955,-1208668553,7885342881346593572 3 | true,0.3331033319305369,0.120393574,927889789,5721818031207230199 4 | -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/departments.csv: -------------------------------------------------------------------------------- 1 | dep1,Computer Architecture,Prof1 2 | dep2,Networking,Prof2 3 | dep3,Artificial Intelligence,Prof3 4 | -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/excel/excel-bug.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raw-labs/snapi/514c9fce99d3a343b4b0dc8afb7a49d4331ae654/snapi-frontend/src/test/resources/data/excel/excel-bug.xlsx -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/excel/excel-folder/people1.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raw-labs/snapi/514c9fce99d3a343b4b0dc8afb7a49d4331ae654/snapi-frontend/src/test/resources/data/excel/excel-folder/people1.xlsx -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/excel/excel-folder/people2.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raw-labs/snapi/514c9fce99d3a343b4b0dc8afb7a49d4331ae654/snapi-frontend/src/test/resources/data/excel/excel-folder/people2.xlsx -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/excel/excel-folder/people3.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raw-labs/snapi/514c9fce99d3a343b4b0dc8afb7a49d4331ae654/snapi-frontend/src/test/resources/data/excel/excel-folder/people3.xlsx -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/excel/people.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raw-labs/snapi/514c9fce99d3a343b4b0dc8afb7a49d4331ae654/snapi-frontend/src/test/resources/data/excel/people.xlsx -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/httplogs/NASA_access_log_Aug95_small: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raw-labs/snapi/514c9fce99d3a343b4b0dc8afb7a49d4331ae654/snapi-frontend/src/test/resources/data/httplogs/NASA_access_log_Aug95_small -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/hwpoc/people.hjson: -------------------------------------------------------------------------------- 1 | {"name":"Michael"} 2 | {"name":"Andy", "age":30} 3 | {"name":"Justin", "age":19} 4 | -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/int_then_long.hjson: -------------------------------------------------------------------------------- 1 | {"numbers": 1, "strings": "int"} 2 | {"numbers": 12345678901, "strings": "long"} -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/ints_as_fields.json: -------------------------------------------------------------------------------- 1 | [ 2 | {"1960":"john", "x": 1}, 3 | {"1960":"mary", "x": 2} 4 | ] -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/jiraIssues/issues-100.json: -------------------------------------------------------------------------------- 1 | { 2 | "startAt": 0, 3 | "maxResults": 50, 4 | "total": 67, 5 | "issues": [] 6 | } 7 | -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/jsonObjFolder/student1.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "John", 3 | "age": 18, 4 | "scores": [ 5 | {"course": "math", "score": 12.3}, 6 | {"course": "english", "score": 14.1}, 7 | {"course": "geography", "score": 13.7} 8 | ] 9 | } -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/jsonObjFolder/student2.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Bob", 3 | "age": 22, 4 | "scores": [ 5 | {"course": "math", "score": 10.3}, 6 | {"course": "english", "score": 17.1}, 7 | {"course": "geography", "score": 15.7} 8 | ] 9 | } -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/jsonObjFolder/student3.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Jane", 3 | "age": 17, 4 | "scores": [ 5 | {"course": "math", "score": 16.3}, 6 | {"course": "english", "score": 9.1}, 7 | {"course": "geography", "score": 11.7} 8 | ] 9 | } -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/lineitem.avro/._SUCCESS.crc: -------------------------------------------------------------------------------- 1 | crc -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/lineitem.avro/.part-00000-0e8d8118-0253-40bb-974f-046ebc59e65d-c000.avro.crc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raw-labs/snapi/514c9fce99d3a343b4b0dc8afb7a49d4331ae654/snapi-frontend/src/test/resources/data/lineitem.avro/.part-00000-0e8d8118-0253-40bb-974f-046ebc59e65d-c000.avro.crc -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/lineitem.avro/_SUCCESS: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raw-labs/snapi/514c9fce99d3a343b4b0dc8afb7a49d4331ae654/snapi-frontend/src/test/resources/data/lineitem.avro/_SUCCESS -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/lineitem.avro/part-00000-0e8d8118-0253-40bb-974f-046ebc59e65d-c000.avro: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raw-labs/snapi/514c9fce99d3a343b4b0dc8afb7a49d4331ae654/snapi-frontend/src/test/resources/data/lineitem.avro/part-00000-0e8d8118-0253-40bb-974f-046ebc59e65d-c000.avro -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/lineitem.orc/._SUCCESS.crc: -------------------------------------------------------------------------------- 1 | crc -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/lineitem.orc/.part-00000-61280dbd-d47e-47b9-9700-c84134a05f5a-c000.snappy.orc.crc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raw-labs/snapi/514c9fce99d3a343b4b0dc8afb7a49d4331ae654/snapi-frontend/src/test/resources/data/lineitem.orc/.part-00000-61280dbd-d47e-47b9-9700-c84134a05f5a-c000.snappy.orc.crc -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/lineitem.orc/_SUCCESS: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raw-labs/snapi/514c9fce99d3a343b4b0dc8afb7a49d4331ae654/snapi-frontend/src/test/resources/data/lineitem.orc/_SUCCESS -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/lineitem.orc/part-00000-61280dbd-d47e-47b9-9700-c84134a05f5a-c000.snappy.orc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raw-labs/snapi/514c9fce99d3a343b4b0dc8afb7a49d4331ae654/snapi-frontend/src/test/resources/data/lineitem.orc/part-00000-61280dbd-d47e-47b9-9700-c84134a05f5a-c000.snappy.orc -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/lineitem.parquet/._SUCCESS.crc: -------------------------------------------------------------------------------- 1 | crc -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/lineitem.parquet/.part-00000-f347740c-02a4-47cd-a1a7-4b9db277fb50-c000.snappy.parquet.crc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raw-labs/snapi/514c9fce99d3a343b4b0dc8afb7a49d4331ae654/snapi-frontend/src/test/resources/data/lineitem.parquet/.part-00000-f347740c-02a4-47cd-a1a7-4b9db277fb50-c000.snappy.parquet.crc -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/lineitem.parquet/_SUCCESS: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raw-labs/snapi/514c9fce99d3a343b4b0dc8afb7a49d4331ae654/snapi-frontend/src/test/resources/data/lineitem.parquet/_SUCCESS -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/lineitem.parquet/part-00000-f347740c-02a4-47cd-a1a7-4b9db277fb50-c000.snappy.parquet: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raw-labs/snapi/514c9fce99d3a343b4b0dc8afb7a49d4331ae654/snapi-frontend/src/test/resources/data/lineitem.parquet/part-00000-f347740c-02a4-47cd-a1a7-4b9db277fb50-c000.snappy.parquet -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/many_types.avro/._SUCCESS.crc: -------------------------------------------------------------------------------- 1 | crc -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/many_types.avro/.part-00000-6b57cbb6-b0b2-4e73-b060-11a73c8ea3b5-c000.avro.crc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raw-labs/snapi/514c9fce99d3a343b4b0dc8afb7a49d4331ae654/snapi-frontend/src/test/resources/data/many_types.avro/.part-00000-6b57cbb6-b0b2-4e73-b060-11a73c8ea3b5-c000.avro.crc -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/many_types.avro/_SUCCESS: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raw-labs/snapi/514c9fce99d3a343b4b0dc8afb7a49d4331ae654/snapi-frontend/src/test/resources/data/many_types.avro/_SUCCESS -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/many_types.avro/part-00000-6b57cbb6-b0b2-4e73-b060-11a73c8ea3b5-c000.avro: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raw-labs/snapi/514c9fce99d3a343b4b0dc8afb7a49d4331ae654/snapi-frontend/src/test/resources/data/many_types.avro/part-00000-6b57cbb6-b0b2-4e73-b060-11a73c8ea3b5-c000.avro -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/many_types.orc/._SUCCESS.crc: -------------------------------------------------------------------------------- 1 | crc -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/many_types.orc/.part-00000-056c06b7-4ed2-4ad5-ac7e-ace570e03bf1-c000.snappy.orc.crc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raw-labs/snapi/514c9fce99d3a343b4b0dc8afb7a49d4331ae654/snapi-frontend/src/test/resources/data/many_types.orc/.part-00000-056c06b7-4ed2-4ad5-ac7e-ace570e03bf1-c000.snappy.orc.crc -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/many_types.orc/_SUCCESS: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raw-labs/snapi/514c9fce99d3a343b4b0dc8afb7a49d4331ae654/snapi-frontend/src/test/resources/data/many_types.orc/_SUCCESS -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/many_types.orc/part-00000-056c06b7-4ed2-4ad5-ac7e-ace570e03bf1-c000.snappy.orc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raw-labs/snapi/514c9fce99d3a343b4b0dc8afb7a49d4331ae654/snapi-frontend/src/test/resources/data/many_types.orc/part-00000-056c06b7-4ed2-4ad5-ac7e-ace570e03bf1-c000.snappy.orc -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/many_types.parquet/._SUCCESS.crc: -------------------------------------------------------------------------------- 1 | crc -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/many_types.parquet/.part-00000-9f1062e8-178e-4387-9130-016b92afee9f-c000.snappy.parquet.crc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raw-labs/snapi/514c9fce99d3a343b4b0dc8afb7a49d4331ae654/snapi-frontend/src/test/resources/data/many_types.parquet/.part-00000-9f1062e8-178e-4387-9130-016b92afee9f-c000.snappy.parquet.crc -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/many_types.parquet/_SUCCESS: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raw-labs/snapi/514c9fce99d3a343b4b0dc8afb7a49d4331ae654/snapi-frontend/src/test/resources/data/many_types.parquet/_SUCCESS -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/many_types.parquet/part-00000-9f1062e8-178e-4387-9130-016b92afee9f-c000.snappy.parquet: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raw-labs/snapi/514c9fce99d3a343b4b0dc8afb7a49d4331ae654/snapi-frontend/src/test/resources/data/many_types.parquet/part-00000-9f1062e8-178e-4387-9130-016b92afee9f-c000.snappy.parquet -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/mixed-formats/people.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raw-labs/snapi/514c9fce99d3a343b4b0dc8afb7a49d4331ae654/snapi-frontend/src/test/resources/data/mixed-formats/people.xlsx -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/mixed-formats/primitives1.csv: -------------------------------------------------------------------------------- 1 | _boolean,_double,_float,_int,_long 2 | false,0.30040139245970876,0.21814853,-1175108246,2185998515374614196 3 | true,0.9499795140067803,0.9865254,860572637,7235101523415142421 4 | true,0.6022163383221257,0.7317963,76098672,592647335779549848 -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/mixed-formats/student1.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "John", 3 | "age": 18, 4 | "scores": [ 5 | {"course": "math", "score": 12.3}, 6 | {"course": "english", "score": 14.1}, 7 | {"course": "geography", "score": 13.7} 8 | ] 9 | } -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/movies.json: -------------------------------------------------------------------------------- 1 | [ 2 | {"title": "Twelve Monkeys", "year": 1995, "actors": ["Bruce Willis", "Brad Pitt"]}, 3 | {"title": "Die Hard", "year": 1988, "actors": ["Bruce Willis"]}, 4 | {"title": "Seven", "year": 1995, "actors": ["Brad Pitt", "Morgan Freeman", "Kevin Spacey"]} 5 | ] 6 | -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/movies/actors.csv: -------------------------------------------------------------------------------- 1 | Bruce Willis,1955 2 | Brad Pitt,1963 3 | Morgan Freeman,1937 4 | Kevin Spacey,1959 5 | -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/movies/movies.csv: -------------------------------------------------------------------------------- 1 | Twelve Monkeys,1995,Terry Gilliam 2 | Die Hard,1988,John McTiernan 3 | Seven,1995,David Fincher -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/movies/roles.csv: -------------------------------------------------------------------------------- 1 | Bruce Willis,Twelve Monkeys 2 | Brad Pitt,Twelve Monkeys 3 | Bruce Willis,Die Hard 4 | Seven,Brad Pitt 5 | Seven,Morgan Freeman 6 | Seven,Kevin Spacey -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/multi_line.csv: -------------------------------------------------------------------------------- 1 | "a", "b" 2 | "hello", "world" 3 | "multi 4 | line", "world" 5 | "hello", "multi 6 | line" 7 | ,"multi 8 | line" 9 | "multi 10 | line", -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/optional_records.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "id": "0001", 4 | "batter": { 5 | "id": "1001", 6 | "type": "Regular" 7 | } 8 | }, 9 | { 10 | "id": "0002" 11 | } 12 | ] 13 | -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/part-00000-162798bb-c09f-4dd9-a57b-dd8223d1b973-c000: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raw-labs/snapi/514c9fce99d3a343b4b0dc8afb7a49d4331ae654/snapi-frontend/src/test/resources/data/part-00000-162798bb-c09f-4dd9-a57b-dd8223d1b973-c000 -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/primitives-options.csv: -------------------------------------------------------------------------------- 1 | _bool,_int,_long,_float,_double 2 | false,-916703445,,0.78299296, 3 | false,621599975,,0.56651294,0.4013396269205347 4 | false,-41782113,-7739289170621658692,0.58476174,0.41601728189112175 5 | true,-1218563301,,0.7607834,0.4045068578660108 6 | false,373164879,,0.9494315, 7 | true,1611872233,6567238956435559843,0.4843402, 8 | false,543724137,4657306275624660514,0.91050696,0.17981832923808927 9 | false,,,0.9424326,0.23501310825106725 10 | true,296069961,1573736536024017139,0.94782245,0.4662169949600462 11 | ,1595155154,,0.41024005,0.32563916694574346 12 | ,1870422606,,0.16765243,0.8764290266167639 -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/primitives-options.hjson: -------------------------------------------------------------------------------- 1 | {"_bool":false,"_int":-916703445,"_long":null,"_float":0.78299296,"_double":null} 2 | {"_bool":false,"_int":621599975,"_long":null,"_float":0.56651294,"_double":0.4013396269205347} 3 | {"_bool":false,"_int":-41782113,"_long":-7739289170621658692,"_float":0.58476174,"_double":0.41601728189112175} 4 | {"_bool":true,"_int":-1218563301,"_long":null,"_float":0.7607834,"_double":0.4045068578660108} 5 | {"_bool":false,"_int":373164879,"_long":null,"_float":0.9494315,"_double":null} 6 | {"_bool":true,"_int":1611872233,"_long":6567238956435559843,"_float":0.4843402,"_double":null} 7 | {"_bool":false,"_int":543724137,"_long":4657306275624660514,"_float":0.91050696,"_double":0.17981832923808927} 8 | {"_bool":false,"_int":null,"_long":null,"_float":0.9424326,"_double":0.23501310825106725} 9 | {"_bool":true,"_int":296069961,"_long":1573736536024017139,"_float":0.94782245,"_double":0.4662169949600462} 10 | {"_bool":null,"_int":1595155154,"_long":null,"_float":0.41024005,"_double":0.32563916694574346} 11 | {"_bool":null,"_int":1870422606,"_long":null,"_float":0.16765243,"_double":0.8764290266167639} -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/primitives-options.json: -------------------------------------------------------------------------------- 1 | [ 2 | {"_bool":null,"_int":1179037554,"_long":1854535565976222761,"_float":0.5410746,"_double":0.2606104489307627}, 3 | {"_bool":false,"_int":-134973819,"_long":null,"_float":0.96590525,"_double":0.42686725391803193}, 4 | {"_bool":false,"_int":-1352702809,"_long":-2259540757504911566,"_float":null,"_double":0.07067313915919338}, 5 | {"_bool":true,"_int":720850880,"_long":-196991665696185597,"_float":null,"_double":0.21636851257113188}, 6 | {"_bool":true,"_int":null,"_long":-2102867802526765643,"_float":0.22502881,"_double":null}, 7 | {"_bool":true,"_int":null,"_long":null,"_float":0.4871906,"_double":0.4095942276663739}, 8 | {"_bool":false,"_int":-1435093249,"_long":3327387752046534749,"_float":0.5740682,"_double":0.6548682547020868}, 9 | {"_bool":true,"_int":629939083,"_long":3993548753897439267,"_float":0.40202636,"_double":0.7648273831415782}, 10 | {"_bool":null,"_int":982373016,"_long":7460746768104287229,"_float":0.38736022,"_double":0.22829981269480304}, 11 | {"_bool":false,"_int":null,"_long":null,"_float":0.8711406,"_double":null} 12 | ] -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/primitives.csv: -------------------------------------------------------------------------------- 1 | _boolean,_double,_float,_int,_long 2 | false,0.30040139245970876,0.21814853,-1175108246,2185998515374614196 3 | true,0.9499795140067803,0.9865254,860572637,7235101523415142421 4 | true,0.6022163383221257,0.7317963,76098672,592647335779549848 5 | false,0.8835360698033529,0.8908133,1550778795,-2792302407701020520 6 | true,0.03940839177200928,0.06433207,-1860186664,5858158621380097376 7 | false,0.6732704700853928,0.15514308,1981461360,2289915890380317715 8 | true,0.810930004893755,0.7378955,-1208668553,7885342881346593572 9 | true,0.3331033319305369,0.120393574,927889789,5721818031207230199 10 | -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/primitives.json: -------------------------------------------------------------------------------- 1 | [ 2 | {"_boolean":false,"_int":-428468979,"_long":-2617315038535742237,"_float":0.13069534,"_double":0.7580837238685006}, 3 | {"_boolean":false,"_int":-1880593038,"_long":-7165024740171269989,"_float":0.31597447,"_double":0.8161147856044315}, 4 | {"_boolean":true,"_int":-1729178177,"_long":-2332237238028439411,"_float":0.7246254,"_double":0.5652610328945734}, 5 | {"_boolean":true,"_int":1926984177,"_long":-1095133500761548635,"_float":0.47578043,"_double":0.4062804291282569}, 6 | {"_boolean":true,"_int":-1814754597,"_long":9173240582297032199,"_float":0.34315073,"_double":0.3528871739987506}, 7 | {"_boolean":false,"_int":-208118259,"_long":3130182281102027752,"_float":0.87023544,"_double":0.09348932364799234}, 8 | {"_boolean":true,"_int":-203901558,"_long":-7323608140671163714,"_float":0.90462726,"_double":0.9297639990404035}, 9 | {"_boolean":false,"_int":-385410386,"_long":-6458542020102054814,"_float":0.84570986,"_double":0.008831310311674723}, 10 | {"_boolean":true,"_int":1223486810,"_long":-1794031700315448716,"_float":0.282107,"_double":0.5490109196439582} 11 | ] -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/profs.csv: -------------------------------------------------------------------------------- 1 | Prof1,BC100 2 | Prof2,BC200 3 | Prof3,BC300 4 | -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/publications/authors-json/authors3.json: -------------------------------------------------------------------------------- 1 | [{"name": "Das, A.", "title": "assistant professor", "year": 1981}, 2 | {"name": "Sarigiannidou, E.", "title": "PhD", "year": 1975}, 3 | {"name": "Monroy, E.", "title": "PhD", "year": 1969}, 4 | {"name": "Vey, J.-L.", "title": "professor", "year": 1969}, 5 | {"name": "Gallion, P.", "title": "engineer", "year": 1961}, 6 | {"name": "Khurgin, J.", "title": "PhD", "year": 1986}, 7 | {"name": "Natarajan, B.R.", "title": "professor", "year": 1964}, 8 | {"name": "Murdock, E.S.", "title": "assistant professor", "year": 1989}, 9 | {"name": "Tian, Ying", "title": "professor", "year": 1984}, 10 | {"name": "Xu, Rongrong", "title": "engineer", "year": 1951}, 11 | {"name": "Hu, Lili", "title": "PhD", "year": 1981}, 12 | {"name": "Zhang, Junjie", "title": "assistant professor", "year": 1977}] -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/publications/authors.arrow: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raw-labs/snapi/514c9fce99d3a343b4b0dc8afb7a49d4331ae654/snapi-frontend/src/test/resources/data/publications/authors.arrow -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/publications/authors/authors3.hjson: -------------------------------------------------------------------------------- 1 | {"name": "Das, A.", "title": "assistant professor", "year": 1981} 2 | {"name": "Sarigiannidou, E.", "title": "PhD", "year": 1975} 3 | {"name": "Monroy, E.", "title": "PhD", "year": 1969} 4 | {"name": "Vey, J.-L.", "title": "professor", "year": 1969} 5 | {"name": "Gallion, P.", "title": "engineer", "year": 1961} 6 | {"name": "Khurgin, J.", "title": "PhD", "year": 1986} 7 | {"name": "Natarajan, B.R.", "title": "professor", "year": 1964} 8 | {"name": "Murdock, E.S.", "title": "assistant professor", "year": 1989} 9 | {"name": "Tian, Ying", "title": "professor", "year": 1984} 10 | {"name": "Xu, Rongrong", "title": "engineer", "year": 1951} 11 | {"name": "Hu, Lili", "title": "PhD", "year": 1981} 12 | {"name": "Zhang, Junjie", "title": "assistant professor", "year": 1977} -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/publications/authorsSmall.hjson: -------------------------------------------------------------------------------- 1 | {"name": "Alba, G.P.", "title": "assistant professor", "year": 1960} 2 | {"name": "Anderson, C.C.", "title": "PhD", "year": 1992} 3 | {"name": "Bellet-Amalric, E.", "title": "PhD", "year": 1964} 4 | {"name": "Dignan, T.G.", "title": "PhD", "year": 1985} 5 | {"name": "Ertan, H.B.", "title": "assistant professor", "year": 1952} 6 | {"name": "Kokorin, V.V.", "title": "professor", "year": 1965} 7 | {"name": "Monroy, E.", "title": "PhD", "year": 1969} 8 | {"name": "Natarajan, B.R.", "title": "professor", "year": 1964} 9 | {"name": "Sun, Guoliang", "title": "professor", "year": 1987} 10 | {"name": "Xu, Rongrong", "title": "engineer", "year": 1951} 11 | {"name": "Young, B.A.", "title": "professor", "year": 1956} 12 | {"name": "Zhang, Junjie", "title": "assistant professor", "year": 1977} 13 | {"name": "Zhuangde Jiang", "title": "professor", "year": 1993} -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/publications/authorsSmall.json: -------------------------------------------------------------------------------- 1 | [ 2 | {"name": "Alba, G.P.", "title": "assistant professor", "year": 1960}, 3 | {"name": "Anderson, C.C.", "title": "PhD", "year": 1992}, 4 | {"name": "Bellet-Amalric, E.", "title": "PhD", "year": 1964}, 5 | {"name": "Dignan, T.G.", "title": "PhD", "year": 1985}, 6 | {"name": "Ertan, H.B.", "title": "assistant professor", "year": 1952}, 7 | {"name": "Kokorin, V.V.", "title": "professor", "year": 1965}, 8 | {"name": "Monroy, E.", "title": "PhD", "year": 1969}, 9 | {"name": "Natarajan, B.R.", "title": "professor", "year": 1964}, 10 | {"name": "Sun, Guoliang", "title": "professor", "year": 1987}, 11 | {"name": "Xu, Rongrong", "title": "engineer", "year": 1951}, 12 | {"name": "Young, B.A.", "title": "professor", "year": 1956}, 13 | {"name": "Zhang, Junjie", "title": "assistant professor", "year": 1977}, 14 | {"name": "Zhuangde Jiang", "title": "professor", "year": 1993} 15 | ] -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/publications/publications-hjson-bzip2/._SUCCESS.crc: -------------------------------------------------------------------------------- 1 | crc -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/publications/publications-hjson-bzip2/.part-00000-357315fc-62f8-481a-bfc3-f1177d2b0f36.json.bz2.crc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raw-labs/snapi/514c9fce99d3a343b4b0dc8afb7a49d4331ae654/snapi-frontend/src/test/resources/data/publications/publications-hjson-bzip2/.part-00000-357315fc-62f8-481a-bfc3-f1177d2b0f36.json.bz2.crc -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/publications/publications-hjson-bzip2/.part-00001-357315fc-62f8-481a-bfc3-f1177d2b0f36.json.bz2.crc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raw-labs/snapi/514c9fce99d3a343b4b0dc8afb7a49d4331ae654/snapi-frontend/src/test/resources/data/publications/publications-hjson-bzip2/.part-00001-357315fc-62f8-481a-bfc3-f1177d2b0f36.json.bz2.crc -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/publications/publications-hjson-bzip2/.part-00002-357315fc-62f8-481a-bfc3-f1177d2b0f36.json.bz2.crc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raw-labs/snapi/514c9fce99d3a343b4b0dc8afb7a49d4331ae654/snapi-frontend/src/test/resources/data/publications/publications-hjson-bzip2/.part-00002-357315fc-62f8-481a-bfc3-f1177d2b0f36.json.bz2.crc -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/publications/publications-hjson-bzip2/.part-00003-357315fc-62f8-481a-bfc3-f1177d2b0f36.json.bz2.crc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raw-labs/snapi/514c9fce99d3a343b4b0dc8afb7a49d4331ae654/snapi-frontend/src/test/resources/data/publications/publications-hjson-bzip2/.part-00003-357315fc-62f8-481a-bfc3-f1177d2b0f36.json.bz2.crc -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/publications/publications-hjson-bzip2/_SUCCESS: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raw-labs/snapi/514c9fce99d3a343b4b0dc8afb7a49d4331ae654/snapi-frontend/src/test/resources/data/publications/publications-hjson-bzip2/_SUCCESS -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/publications/publications-hjson-bzip2/part-00000-357315fc-62f8-481a-bfc3-f1177d2b0f36.json.bz2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raw-labs/snapi/514c9fce99d3a343b4b0dc8afb7a49d4331ae654/snapi-frontend/src/test/resources/data/publications/publications-hjson-bzip2/part-00000-357315fc-62f8-481a-bfc3-f1177d2b0f36.json.bz2 -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/publications/publications-hjson-bzip2/part-00001-357315fc-62f8-481a-bfc3-f1177d2b0f36.json.bz2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raw-labs/snapi/514c9fce99d3a343b4b0dc8afb7a49d4331ae654/snapi-frontend/src/test/resources/data/publications/publications-hjson-bzip2/part-00001-357315fc-62f8-481a-bfc3-f1177d2b0f36.json.bz2 -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/publications/publications-hjson-bzip2/part-00002-357315fc-62f8-481a-bfc3-f1177d2b0f36.json.bz2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raw-labs/snapi/514c9fce99d3a343b4b0dc8afb7a49d4331ae654/snapi-frontend/src/test/resources/data/publications/publications-hjson-bzip2/part-00002-357315fc-62f8-481a-bfc3-f1177d2b0f36.json.bz2 -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/publications/publications-hjson-bzip2/part-00003-357315fc-62f8-481a-bfc3-f1177d2b0f36.json.bz2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raw-labs/snapi/514c9fce99d3a343b4b0dc8afb7a49d4331ae654/snapi-frontend/src/test/resources/data/publications/publications-hjson-bzip2/part-00003-357315fc-62f8-481a-bfc3-f1177d2b0f36.json.bz2 -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/publications/publications-hjson-deflate/._SUCCESS.crc: -------------------------------------------------------------------------------- 1 | crc -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/publications/publications-hjson-deflate/.part-00000-224479db-833d-405c-9052-c38ee240036b.json.deflate.crc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raw-labs/snapi/514c9fce99d3a343b4b0dc8afb7a49d4331ae654/snapi-frontend/src/test/resources/data/publications/publications-hjson-deflate/.part-00000-224479db-833d-405c-9052-c38ee240036b.json.deflate.crc -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/publications/publications-hjson-deflate/.part-00001-224479db-833d-405c-9052-c38ee240036b.json.deflate.crc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raw-labs/snapi/514c9fce99d3a343b4b0dc8afb7a49d4331ae654/snapi-frontend/src/test/resources/data/publications/publications-hjson-deflate/.part-00001-224479db-833d-405c-9052-c38ee240036b.json.deflate.crc -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/publications/publications-hjson-deflate/.part-00002-224479db-833d-405c-9052-c38ee240036b.json.deflate.crc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raw-labs/snapi/514c9fce99d3a343b4b0dc8afb7a49d4331ae654/snapi-frontend/src/test/resources/data/publications/publications-hjson-deflate/.part-00002-224479db-833d-405c-9052-c38ee240036b.json.deflate.crc -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/publications/publications-hjson-deflate/.part-00003-224479db-833d-405c-9052-c38ee240036b.json.deflate.crc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raw-labs/snapi/514c9fce99d3a343b4b0dc8afb7a49d4331ae654/snapi-frontend/src/test/resources/data/publications/publications-hjson-deflate/.part-00003-224479db-833d-405c-9052-c38ee240036b.json.deflate.crc -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/publications/publications-hjson-deflate/_SUCCESS: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raw-labs/snapi/514c9fce99d3a343b4b0dc8afb7a49d4331ae654/snapi-frontend/src/test/resources/data/publications/publications-hjson-deflate/_SUCCESS -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/publications/publications-hjson-deflate/part-00000-224479db-833d-405c-9052-c38ee240036b.json.deflate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raw-labs/snapi/514c9fce99d3a343b4b0dc8afb7a49d4331ae654/snapi-frontend/src/test/resources/data/publications/publications-hjson-deflate/part-00000-224479db-833d-405c-9052-c38ee240036b.json.deflate -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/publications/publications-hjson-deflate/part-00001-224479db-833d-405c-9052-c38ee240036b.json.deflate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raw-labs/snapi/514c9fce99d3a343b4b0dc8afb7a49d4331ae654/snapi-frontend/src/test/resources/data/publications/publications-hjson-deflate/part-00001-224479db-833d-405c-9052-c38ee240036b.json.deflate -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/publications/publications-hjson-deflate/part-00002-224479db-833d-405c-9052-c38ee240036b.json.deflate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raw-labs/snapi/514c9fce99d3a343b4b0dc8afb7a49d4331ae654/snapi-frontend/src/test/resources/data/publications/publications-hjson-deflate/part-00002-224479db-833d-405c-9052-c38ee240036b.json.deflate -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/publications/publications-hjson-deflate/part-00003-224479db-833d-405c-9052-c38ee240036b.json.deflate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raw-labs/snapi/514c9fce99d3a343b4b0dc8afb7a49d4331ae654/snapi-frontend/src/test/resources/data/publications/publications-hjson-deflate/part-00003-224479db-833d-405c-9052-c38ee240036b.json.deflate -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/publications/publications-hjson-gzip/._SUCCESS.crc: -------------------------------------------------------------------------------- 1 | crc -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/publications/publications-hjson-gzip/.part-00000-e21abf67-3d6a-4bbe-a74b-d733e4d6feb0.json.gz.crc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raw-labs/snapi/514c9fce99d3a343b4b0dc8afb7a49d4331ae654/snapi-frontend/src/test/resources/data/publications/publications-hjson-gzip/.part-00000-e21abf67-3d6a-4bbe-a74b-d733e4d6feb0.json.gz.crc -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/publications/publications-hjson-gzip/.part-00001-e21abf67-3d6a-4bbe-a74b-d733e4d6feb0.json.gz.crc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raw-labs/snapi/514c9fce99d3a343b4b0dc8afb7a49d4331ae654/snapi-frontend/src/test/resources/data/publications/publications-hjson-gzip/.part-00001-e21abf67-3d6a-4bbe-a74b-d733e4d6feb0.json.gz.crc -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/publications/publications-hjson-gzip/.part-00002-e21abf67-3d6a-4bbe-a74b-d733e4d6feb0.json.gz.crc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raw-labs/snapi/514c9fce99d3a343b4b0dc8afb7a49d4331ae654/snapi-frontend/src/test/resources/data/publications/publications-hjson-gzip/.part-00002-e21abf67-3d6a-4bbe-a74b-d733e4d6feb0.json.gz.crc -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/publications/publications-hjson-gzip/.part-00003-e21abf67-3d6a-4bbe-a74b-d733e4d6feb0.json.gz.crc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raw-labs/snapi/514c9fce99d3a343b4b0dc8afb7a49d4331ae654/snapi-frontend/src/test/resources/data/publications/publications-hjson-gzip/.part-00003-e21abf67-3d6a-4bbe-a74b-d733e4d6feb0.json.gz.crc -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/publications/publications-hjson-gzip/_SUCCESS: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raw-labs/snapi/514c9fce99d3a343b4b0dc8afb7a49d4331ae654/snapi-frontend/src/test/resources/data/publications/publications-hjson-gzip/_SUCCESS -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/publications/publications-hjson-gzip/part-00000-e21abf67-3d6a-4bbe-a74b-d733e4d6feb0.json.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raw-labs/snapi/514c9fce99d3a343b4b0dc8afb7a49d4331ae654/snapi-frontend/src/test/resources/data/publications/publications-hjson-gzip/part-00000-e21abf67-3d6a-4bbe-a74b-d733e4d6feb0.json.gz -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/publications/publications-hjson-gzip/part-00001-e21abf67-3d6a-4bbe-a74b-d733e4d6feb0.json.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raw-labs/snapi/514c9fce99d3a343b4b0dc8afb7a49d4331ae654/snapi-frontend/src/test/resources/data/publications/publications-hjson-gzip/part-00001-e21abf67-3d6a-4bbe-a74b-d733e4d6feb0.json.gz -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/publications/publications-hjson-gzip/part-00002-e21abf67-3d6a-4bbe-a74b-d733e4d6feb0.json.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raw-labs/snapi/514c9fce99d3a343b4b0dc8afb7a49d4331ae654/snapi-frontend/src/test/resources/data/publications/publications-hjson-gzip/part-00002-e21abf67-3d6a-4bbe-a74b-d733e4d6feb0.json.gz -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/publications/publications-hjson-gzip/part-00003-e21abf67-3d6a-4bbe-a74b-d733e4d6feb0.json.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raw-labs/snapi/514c9fce99d3a343b4b0dc8afb7a49d4331ae654/snapi-frontend/src/test/resources/data/publications/publications-hjson-gzip/part-00003-e21abf67-3d6a-4bbe-a74b-d733e4d6feb0.json.gz -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/publications/publications-hjson-lz4/._SUCCESS.crc: -------------------------------------------------------------------------------- 1 | crc -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/publications/publications-hjson-lz4/.part-00000-bd528ec3-b64c-4b05-a125-9f84a5a19a3a.json.lz4.crc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raw-labs/snapi/514c9fce99d3a343b4b0dc8afb7a49d4331ae654/snapi-frontend/src/test/resources/data/publications/publications-hjson-lz4/.part-00000-bd528ec3-b64c-4b05-a125-9f84a5a19a3a.json.lz4.crc -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/publications/publications-hjson-lz4/.part-00001-bd528ec3-b64c-4b05-a125-9f84a5a19a3a.json.lz4.crc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raw-labs/snapi/514c9fce99d3a343b4b0dc8afb7a49d4331ae654/snapi-frontend/src/test/resources/data/publications/publications-hjson-lz4/.part-00001-bd528ec3-b64c-4b05-a125-9f84a5a19a3a.json.lz4.crc -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/publications/publications-hjson-lz4/.part-00002-bd528ec3-b64c-4b05-a125-9f84a5a19a3a.json.lz4.crc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raw-labs/snapi/514c9fce99d3a343b4b0dc8afb7a49d4331ae654/snapi-frontend/src/test/resources/data/publications/publications-hjson-lz4/.part-00002-bd528ec3-b64c-4b05-a125-9f84a5a19a3a.json.lz4.crc -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/publications/publications-hjson-lz4/.part-00003-bd528ec3-b64c-4b05-a125-9f84a5a19a3a.json.lz4.crc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raw-labs/snapi/514c9fce99d3a343b4b0dc8afb7a49d4331ae654/snapi-frontend/src/test/resources/data/publications/publications-hjson-lz4/.part-00003-bd528ec3-b64c-4b05-a125-9f84a5a19a3a.json.lz4.crc -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/publications/publications-hjson-lz4/_SUCCESS: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raw-labs/snapi/514c9fce99d3a343b4b0dc8afb7a49d4331ae654/snapi-frontend/src/test/resources/data/publications/publications-hjson-lz4/_SUCCESS -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/publications/publications-hjson-lz4/part-00000-bd528ec3-b64c-4b05-a125-9f84a5a19a3a.json.lz4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raw-labs/snapi/514c9fce99d3a343b4b0dc8afb7a49d4331ae654/snapi-frontend/src/test/resources/data/publications/publications-hjson-lz4/part-00000-bd528ec3-b64c-4b05-a125-9f84a5a19a3a.json.lz4 -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/publications/publications-hjson-lz4/part-00001-bd528ec3-b64c-4b05-a125-9f84a5a19a3a.json.lz4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raw-labs/snapi/514c9fce99d3a343b4b0dc8afb7a49d4331ae654/snapi-frontend/src/test/resources/data/publications/publications-hjson-lz4/part-00001-bd528ec3-b64c-4b05-a125-9f84a5a19a3a.json.lz4 -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/publications/publications-hjson-lz4/part-00002-bd528ec3-b64c-4b05-a125-9f84a5a19a3a.json.lz4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raw-labs/snapi/514c9fce99d3a343b4b0dc8afb7a49d4331ae654/snapi-frontend/src/test/resources/data/publications/publications-hjson-lz4/part-00002-bd528ec3-b64c-4b05-a125-9f84a5a19a3a.json.lz4 -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/publications/publications-hjson-lz4/part-00003-bd528ec3-b64c-4b05-a125-9f84a5a19a3a.json.lz4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raw-labs/snapi/514c9fce99d3a343b4b0dc8afb7a49d4331ae654/snapi-frontend/src/test/resources/data/publications/publications-hjson-lz4/part-00003-bd528ec3-b64c-4b05-a125-9f84a5a19a3a.json.lz4 -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/publications/publications-hjson-snappy/._SUCCESS.crc: -------------------------------------------------------------------------------- 1 | crc -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/publications/publications-hjson-snappy/.part-00000-f9c57571-703e-4cd9-8bff-5f577f719903.json.snappy.crc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raw-labs/snapi/514c9fce99d3a343b4b0dc8afb7a49d4331ae654/snapi-frontend/src/test/resources/data/publications/publications-hjson-snappy/.part-00000-f9c57571-703e-4cd9-8bff-5f577f719903.json.snappy.crc -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/publications/publications-hjson-snappy/.part-00001-f9c57571-703e-4cd9-8bff-5f577f719903.json.snappy.crc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raw-labs/snapi/514c9fce99d3a343b4b0dc8afb7a49d4331ae654/snapi-frontend/src/test/resources/data/publications/publications-hjson-snappy/.part-00001-f9c57571-703e-4cd9-8bff-5f577f719903.json.snappy.crc -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/publications/publications-hjson-snappy/.part-00002-f9c57571-703e-4cd9-8bff-5f577f719903.json.snappy.crc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raw-labs/snapi/514c9fce99d3a343b4b0dc8afb7a49d4331ae654/snapi-frontend/src/test/resources/data/publications/publications-hjson-snappy/.part-00002-f9c57571-703e-4cd9-8bff-5f577f719903.json.snappy.crc -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/publications/publications-hjson-snappy/.part-00003-f9c57571-703e-4cd9-8bff-5f577f719903.json.snappy.crc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raw-labs/snapi/514c9fce99d3a343b4b0dc8afb7a49d4331ae654/snapi-frontend/src/test/resources/data/publications/publications-hjson-snappy/.part-00003-f9c57571-703e-4cd9-8bff-5f577f719903.json.snappy.crc -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/publications/publications-hjson-snappy/_SUCCESS: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raw-labs/snapi/514c9fce99d3a343b4b0dc8afb7a49d4331ae654/snapi-frontend/src/test/resources/data/publications/publications-hjson-snappy/_SUCCESS -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/publications/publications-hjson-snappy/part-00000-f9c57571-703e-4cd9-8bff-5f577f719903.json.snappy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raw-labs/snapi/514c9fce99d3a343b4b0dc8afb7a49d4331ae654/snapi-frontend/src/test/resources/data/publications/publications-hjson-snappy/part-00000-f9c57571-703e-4cd9-8bff-5f577f719903.json.snappy -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/publications/publications-hjson-snappy/part-00001-f9c57571-703e-4cd9-8bff-5f577f719903.json.snappy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raw-labs/snapi/514c9fce99d3a343b4b0dc8afb7a49d4331ae654/snapi-frontend/src/test/resources/data/publications/publications-hjson-snappy/part-00001-f9c57571-703e-4cd9-8bff-5f577f719903.json.snappy -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/publications/publications-hjson-snappy/part-00002-f9c57571-703e-4cd9-8bff-5f577f719903.json.snappy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raw-labs/snapi/514c9fce99d3a343b4b0dc8afb7a49d4331ae654/snapi-frontend/src/test/resources/data/publications/publications-hjson-snappy/part-00002-f9c57571-703e-4cd9-8bff-5f577f719903.json.snappy -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/publications/publications-hjson-snappy/part-00003-f9c57571-703e-4cd9-8bff-5f577f719903.json.snappy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raw-labs/snapi/514c9fce99d3a343b4b0dc8afb7a49d4331ae654/snapi-frontend/src/test/resources/data/publications/publications-hjson-snappy/part-00003-f9c57571-703e-4cd9-8bff-5f577f719903.json.snappy -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/publications/publications.hjson.bz2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raw-labs/snapi/514c9fce99d3a343b4b0dc8afb7a49d4331ae654/snapi-frontend/src/test/resources/data/publications/publications.hjson.bz2 -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/publications/publications.hjson.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raw-labs/snapi/514c9fce99d3a343b4b0dc8afb7a49d4331ae654/snapi-frontend/src/test/resources/data/publications/publications.hjson.gz -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/sales.json: -------------------------------------------------------------------------------- 1 | [ 2 | {“country”: “CH”, 3 | “products”: [ 4 | {“category”: “Keyboard”, “cost”: 50}, 5 | {“category”: “Keyboard”, “cost”: 70}, 6 | {“category”: “Monitor”, “cost”: 450}]}, 7 | {“country”: “US”, 8 | “products”: [ 9 | {“category”: “Keyboard”, “cost”: 20}, 10 | {“category”: “Monitor”, “cost”: 200}]} 11 | ] 12 | -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/set_of_ints.csv: -------------------------------------------------------------------------------- 1 | 1 2 | 1 3 | 2 4 | 3 5 | 5 6 | 8 7 | 13 8 | 21 9 | 34 -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/set_of_ints.parquet/._SUCCESS.crc: -------------------------------------------------------------------------------- 1 | crc -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/set_of_ints.parquet/.part-00000-3b4b5954-d327-4d16-8623-d3344921c390.snappy.parquet.crc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raw-labs/snapi/514c9fce99d3a343b4b0dc8afb7a49d4331ae654/snapi-frontend/src/test/resources/data/set_of_ints.parquet/.part-00000-3b4b5954-d327-4d16-8623-d3344921c390.snappy.parquet.crc -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/set_of_ints.parquet/.part-00001-3b4b5954-d327-4d16-8623-d3344921c390.snappy.parquet.crc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raw-labs/snapi/514c9fce99d3a343b4b0dc8afb7a49d4331ae654/snapi-frontend/src/test/resources/data/set_of_ints.parquet/.part-00001-3b4b5954-d327-4d16-8623-d3344921c390.snappy.parquet.crc -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/set_of_ints.parquet/_SUCCESS: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raw-labs/snapi/514c9fce99d3a343b4b0dc8afb7a49d4331ae654/snapi-frontend/src/test/resources/data/set_of_ints.parquet/_SUCCESS -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/set_of_ints.parquet/part-00000-3b4b5954-d327-4d16-8623-d3344921c390.snappy.parquet: -------------------------------------------------------------------------------- 1 | PAR146, 2 | "$ 3 | , ",H spark_schema%value 4 | &5value 5 | vx&<"v 6 | )org.apache.spark.sql.parquet.row.metadata\{"type":"struct","fields":[{"name":"value","type":"integer","nullable":true,"metadata":{}}]}Iparquet-mr version 1.8.1 (build 4aba4dae7bb0d4edbcf7923ae1339f28fd3f7fcf)2PAR1 -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/set_of_ints.parquet/part-00001-3b4b5954-d327-4d16-8623-d3344921c390.snappy.parquet: -------------------------------------------------------------------------------- 1 | PAR1,0,T,H spark_schema%value&5valuenr&<n)org.apache.spark.sql.parquet.row.metadata\{"type":"struct","fields":[{"name":"value","type":"integer","nullable":true,"metadata":{}}]}Iparquet-mr version 1.8.1 (build 4aba4dae7bb0d4edbcf7923ae1339f28fd3f7fcf)2PAR1 -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/set_of_options_ints.csv: -------------------------------------------------------------------------------- 1 | 1 2 | 1 3 | 2 4 | 3 5 | null 6 | 8 7 | 13 8 | null 9 | 34 -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/set_of_options_records.json: -------------------------------------------------------------------------------- 1 | [ 2 | null, 3 | {"a": 1, "b":"foo"}, 4 | null, 5 | {"a": 2, "b":"bar"}, 6 | null 7 | ] -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/stocks/portfolio.json: -------------------------------------------------------------------------------- 1 | [ 2 | {"symbol": "NVDA", "assets": 500 }, 3 | {"symbol": "INTC", "assets": 200 } 4 | ] 5 | -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/students/students.csv: -------------------------------------------------------------------------------- 1 | Name,year,office,department 2 | Student1,1990,BC123,dep1 3 | Student2,1990,BC124,dep2 4 | Student3,1989,BC123,dep1 5 | Student4,1992,BC125,dep2 6 | Student5,1987,BC123,dep1 7 | Student6,1992,BC125,dep3 8 | Student7,1988,BC126,dep3 9 | -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/students/students_no_header.csv: -------------------------------------------------------------------------------- 1 | Student1,1990,BC123,dep1 2 | Student2,1990,BC124,dep2 3 | Student3,1989,BC123,dep1 4 | Student4,1992,BC125,dep2 5 | Student5,1987,BC123,dep1 6 | Student6,1992,BC125,dep3 7 | Student7,1988,BC126,dep3 8 | -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/table1/._SUCCESS.crc: -------------------------------------------------------------------------------- 1 | crc -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/table1/.part-00000-162798bb-c09f-4dd9-a57b-dd8223d1b973-c000.snappy.parquet.crc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raw-labs/snapi/514c9fce99d3a343b4b0dc8afb7a49d4331ae654/snapi-frontend/src/test/resources/data/table1/.part-00000-162798bb-c09f-4dd9-a57b-dd8223d1b973-c000.snappy.parquet.crc -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/table1/_SUCCESS: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raw-labs/snapi/514c9fce99d3a343b4b0dc8afb7a49d4331ae654/snapi-frontend/src/test/resources/data/table1/_SUCCESS -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/table1/part-00000-162798bb-c09f-4dd9-a57b-dd8223d1b973-c000.snappy.parquet: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raw-labs/snapi/514c9fce99d3a343b4b0dc8afb7a49d4331ae654/snapi-frontend/src/test/resources/data/table1/part-00000-162798bb-c09f-4dd9-a57b-dd8223d1b973-c000.snappy.parquet -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/test.avro/._SUCCESS.crc: -------------------------------------------------------------------------------- 1 | crc -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/test.avro/.part-00000-a52cbaa7-4f7d-41a4-8308-aa742d0b1263-c000.avro.crc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raw-labs/snapi/514c9fce99d3a343b4b0dc8afb7a49d4331ae654/snapi-frontend/src/test/resources/data/test.avro/.part-00000-a52cbaa7-4f7d-41a4-8308-aa742d0b1263-c000.avro.crc -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/test.avro/_SUCCESS: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raw-labs/snapi/514c9fce99d3a343b4b0dc8afb7a49d4331ae654/snapi-frontend/src/test/resources/data/test.avro/_SUCCESS -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/test.avro/part-00000-a52cbaa7-4f7d-41a4-8308-aa742d0b1263-c000.avro: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raw-labs/snapi/514c9fce99d3a343b4b0dc8afb7a49d4331ae654/snapi-frontend/src/test/resources/data/test.avro/part-00000-a52cbaa7-4f7d-41a4-8308-aa742d0b1263-c000.avro -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/tpcds/customer.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raw-labs/snapi/514c9fce99d3a343b4b0dc8afb7a49d4331ae654/snapi-frontend/src/test/resources/data/tpcds/customer.dat -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/tpcds/dbgen_version.dat: -------------------------------------------------------------------------------- 1 | 2.5.0|2017-07-07|13:09:36|-scale 1 -dir ../../tpcds-sf1/ | 2 | -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/tpcds/income_band.dat: -------------------------------------------------------------------------------- 1 | 1|0|10000| 2 | 2|10001|20000| 3 | 3|20001|30000| 4 | 4|30001|40000| 5 | 5|40001|50000| 6 | 6|50001|60000| 7 | 7|60001|70000| 8 | 8|70001|80000| 9 | 9|80001|90000| 10 | 10|90001|100000| 11 | 11|100001|110000| 12 | 12|110001|120000| 13 | 13|120001|130000| 14 | 14|130001|140000| 15 | 15|140001|150000| 16 | 16|150001|160000| 17 | 17|160001|170000| 18 | 18|170001|180000| 19 | 19|180001|190000| 20 | 20|190001|200000| 21 | -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/tpcds/items_null_cols.dat: -------------------------------------------------------------------------------- 1 | 1481|AAAAAAAAIMFAAAAA|1999-10-28|2001-10-26|Wide, technical paren|1.91|3.98|3003001|corpbrand #2|3|rugs|7|Home|22|antioughtought|N/A|2564023015steel05932|purple|Bunch|Unknown|55|oughteingeseought| 2 | 1482|AAAAAAAAIMFAAAAA|2001-10-27||Wide, technical paren|2.79|3.98|10001004|amalgunivamalg #4|3|cameras|10|Electronics|22|ableable|N/A|618157580929486rosy4|sky|N/A|Unknown|68|ableeingeseought| 3 | 1483|AAAAAAAALMFAAAAA|1997-10-27|||0.74|0.56||exportischolar #2|3||5||||N/A|6966812883675906red9|||||prieingeseought| 4 | 1484|AAAAAAAAMMFAAAAA|1997-10-27|2000-10-26|Easily major passages should feel here in a events; far european police should not die sometimes local possible systems. Off|4.17|3.29|2004001|edu packimporto #1|4|sports-apparel|2|Men|315|antioughtpri|extra large|2899148133olive24860|rosy|Oz|Unknown|54|eseeingeseought| 5 | 1485|AAAAAAAAMMFAAAAA|2000-10-27||Easily major passages should feel here in a events; far european police should not die sometimes local possible systems. Off|4.07|3.29|2004001|amalgscholar #2|1|rock|5|Music|322|ableablepri|N/A|2899148133olive24860|tomato|Carton|Unknown|42|antieingeseought| 6 | -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/tpcds/warehouse.dat: -------------------------------------------------------------------------------- 1 | 1|AAAAAAAABAAAAAAA|Conventional childr|977787|651|6th |Parkway|Suite 470|Fairview|Williamson County|TN|35709|United States|-5| 2 | 2|AAAAAAAACAAAAAAA|Important issues liv|138504|600|View First|Avenue|Suite P|Fairview|Williamson County|TN|35709|United States|-5| 3 | 3|AAAAAAAADAAAAAAA|Doors canno|294242|534|Ash Laurel|Dr.|Suite 0|Fairview|Williamson County|TN|35709|United States|-5| 4 | 4|AAAAAAAAEAAAAAAA|Bad cards must make.|621234|368|Wilson Elm|Drive|Suite 80|Fairview|Williamson County|TN|35709|United States|-5| 5 | 5|AAAAAAAAFAAAAAAA|||||||Fairview|Williamson County|TN|35709|United States|| 6 | -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/tpch/tiny/csv/region.csv: -------------------------------------------------------------------------------- 1 | "r_regionkey","r_name","r_comment" 2 | 0,"AFRICA","lar deposits. blithely final packages cajole. regular waters are final requests. regular accounts are according to" 3 | 1,"AMERICA","hs use ironic, even requests. s" 4 | 2,"ASIA","ges. thinly even pinto beans ca" 5 | 3,"EUROPE","ly final courts cajole furiously final excuse" 6 | 4,"MIDDLE EAST","uickly special accounts cajole carefully blithely close requests. carefully final asymptotes haggle furiousl" 7 | 5,, -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/tpch/tiny/customer.parquet/._SUCCESS.crc: -------------------------------------------------------------------------------- 1 | crc -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/tpch/tiny/customer.parquet/.part-00000-b8a21c50-7831-40ee-ae13-fa10974afa2c.snappy.parquet.crc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raw-labs/snapi/514c9fce99d3a343b4b0dc8afb7a49d4331ae654/snapi-frontend/src/test/resources/data/tpch/tiny/customer.parquet/.part-00000-b8a21c50-7831-40ee-ae13-fa10974afa2c.snappy.parquet.crc -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/tpch/tiny/customer.parquet/.part-00001-b8a21c50-7831-40ee-ae13-fa10974afa2c.snappy.parquet.crc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raw-labs/snapi/514c9fce99d3a343b4b0dc8afb7a49d4331ae654/snapi-frontend/src/test/resources/data/tpch/tiny/customer.parquet/.part-00001-b8a21c50-7831-40ee-ae13-fa10974afa2c.snappy.parquet.crc -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/tpch/tiny/customer.parquet/_SUCCESS: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raw-labs/snapi/514c9fce99d3a343b4b0dc8afb7a49d4331ae654/snapi-frontend/src/test/resources/data/tpch/tiny/customer.parquet/_SUCCESS -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/tpch/tiny/customer.parquet/part-00000-b8a21c50-7831-40ee-ae13-fa10974afa2c.snappy.parquet: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raw-labs/snapi/514c9fce99d3a343b4b0dc8afb7a49d4331ae654/snapi-frontend/src/test/resources/data/tpch/tiny/customer.parquet/part-00000-b8a21c50-7831-40ee-ae13-fa10974afa2c.snappy.parquet -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/tpch/tiny/customer.parquet/part-00001-b8a21c50-7831-40ee-ae13-fa10974afa2c.snappy.parquet: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raw-labs/snapi/514c9fce99d3a343b4b0dc8afb7a49d4331ae654/snapi-frontend/src/test/resources/data/tpch/tiny/customer.parquet/part-00001-b8a21c50-7831-40ee-ae13-fa10974afa2c.snappy.parquet -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/tpch/tiny/region.tbl: -------------------------------------------------------------------------------- 1 | 0|AFRICA|lar deposits. blithely final packages cajole. regular waters are final requests. regular accounts are according to | 2 | 1|AMERICA|hs use ironic, even requests. s| 3 | 2|ASIA|ges. thinly even pinto beans ca| 4 | 3|EUROPE|ly final courts cajole furiously final excuse| 5 | 4|MIDDLE EAST|uickly special accounts cajole carefully blithely close requests. carefully final asymptotes haggle furiousl| 6 | -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/transition-guide/professors.csv: -------------------------------------------------------------------------------- 1 | name, age 2 | Guadalupe Lyons, 45 3 | Paulette Gregory, 53 4 | Johnny Armstrong, 34 5 | Lindsey Taylor, 53 6 | Violet Day, 59 7 | Debra Mason, 49 8 | Renee Bradley, 38 9 | Robin Carter, 47 10 | Claude Smith, 55 11 | Wendy Schneider, 43 12 | -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/transition-guide/sales.json: -------------------------------------------------------------------------------- 1 | [ 2 | {"country": "CH", 3 | "products": [ 4 | {"category": "Keyboard", "cost": 50}, 5 | {"category": "Keyboard", "cost": 70}, 6 | {"category": "Monitor", "cost": 450}]}, 7 | {"country": "US", 8 | "products": [ 9 | {"category": "Keyboard", "cost": 20}, 10 | {"category": "Monitor", "cost": 200}]} 11 | ] 12 | -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/transition-guide/students.csv: -------------------------------------------------------------------------------- 1 | name, age 2 | Jason Simmons, 23 3 | Matthew Wilson, 21 4 | Scott Scott, 32 5 | Tina Anderson, 35 6 | Jacqueline Campbell, 29 7 | Juan Allen, 28 8 | Evelyn Davis, 39 9 | Gary Hernandez, 19 10 | Amanda Wright, 25 11 | Earl Thomas, 27 12 | Irene Martinez, 20 13 | Joshua Harris, 18 14 | Paul Williams, 32 15 | Rebecca Barnes, 38 16 | Harry Kelly, 37 17 | Adam Howard, 23 18 | Alan Moore, 41 19 | Angela Lee, 34 20 | Katherine Butler, 23 21 | Kimberly Cooper, 51 22 | Cheryl Flores, 23 23 | Nicole Martin, 32 24 | Ruby Wood, 19 25 | Joseph Young, 23 26 | Philip Evans, 32 27 | -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/xml/primitives.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | <_string>A<_int>1<_double>1.23<_long>100000000000000001 4 | 5 | 6 | <_string>B<_int>2<_double>2.23<_long>100000000000000002 7 | 8 | 9 | <_string>C<_int>3<_double>3.23<_long>100000000000000003 10 | 11 | 12 | <_string>D<_int>4<_double>4.23<_long>100000000000000004 13 | 14 | -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/xml/xml-folder/primitives1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | <_string>A<_int>1<_double>1.23<_long>100000000000000001 4 | 5 | 6 | <_string>B<_int>2<_double>2.23<_long>100000000000000002 7 | 8 | 9 | <_string>C<_int>3<_double>3.23<_long>100000000000000003 10 | 11 | 12 | <_string>D<_int>4<_double>4.23<_long>100000000000000004 13 | 14 | -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/xml/xml-folder/primitives2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | <_string>E<_int>5<_double>1.23<_long>100000000000000001 4 | 5 | 6 | <_string>F<_int>6<_double>2.23<_long>100000000000000002 7 | 8 | 9 | <_string>G<_int>7<_double>3.23<_long>100000000000000003 10 | 11 | 12 | <_string>H<_int>8<_double>4.23<_long>100000000000000004 13 | 14 | -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/xml/xml-folder/primitives3.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | <_string>I<_int>9<_double>1.23<_long>100000000000000001 4 | 5 | 6 | <_string>J<_int>10<_double>2.23<_long>100000000000000002 7 | 8 | 9 | <_string>K<_int>11<_double>3.23<_long>100000000000000003 10 | 11 | 12 | <_string>M<_int>12<_double>4.23<_long>100000000000000004 13 | 14 | -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/xml/xmlObjFolder/student1.xml: -------------------------------------------------------------------------------- 1 | 2 | John 3 | 18 4 | math 12.3 5 | english 14.1 6 | geography 13.7 7 | 8 | -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/xml/xmlObjFolder/student2.xml: -------------------------------------------------------------------------------- 1 | 2 | Bob 3 | 22 4 | math 10.3 5 | english 17.1 6 | geography 15.7 7 | 8 | -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/data/xml/xmlObjFolder/student3.xml: -------------------------------------------------------------------------------- 1 | 2 | Jane 3 | 17 4 | math 16.3 5 | english 9.1 6 | geography 11.7 7 | 8 | -------------------------------------------------------------------------------- /snapi-frontend/src/test/resources/logback-test.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | %d{yyyy-MM-dd HH:mm:ss.SSSZ} [%thread] %-5level %logger{36} - %msg%n 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /snapi-frontend/src/test/scala/com/rawlabs/snapi/frontend/inferrer/local/LocalInferrerTestContext.scala: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2023 RAW Labs S.A. 3 | * 4 | * Use of this software is governed by the Business Source License 5 | * included in the file licenses/BSL.txt. 6 | * 7 | * As of the Change Date specified in that file, in accordance with 8 | * the Business Source License, use of this software will be governed 9 | * by the Apache License, Version 2.0, included in the file 10 | * licenses/APL.txt. 11 | */ 12 | 13 | package com.rawlabs.snapi.frontend.inferrer.local 14 | 15 | import com.rawlabs.utils.core.{RawTestSuite, SettingsTestContext} 16 | import org.scalatest.BeforeAndAfterAll 17 | 18 | trait LocalInferrerTestContext extends BeforeAndAfterAll { 19 | this: RawTestSuite with SettingsTestContext => 20 | 21 | override def beforeAll(): Unit = { 22 | super.beforeAll() 23 | 24 | property("raw.snapi.frontend.inferrer.impl", "local") 25 | } 26 | 27 | } 28 | -------------------------------------------------------------------------------- /snapi-parser/src/main/java/com/rawlabs/snapi/parser/generated/Placeholder.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 RAW Labs S.A. 3 | * 4 | * Use of this software is governed by the Business Source License 5 | * included in the file licenses/BSL.txt. 6 | * 7 | * As of the Change Date specified in that file, in accordance with 8 | * the Business Source License, use of this software will be governed 9 | * by the Apache License, Version 2.0, included in the file 10 | * licenses/APL.txt. 11 | */ 12 | 13 | package com.rawlabs.snapi.parser.generated; 14 | 15 | class Placeholder { 16 | // Placeholder class to allow the module-info.java file to be compiled 17 | } 18 | -------------------------------------------------------------------------------- /snapi-parser/src/main/java/module-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2023 RAW Labs S.A. 3 | * 4 | * Use of this software is governed by the Business Source License 5 | * included in the file licenses/BSL.txt. 6 | * 7 | * As of the Change Date specified in that file, in accordance with 8 | * the Business Source License, use of this software will be governed 9 | * by the Apache License, Version 2.0, included in the file 10 | * licenses/APL.txt. 11 | */ 12 | 13 | module raw.snapi.parser { 14 | exports com.rawlabs.snapi.parser.generated; 15 | 16 | requires org.antlr.antlr4.runtime; 17 | } 18 | -------------------------------------------------------------------------------- /snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/BinaryNode.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2023 RAW Labs S.A. 3 | * 4 | * Use of this software is governed by the Business Source License 5 | * included in the file licenses/BSL.txt. 6 | * 7 | * As of the Change Date specified in that file, in accordance with 8 | * the Business Source License, use of this software will be governed 9 | * by the Apache License, Version 2.0, included in the file 10 | * licenses/APL.txt. 11 | */ 12 | 13 | package com.rawlabs.snapi.truffle.ast; 14 | 15 | import com.oracle.truffle.api.dsl.NodeChild; 16 | 17 | @NodeChild("leftNode") 18 | @NodeChild("rightNode") 19 | public abstract class BinaryNode extends ExpressionNode {} 20 | -------------------------------------------------------------------------------- /snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/aggregation/Aggregations.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2023 RAW Labs S.A. 3 | * 4 | * Use of this software is governed by the Business Source License 5 | * included in the file licenses/BSL.txt. 6 | * 7 | * As of the Change Date specified in that file, in accordance with 8 | * the Business Source License, use of this software will be governed 9 | * by the Apache License, Version 2.0, included in the file 10 | * licenses/APL.txt. 11 | */ 12 | 13 | package com.rawlabs.snapi.truffle.ast.expressions.aggregation; 14 | 15 | public class Aggregations { 16 | public static final byte COUNT = 0; 17 | public static final byte MAX = 1; 18 | public static final byte MIN = 2; 19 | public static final byte SUM = 3; 20 | public static final byte LAST = 4; 21 | } 22 | -------------------------------------------------------------------------------- /snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/builtin/math_package/MathDegreesNode.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2023 RAW Labs S.A. 3 | * 4 | * Use of this software is governed by the Business Source License 5 | * included in the file licenses/BSL.txt. 6 | * 7 | * As of the Change Date specified in that file, in accordance with 8 | * the Business Source License, use of this software will be governed 9 | * by the Apache License, Version 2.0, included in the file 10 | * licenses/APL.txt. 11 | */ 12 | 13 | package com.rawlabs.snapi.truffle.ast.expressions.builtin.math_package; 14 | 15 | import com.oracle.truffle.api.dsl.NodeChild; 16 | import com.oracle.truffle.api.dsl.Specialization; 17 | import com.oracle.truffle.api.nodes.NodeInfo; 18 | import com.rawlabs.snapi.truffle.ast.ExpressionNode; 19 | 20 | @NodeInfo(shortName = "Math.Degrees") 21 | @NodeChild(value = "argument", type = ExpressionNode.class) 22 | public abstract class MathDegreesNode extends ExpressionNode { 23 | @Specialization 24 | protected double doubleDegrees(double argument) { 25 | return Math.toDegrees(argument); 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/builtin/math_package/MathRadiansNode.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2023 RAW Labs S.A. 3 | * 4 | * Use of this software is governed by the Business Source License 5 | * included in the file licenses/BSL.txt. 6 | * 7 | * As of the Change Date specified in that file, in accordance with 8 | * the Business Source License, use of this software will be governed 9 | * by the Apache License, Version 2.0, included in the file 10 | * licenses/APL.txt. 11 | */ 12 | 13 | package com.rawlabs.snapi.truffle.ast.expressions.builtin.math_package; 14 | 15 | import com.oracle.truffle.api.dsl.NodeChild; 16 | import com.oracle.truffle.api.dsl.Specialization; 17 | import com.oracle.truffle.api.nodes.NodeInfo; 18 | import com.rawlabs.snapi.truffle.ast.ExpressionNode; 19 | 20 | @NodeInfo(shortName = "Math.Radians") 21 | @NodeChild(value = "argument", type = ExpressionNode.class) 22 | public abstract class MathRadiansNode extends ExpressionNode { 23 | @Specialization 24 | protected double doubleRadians(double argument) { 25 | return Math.toRadians(argument); 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/builtin/string_package/StringEmptyNode.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2023 RAW Labs S.A. 3 | * 4 | * Use of this software is governed by the Business Source License 5 | * included in the file licenses/BSL.txt. 6 | * 7 | * As of the Change Date specified in that file, in accordance with 8 | * the Business Source License, use of this software will be governed 9 | * by the Apache License, Version 2.0, included in the file 10 | * licenses/APL.txt. 11 | */ 12 | 13 | package com.rawlabs.snapi.truffle.ast.expressions.builtin.string_package; 14 | 15 | import com.oracle.truffle.api.dsl.NodeChild; 16 | import com.oracle.truffle.api.dsl.Specialization; 17 | import com.oracle.truffle.api.nodes.NodeInfo; 18 | import com.rawlabs.snapi.truffle.ast.ExpressionNode; 19 | 20 | @NodeInfo(shortName = "String.Empty") 21 | @NodeChild(value = "string") 22 | public abstract class StringEmptyNode extends ExpressionNode { 23 | 24 | @Specialization 25 | protected boolean emptyString(String string) { 26 | return string.isEmpty(); 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/builtin/string_package/StringLengthNode.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2023 RAW Labs S.A. 3 | * 4 | * Use of this software is governed by the Business Source License 5 | * included in the file licenses/BSL.txt. 6 | * 7 | * As of the Change Date specified in that file, in accordance with 8 | * the Business Source License, use of this software will be governed 9 | * by the Apache License, Version 2.0, included in the file 10 | * licenses/APL.txt. 11 | */ 12 | 13 | package com.rawlabs.snapi.truffle.ast.expressions.builtin.string_package; 14 | 15 | import com.oracle.truffle.api.dsl.NodeChild; 16 | import com.oracle.truffle.api.dsl.Specialization; 17 | import com.oracle.truffle.api.nodes.NodeInfo; 18 | import com.rawlabs.snapi.truffle.ast.ExpressionNode; 19 | 20 | @NodeInfo(shortName = "String.Length") 21 | @NodeChild(value = "string") 22 | public abstract class StringLengthNode extends ExpressionNode { 23 | 24 | @Specialization 25 | protected int stringLength(String string) { 26 | return string.length(); 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/builtin/temporals/date_package/DateDayNode.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2023 RAW Labs S.A. 3 | * 4 | * Use of this software is governed by the Business Source License 5 | * included in the file licenses/BSL.txt. 6 | * 7 | * As of the Change Date specified in that file, in accordance with 8 | * the Business Source License, use of this software will be governed 9 | * by the Apache License, Version 2.0, included in the file 10 | * licenses/APL.txt. 11 | */ 12 | 13 | package com.rawlabs.snapi.truffle.ast.expressions.builtin.temporals.date_package; 14 | 15 | import com.oracle.truffle.api.dsl.NodeChild; 16 | import com.oracle.truffle.api.dsl.Specialization; 17 | import com.oracle.truffle.api.nodes.NodeInfo; 18 | import com.rawlabs.snapi.truffle.ast.ExpressionNode; 19 | import com.rawlabs.snapi.truffle.runtime.primitives.DateObject; 20 | 21 | @NodeInfo(shortName = "Date.Day") 22 | @NodeChild("date") 23 | public abstract class DateDayNode extends ExpressionNode { 24 | @Specialization 25 | protected int getDay(DateObject date) { 26 | return date.getDate().getDayOfMonth(); 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/builtin/temporals/date_package/DateMonthNode.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2023 RAW Labs S.A. 3 | * 4 | * Use of this software is governed by the Business Source License 5 | * included in the file licenses/BSL.txt. 6 | * 7 | * As of the Change Date specified in that file, in accordance with 8 | * the Business Source License, use of this software will be governed 9 | * by the Apache License, Version 2.0, included in the file 10 | * licenses/APL.txt. 11 | */ 12 | 13 | package com.rawlabs.snapi.truffle.ast.expressions.builtin.temporals.date_package; 14 | 15 | import com.oracle.truffle.api.dsl.NodeChild; 16 | import com.oracle.truffle.api.dsl.Specialization; 17 | import com.oracle.truffle.api.nodes.NodeInfo; 18 | import com.rawlabs.snapi.truffle.ast.ExpressionNode; 19 | import com.rawlabs.snapi.truffle.runtime.primitives.DateObject; 20 | 21 | @NodeInfo(shortName = "Date.Month") 22 | @NodeChild("date") 23 | public abstract class DateMonthNode extends ExpressionNode { 24 | @Specialization 25 | protected int getMonth(DateObject date) { 26 | return date.getDate().getMonthValue(); 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/builtin/temporals/date_package/DateYearNode.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2023 RAW Labs S.A. 3 | * 4 | * Use of this software is governed by the Business Source License 5 | * included in the file licenses/BSL.txt. 6 | * 7 | * As of the Change Date specified in that file, in accordance with 8 | * the Business Source License, use of this software will be governed 9 | * by the Apache License, Version 2.0, included in the file 10 | * licenses/APL.txt. 11 | */ 12 | 13 | package com.rawlabs.snapi.truffle.ast.expressions.builtin.temporals.date_package; 14 | 15 | import com.oracle.truffle.api.dsl.NodeChild; 16 | import com.oracle.truffle.api.dsl.Specialization; 17 | import com.oracle.truffle.api.nodes.NodeInfo; 18 | import com.rawlabs.snapi.truffle.ast.ExpressionNode; 19 | import com.rawlabs.snapi.truffle.runtime.primitives.DateObject; 20 | 21 | @NodeInfo(shortName = "Date.Year") 22 | @NodeChild("date") 23 | public abstract class DateYearNode extends ExpressionNode { 24 | @Specialization 25 | protected int getYear(DateObject date) { 26 | return date.getDate().getYear(); 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/builtin/temporals/time_package/TimeHourNode.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2023 RAW Labs S.A. 3 | * 4 | * Use of this software is governed by the Business Source License 5 | * included in the file licenses/BSL.txt. 6 | * 7 | * As of the Change Date specified in that file, in accordance with 8 | * the Business Source License, use of this software will be governed 9 | * by the Apache License, Version 2.0, included in the file 10 | * licenses/APL.txt. 11 | */ 12 | 13 | package com.rawlabs.snapi.truffle.ast.expressions.builtin.temporals.time_package; 14 | 15 | import com.oracle.truffle.api.dsl.NodeChild; 16 | import com.oracle.truffle.api.dsl.Specialization; 17 | import com.oracle.truffle.api.nodes.NodeInfo; 18 | import com.rawlabs.snapi.truffle.ast.ExpressionNode; 19 | import com.rawlabs.snapi.truffle.runtime.primitives.TimeObject; 20 | 21 | @NodeInfo(shortName = "Time.Hour") 22 | @NodeChild("time") 23 | public abstract class TimeHourNode extends ExpressionNode { 24 | @Specialization 25 | protected int getHour(TimeObject time) { 26 | return time.getTime().getHour(); 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/literals/BoolNode.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2023 RAW Labs S.A. 3 | * 4 | * Use of this software is governed by the Business Source License 5 | * included in the file licenses/BSL.txt. 6 | * 7 | * As of the Change Date specified in that file, in accordance with 8 | * the Business Source License, use of this software will be governed 9 | * by the Apache License, Version 2.0, included in the file 10 | * licenses/APL.txt. 11 | */ 12 | 13 | package com.rawlabs.snapi.truffle.ast.expressions.literals; 14 | 15 | import com.oracle.truffle.api.frame.VirtualFrame; 16 | import com.rawlabs.snapi.truffle.ast.ExpressionNode; 17 | 18 | public final class BoolNode extends ExpressionNode { 19 | 20 | private final boolean value; 21 | 22 | public BoolNode(boolean value) { 23 | this.value = value; 24 | } 25 | 26 | @Override 27 | public final boolean executeBoolean(VirtualFrame virtualFrame) { 28 | return value; 29 | } 30 | 31 | @Override 32 | public final Boolean executeGeneric(VirtualFrame virtualFrame) { 33 | return value; 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/literals/StringNode.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2023 RAW Labs S.A. 3 | * 4 | * Use of this software is governed by the Business Source License 5 | * included in the file licenses/BSL.txt. 6 | * 7 | * As of the Change Date specified in that file, in accordance with 8 | * the Business Source License, use of this software will be governed 9 | * by the Apache License, Version 2.0, included in the file 10 | * licenses/APL.txt. 11 | */ 12 | 13 | package com.rawlabs.snapi.truffle.ast.expressions.literals; 14 | 15 | import com.oracle.truffle.api.frame.VirtualFrame; 16 | import com.rawlabs.snapi.truffle.ast.ExpressionNode; 17 | 18 | public final class StringNode extends ExpressionNode { 19 | 20 | private final String value; 21 | 22 | public StringNode(String value) { 23 | this.value = value; 24 | } 25 | 26 | @Override 27 | public final Object executeGeneric(VirtualFrame frame) { 28 | return value; 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/literals/UndefinedNode.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2023 RAW Labs S.A. 3 | * 4 | * Use of this software is governed by the Business Source License 5 | * included in the file licenses/BSL.txt. 6 | * 7 | * As of the Change Date specified in that file, in accordance with 8 | * the Business Source License, use of this software will be governed 9 | * by the Apache License, Version 2.0, included in the file 10 | * licenses/APL.txt. 11 | */ 12 | 13 | package com.rawlabs.snapi.truffle.ast.expressions.literals; 14 | 15 | import com.oracle.truffle.api.frame.VirtualFrame; 16 | import com.rawlabs.snapi.truffle.ast.ExpressionNode; 17 | import com.rawlabs.snapi.truffle.runtime.exceptions.TruffleRuntimeException; 18 | 19 | public class UndefinedNode extends ExpressionNode { 20 | 21 | public UndefinedNode() {} 22 | 23 | @Override 24 | public Object executeGeneric(VirtualFrame virtualFrame) { 25 | throw new TruffleRuntimeException("Should never execute undefined node", this); 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/literals/UnitNode.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2023 RAW Labs S.A. 3 | * 4 | * Use of this software is governed by the Business Source License 5 | * included in the file licenses/BSL.txt. 6 | * 7 | * As of the Change Date specified in that file, in accordance with 8 | * the Business Source License, use of this software will be governed 9 | * by the Apache License, Version 2.0, included in the file 10 | * licenses/APL.txt. 11 | */ 12 | 13 | package com.rawlabs.snapi.truffle.ast.expressions.literals; 14 | 15 | import com.oracle.truffle.api.frame.VirtualFrame; 16 | import com.rawlabs.snapi.truffle.ast.ExpressionNode; 17 | 18 | public final class UnitNode extends ExpressionNode { 19 | 20 | public UnitNode() {} 21 | 22 | @Override 23 | public final Object executeGeneric(VirtualFrame virtualFrame) { 24 | return null; 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/option/OptionNoneNode.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2023 RAW Labs S.A. 3 | * 4 | * Use of this software is governed by the Business Source License 5 | * included in the file licenses/BSL.txt. 6 | * 7 | * As of the Change Date specified in that file, in accordance with 8 | * the Business Source License, use of this software will be governed 9 | * by the Apache License, Version 2.0, included in the file 10 | * licenses/APL.txt. 11 | */ 12 | 13 | package com.rawlabs.snapi.truffle.ast.expressions.option; 14 | 15 | import com.oracle.truffle.api.frame.VirtualFrame; 16 | import com.oracle.truffle.api.nodes.NodeInfo; 17 | import com.rawlabs.snapi.truffle.ast.ExpressionNode; 18 | import com.rawlabs.snapi.truffle.runtime.primitives.NullObject; 19 | 20 | @NodeInfo(shortName = "Option.None") 21 | public class OptionNoneNode extends ExpressionNode { 22 | 23 | @Override 24 | public Object executeGeneric(VirtualFrame virtualFrame) { 25 | // TODO (msb): Create per type if we want to 'set()'. 26 | return NullObject.INSTANCE; 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/tryable/TryableFailureNode.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2023 RAW Labs S.A. 3 | * 4 | * Use of this software is governed by the Business Source License 5 | * included in the file licenses/BSL.txt. 6 | * 7 | * As of the Change Date specified in that file, in accordance with 8 | * the Business Source License, use of this software will be governed 9 | * by the Apache License, Version 2.0, included in the file 10 | * licenses/APL.txt. 11 | */ 12 | 13 | package com.rawlabs.snapi.truffle.ast.expressions.tryable; 14 | 15 | import com.oracle.truffle.api.dsl.NodeChild; 16 | import com.oracle.truffle.api.dsl.Specialization; 17 | import com.oracle.truffle.api.nodes.NodeInfo; 18 | import com.rawlabs.snapi.truffle.ast.ExpressionNode; 19 | import com.rawlabs.snapi.truffle.runtime.primitives.ErrorObject; 20 | 21 | @NodeInfo(shortName = "Tryable.Failure") 22 | @NodeChild("message") 23 | public abstract class TryableFailureNode extends ExpressionNode { 24 | 25 | @Specialization 26 | protected Object tryableFailure(String message) { 27 | return new ErrorObject(message); 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/unary/NotNode.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2023 RAW Labs S.A. 3 | * 4 | * Use of this software is governed by the Business Source License 5 | * included in the file licenses/BSL.txt. 6 | * 7 | * As of the Change Date specified in that file, in accordance with 8 | * the Business Source License, use of this software will be governed 9 | * by the Apache License, Version 2.0, included in the file 10 | * licenses/APL.txt. 11 | */ 12 | 13 | package com.rawlabs.snapi.truffle.ast.expressions.unary; 14 | 15 | import com.oracle.truffle.api.dsl.NodeChild; 16 | import com.oracle.truffle.api.dsl.Specialization; 17 | import com.rawlabs.snapi.truffle.ast.ExpressionNode; 18 | 19 | @NodeChild("value") 20 | public abstract class NotNode extends ExpressionNode { 21 | 22 | @Specialization 23 | protected boolean not(boolean value) { 24 | return !value; 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/unary/NotNullNode.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2023 RAW Labs S.A. 3 | * 4 | * Use of this software is governed by the Business Source License 5 | * included in the file licenses/BSL.txt. 6 | * 7 | * As of the Change Date specified in that file, in accordance with 8 | * the Business Source License, use of this software will be governed 9 | * by the Apache License, Version 2.0, included in the file 10 | * licenses/APL.txt. 11 | */ 12 | 13 | package com.rawlabs.snapi.truffle.ast.expressions.unary; 14 | 15 | import com.oracle.truffle.api.dsl.NodeChild; 16 | import com.oracle.truffle.api.dsl.Specialization; 17 | import com.rawlabs.snapi.truffle.ast.ExpressionNode; 18 | 19 | @NodeChild("value") 20 | public abstract class NotNullNode extends ExpressionNode { 21 | 22 | @Specialization 23 | protected boolean isNotNull(Object value) { 24 | return value != null; 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/io/csv/reader/parser/BoolParseCsvNode.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2023 RAW Labs S.A. 3 | * 4 | * Use of this software is governed by the Business Source License 5 | * included in the file licenses/BSL.txt. 6 | * 7 | * As of the Change Date specified in that file, in accordance with 8 | * the Business Source License, use of this software will be governed 9 | * by the Apache License, Version 2.0, included in the file 10 | * licenses/APL.txt. 11 | */ 12 | 13 | package com.rawlabs.snapi.truffle.ast.io.csv.reader.parser; 14 | 15 | import com.oracle.truffle.api.frame.VirtualFrame; 16 | import com.oracle.truffle.api.nodes.NodeInfo; 17 | import com.rawlabs.snapi.truffle.ast.ExpressionNode; 18 | 19 | @NodeInfo(shortName = "BoolParseCsv") 20 | public class BoolParseCsvNode extends ExpressionNode { 21 | 22 | public Object executeGeneric(VirtualFrame frame) { 23 | Object[] args = frame.getArguments(); 24 | TruffleCsvParser parser = (TruffleCsvParser) args[0]; 25 | return parser.getBool(this); 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/io/csv/reader/parser/DateParseCsvNode.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2023 RAW Labs S.A. 3 | * 4 | * Use of this software is governed by the Business Source License 5 | * included in the file licenses/BSL.txt. 6 | * 7 | * As of the Change Date specified in that file, in accordance with 8 | * the Business Source License, use of this software will be governed 9 | * by the Apache License, Version 2.0, included in the file 10 | * licenses/APL.txt. 11 | */ 12 | 13 | package com.rawlabs.snapi.truffle.ast.io.csv.reader.parser; 14 | 15 | import com.oracle.truffle.api.frame.VirtualFrame; 16 | import com.oracle.truffle.api.nodes.NodeInfo; 17 | import com.rawlabs.snapi.truffle.ast.ExpressionNode; 18 | import com.rawlabs.snapi.truffle.runtime.primitives.DateObject; 19 | 20 | @NodeInfo(shortName = "DateParseCsv") 21 | public class DateParseCsvNode extends ExpressionNode { 22 | 23 | public DateObject executeGeneric(VirtualFrame frame) { 24 | Object[] args = frame.getArguments(); 25 | TruffleCsvParser parser = (TruffleCsvParser) args[0]; 26 | return parser.getDate(this); 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/io/csv/reader/parser/DecimalParseCsvNode.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2023 RAW Labs S.A. 3 | * 4 | * Use of this software is governed by the Business Source License 5 | * included in the file licenses/BSL.txt. 6 | * 7 | * As of the Change Date specified in that file, in accordance with 8 | * the Business Source License, use of this software will be governed 9 | * by the Apache License, Version 2.0, included in the file 10 | * licenses/APL.txt. 11 | */ 12 | 13 | package com.rawlabs.snapi.truffle.ast.io.csv.reader.parser; 14 | 15 | import com.oracle.truffle.api.frame.VirtualFrame; 16 | import com.oracle.truffle.api.nodes.NodeInfo; 17 | import com.rawlabs.snapi.truffle.ast.ExpressionNode; 18 | 19 | @NodeInfo(shortName = "DecimalParseCsv") 20 | public class DecimalParseCsvNode extends ExpressionNode { 21 | 22 | public Object executeGeneric(VirtualFrame frame) { 23 | Object[] args = frame.getArguments(); 24 | TruffleCsvParser parser = (TruffleCsvParser) args[0]; 25 | return parser.getDecimal(this); 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/io/csv/reader/parser/DoubleParseCsvNode.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2023 RAW Labs S.A. 3 | * 4 | * Use of this software is governed by the Business Source License 5 | * included in the file licenses/BSL.txt. 6 | * 7 | * As of the Change Date specified in that file, in accordance with 8 | * the Business Source License, use of this software will be governed 9 | * by the Apache License, Version 2.0, included in the file 10 | * licenses/APL.txt. 11 | */ 12 | 13 | package com.rawlabs.snapi.truffle.ast.io.csv.reader.parser; 14 | 15 | import com.oracle.truffle.api.frame.VirtualFrame; 16 | import com.oracle.truffle.api.nodes.NodeInfo; 17 | import com.rawlabs.snapi.truffle.ast.ExpressionNode; 18 | 19 | @NodeInfo(shortName = "DoubleParseCsv") 20 | public class DoubleParseCsvNode extends ExpressionNode { 21 | 22 | public Object executeGeneric(VirtualFrame frame) { 23 | Object[] args = frame.getArguments(); 24 | TruffleCsvParser parser = (TruffleCsvParser) args[0]; 25 | return parser.getDouble(this); 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/io/csv/reader/parser/IntParseCsvNode.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2023 RAW Labs S.A. 3 | * 4 | * Use of this software is governed by the Business Source License 5 | * included in the file licenses/BSL.txt. 6 | * 7 | * As of the Change Date specified in that file, in accordance with 8 | * the Business Source License, use of this software will be governed 9 | * by the Apache License, Version 2.0, included in the file 10 | * licenses/APL.txt. 11 | */ 12 | 13 | package com.rawlabs.snapi.truffle.ast.io.csv.reader.parser; 14 | 15 | import com.oracle.truffle.api.frame.VirtualFrame; 16 | import com.oracle.truffle.api.nodes.NodeInfo; 17 | import com.rawlabs.snapi.truffle.ast.ExpressionNode; 18 | 19 | @NodeInfo(shortName = "IntParseCsv") 20 | public class IntParseCsvNode extends ExpressionNode { 21 | 22 | public Object executeGeneric(VirtualFrame frame) { 23 | Object[] args = frame.getArguments(); 24 | TruffleCsvParser parser = (TruffleCsvParser) args[0]; 25 | return parser.getInt(this); 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/io/csv/reader/parser/LongParseCsvNode.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2023 RAW Labs S.A. 3 | * 4 | * Use of this software is governed by the Business Source License 5 | * included in the file licenses/BSL.txt. 6 | * 7 | * As of the Change Date specified in that file, in accordance with 8 | * the Business Source License, use of this software will be governed 9 | * by the Apache License, Version 2.0, included in the file 10 | * licenses/APL.txt. 11 | */ 12 | 13 | package com.rawlabs.snapi.truffle.ast.io.csv.reader.parser; 14 | 15 | import com.oracle.truffle.api.frame.VirtualFrame; 16 | import com.oracle.truffle.api.nodes.NodeInfo; 17 | import com.rawlabs.snapi.truffle.ast.ExpressionNode; 18 | 19 | @NodeInfo(shortName = "IntParseCsv") 20 | public class LongParseCsvNode extends ExpressionNode { 21 | 22 | public Object executeGeneric(VirtualFrame frame) { 23 | Object[] args = frame.getArguments(); 24 | TruffleCsvParser parser = (TruffleCsvParser) args[0]; 25 | return parser.getLong(this); 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/io/csv/reader/parser/OptionBoolParseCsvNode.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2023 RAW Labs S.A. 3 | * 4 | * Use of this software is governed by the Business Source License 5 | * included in the file licenses/BSL.txt. 6 | * 7 | * As of the Change Date specified in that file, in accordance with 8 | * the Business Source License, use of this software will be governed 9 | * by the Apache License, Version 2.0, included in the file 10 | * licenses/APL.txt. 11 | */ 12 | 13 | package com.rawlabs.snapi.truffle.ast.io.csv.reader.parser; 14 | 15 | import com.oracle.truffle.api.frame.VirtualFrame; 16 | import com.oracle.truffle.api.nodes.NodeInfo; 17 | import com.rawlabs.snapi.truffle.ast.ExpressionNode; 18 | 19 | @NodeInfo(shortName = "OptionBoolParseCsv") 20 | public class OptionBoolParseCsvNode extends ExpressionNode { 21 | 22 | public Object executeGeneric(VirtualFrame frame) { 23 | Object[] args = frame.getArguments(); 24 | TruffleCsvParser parser = (TruffleCsvParser) args[0]; 25 | return parser.getOptionBool(this); 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/io/csv/reader/parser/OptionByteParseCsvNode.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2023 RAW Labs S.A. 3 | * 4 | * Use of this software is governed by the Business Source License 5 | * included in the file licenses/BSL.txt. 6 | * 7 | * As of the Change Date specified in that file, in accordance with 8 | * the Business Source License, use of this software will be governed 9 | * by the Apache License, Version 2.0, included in the file 10 | * licenses/APL.txt. 11 | */ 12 | 13 | package com.rawlabs.snapi.truffle.ast.io.csv.reader.parser; 14 | 15 | import com.oracle.truffle.api.frame.VirtualFrame; 16 | import com.oracle.truffle.api.nodes.NodeInfo; 17 | import com.rawlabs.snapi.truffle.ast.ExpressionNode; 18 | 19 | @NodeInfo(shortName = "OptionByteParseCsv") 20 | public class OptionByteParseCsvNode extends ExpressionNode { 21 | 22 | public Object executeGeneric(VirtualFrame frame) { 23 | Object[] args = frame.getArguments(); 24 | TruffleCsvParser parser = (TruffleCsvParser) args[0]; 25 | return parser.getOptionByte(this); 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/io/csv/reader/parser/OptionDateParseCsvNode.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2023 RAW Labs S.A. 3 | * 4 | * Use of this software is governed by the Business Source License 5 | * included in the file licenses/BSL.txt. 6 | * 7 | * As of the Change Date specified in that file, in accordance with 8 | * the Business Source License, use of this software will be governed 9 | * by the Apache License, Version 2.0, included in the file 10 | * licenses/APL.txt. 11 | */ 12 | 13 | package com.rawlabs.snapi.truffle.ast.io.csv.reader.parser; 14 | 15 | import com.oracle.truffle.api.frame.VirtualFrame; 16 | import com.oracle.truffle.api.nodes.NodeInfo; 17 | import com.rawlabs.snapi.truffle.ast.ExpressionNode; 18 | 19 | @NodeInfo(shortName = "OptionDateParseCsv") 20 | public class OptionDateParseCsvNode extends ExpressionNode { 21 | 22 | public Object executeGeneric(VirtualFrame frame) { 23 | Object[] args = frame.getArguments(); 24 | TruffleCsvParser parser = (TruffleCsvParser) args[0]; 25 | return parser.getOptionDate(this); 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/io/csv/reader/parser/OptionDecimalParseCsvNode.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2023 RAW Labs S.A. 3 | * 4 | * Use of this software is governed by the Business Source License 5 | * included in the file licenses/BSL.txt. 6 | * 7 | * As of the Change Date specified in that file, in accordance with 8 | * the Business Source License, use of this software will be governed 9 | * by the Apache License, Version 2.0, included in the file 10 | * licenses/APL.txt. 11 | */ 12 | 13 | package com.rawlabs.snapi.truffle.ast.io.csv.reader.parser; 14 | 15 | import com.oracle.truffle.api.frame.VirtualFrame; 16 | import com.oracle.truffle.api.nodes.NodeInfo; 17 | import com.rawlabs.snapi.truffle.ast.ExpressionNode; 18 | 19 | @NodeInfo(shortName = "OptionDecimalParseCsv") 20 | public class OptionDecimalParseCsvNode extends ExpressionNode { 21 | 22 | public Object executeGeneric(VirtualFrame frame) { 23 | Object[] args = frame.getArguments(); 24 | TruffleCsvParser parser = (TruffleCsvParser) args[0]; 25 | return parser.getOptionDecimal(this); 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/io/csv/reader/parser/OptionDoubleParseCsvNode.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2023 RAW Labs S.A. 3 | * 4 | * Use of this software is governed by the Business Source License 5 | * included in the file licenses/BSL.txt. 6 | * 7 | * As of the Change Date specified in that file, in accordance with 8 | * the Business Source License, use of this software will be governed 9 | * by the Apache License, Version 2.0, included in the file 10 | * licenses/APL.txt. 11 | */ 12 | 13 | package com.rawlabs.snapi.truffle.ast.io.csv.reader.parser; 14 | 15 | import com.oracle.truffle.api.frame.VirtualFrame; 16 | import com.oracle.truffle.api.nodes.NodeInfo; 17 | import com.rawlabs.snapi.truffle.ast.ExpressionNode; 18 | 19 | @NodeInfo(shortName = "OptionDoubleParseCsv") 20 | public class OptionDoubleParseCsvNode extends ExpressionNode { 21 | 22 | public Object executeGeneric(VirtualFrame frame) { 23 | Object[] args = frame.getArguments(); 24 | TruffleCsvParser parser = (TruffleCsvParser) args[0]; 25 | return parser.getOptionDouble(this); 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/io/csv/reader/parser/OptionFloatParseCsvNode.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2023 RAW Labs S.A. 3 | * 4 | * Use of this software is governed by the Business Source License 5 | * included in the file licenses/BSL.txt. 6 | * 7 | * As of the Change Date specified in that file, in accordance with 8 | * the Business Source License, use of this software will be governed 9 | * by the Apache License, Version 2.0, included in the file 10 | * licenses/APL.txt. 11 | */ 12 | 13 | package com.rawlabs.snapi.truffle.ast.io.csv.reader.parser; 14 | 15 | import com.oracle.truffle.api.frame.VirtualFrame; 16 | import com.oracle.truffle.api.nodes.NodeInfo; 17 | import com.rawlabs.snapi.truffle.ast.ExpressionNode; 18 | 19 | @NodeInfo(shortName = "OptionFloatParseCsv") 20 | public class OptionFloatParseCsvNode extends ExpressionNode { 21 | 22 | public Object executeGeneric(VirtualFrame frame) { 23 | Object[] args = frame.getArguments(); 24 | TruffleCsvParser parser = (TruffleCsvParser) args[0]; 25 | return parser.getOptionFloat(this); 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/io/csv/reader/parser/OptionIntParseCsvNode.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2023 RAW Labs S.A. 3 | * 4 | * Use of this software is governed by the Business Source License 5 | * included in the file licenses/BSL.txt. 6 | * 7 | * As of the Change Date specified in that file, in accordance with 8 | * the Business Source License, use of this software will be governed 9 | * by the Apache License, Version 2.0, included in the file 10 | * licenses/APL.txt. 11 | */ 12 | 13 | package com.rawlabs.snapi.truffle.ast.io.csv.reader.parser; 14 | 15 | import com.oracle.truffle.api.frame.VirtualFrame; 16 | import com.oracle.truffle.api.nodes.NodeInfo; 17 | import com.rawlabs.snapi.truffle.ast.ExpressionNode; 18 | 19 | @NodeInfo(shortName = "OptionIntParseCsv") 20 | public class OptionIntParseCsvNode extends ExpressionNode { 21 | 22 | public Object executeGeneric(VirtualFrame frame) { 23 | Object[] args = frame.getArguments(); 24 | TruffleCsvParser parser = (TruffleCsvParser) args[0]; 25 | return parser.getOptionInt(this); 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/io/csv/reader/parser/OptionLongParseCsvNode.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2023 RAW Labs S.A. 3 | * 4 | * Use of this software is governed by the Business Source License 5 | * included in the file licenses/BSL.txt. 6 | * 7 | * As of the Change Date specified in that file, in accordance with 8 | * the Business Source License, use of this software will be governed 9 | * by the Apache License, Version 2.0, included in the file 10 | * licenses/APL.txt. 11 | */ 12 | 13 | package com.rawlabs.snapi.truffle.ast.io.csv.reader.parser; 14 | 15 | import com.oracle.truffle.api.frame.VirtualFrame; 16 | import com.oracle.truffle.api.nodes.NodeInfo; 17 | import com.rawlabs.snapi.truffle.ast.ExpressionNode; 18 | 19 | @NodeInfo(shortName = "OptionLongParseCsv") 20 | public class OptionLongParseCsvNode extends ExpressionNode { 21 | 22 | public Object executeGeneric(VirtualFrame frame) { 23 | Object[] args = frame.getArguments(); 24 | TruffleCsvParser parser = (TruffleCsvParser) args[0]; 25 | return parser.getOptionLong(this); 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/io/csv/reader/parser/OptionShortParseCsvNode.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2023 RAW Labs S.A. 3 | * 4 | * Use of this software is governed by the Business Source License 5 | * included in the file licenses/BSL.txt. 6 | * 7 | * As of the Change Date specified in that file, in accordance with 8 | * the Business Source License, use of this software will be governed 9 | * by the Apache License, Version 2.0, included in the file 10 | * licenses/APL.txt. 11 | */ 12 | 13 | package com.rawlabs.snapi.truffle.ast.io.csv.reader.parser; 14 | 15 | import com.oracle.truffle.api.frame.VirtualFrame; 16 | import com.oracle.truffle.api.nodes.NodeInfo; 17 | import com.rawlabs.snapi.truffle.ast.ExpressionNode; 18 | 19 | @NodeInfo(shortName = "OptionShortParseCsv") 20 | public class OptionShortParseCsvNode extends ExpressionNode { 21 | 22 | public Object executeGeneric(VirtualFrame frame) { 23 | Object[] args = frame.getArguments(); 24 | TruffleCsvParser parser = (TruffleCsvParser) args[0]; 25 | return parser.getOptionShort(this); 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/io/csv/reader/parser/OptionStringParseCsvNode.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2023 RAW Labs S.A. 3 | * 4 | * Use of this software is governed by the Business Source License 5 | * included in the file licenses/BSL.txt. 6 | * 7 | * As of the Change Date specified in that file, in accordance with 8 | * the Business Source License, use of this software will be governed 9 | * by the Apache License, Version 2.0, included in the file 10 | * licenses/APL.txt. 11 | */ 12 | 13 | package com.rawlabs.snapi.truffle.ast.io.csv.reader.parser; 14 | 15 | import com.oracle.truffle.api.frame.VirtualFrame; 16 | import com.oracle.truffle.api.nodes.NodeInfo; 17 | import com.rawlabs.snapi.truffle.ast.ExpressionNode; 18 | 19 | @NodeInfo(shortName = "OptionStringParseCsv") 20 | public class OptionStringParseCsvNode extends ExpressionNode { 21 | 22 | public Object executeGeneric(VirtualFrame frame) { 23 | Object[] args = frame.getArguments(); 24 | TruffleCsvParser parser = (TruffleCsvParser) args[0]; 25 | return parser.getOptionString(this); 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/io/csv/reader/parser/OptionTimeParseCsvNode.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2023 RAW Labs S.A. 3 | * 4 | * Use of this software is governed by the Business Source License 5 | * included in the file licenses/BSL.txt. 6 | * 7 | * As of the Change Date specified in that file, in accordance with 8 | * the Business Source License, use of this software will be governed 9 | * by the Apache License, Version 2.0, included in the file 10 | * licenses/APL.txt. 11 | */ 12 | 13 | package com.rawlabs.snapi.truffle.ast.io.csv.reader.parser; 14 | 15 | import com.oracle.truffle.api.frame.VirtualFrame; 16 | import com.oracle.truffle.api.nodes.NodeInfo; 17 | import com.rawlabs.snapi.truffle.ast.ExpressionNode; 18 | 19 | @NodeInfo(shortName = "OptionTimeParseCsv") 20 | public class OptionTimeParseCsvNode extends ExpressionNode { 21 | 22 | public Object executeGeneric(VirtualFrame frame) { 23 | Object[] args = frame.getArguments(); 24 | TruffleCsvParser parser = (TruffleCsvParser) args[0]; 25 | return parser.getOptionTime(this); 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/io/csv/reader/parser/OptionTimestampParseCsvNode.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2023 RAW Labs S.A. 3 | * 4 | * Use of this software is governed by the Business Source License 5 | * included in the file licenses/BSL.txt. 6 | * 7 | * As of the Change Date specified in that file, in accordance with 8 | * the Business Source License, use of this software will be governed 9 | * by the Apache License, Version 2.0, included in the file 10 | * licenses/APL.txt. 11 | */ 12 | 13 | package com.rawlabs.snapi.truffle.ast.io.csv.reader.parser; 14 | 15 | import com.oracle.truffle.api.frame.VirtualFrame; 16 | import com.oracle.truffle.api.nodes.NodeInfo; 17 | import com.rawlabs.snapi.truffle.ast.ExpressionNode; 18 | 19 | @NodeInfo(shortName = "OptionTimestampParseCsv") 20 | public class OptionTimestampParseCsvNode extends ExpressionNode { 21 | 22 | public Object executeGeneric(VirtualFrame frame) { 23 | Object[] args = frame.getArguments(); 24 | TruffleCsvParser parser = (TruffleCsvParser) args[0]; 25 | return parser.getOptionTimestamp(this); 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/io/csv/reader/parser/OptionUndefinedParseCsvNode.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2023 RAW Labs S.A. 3 | * 4 | * Use of this software is governed by the Business Source License 5 | * included in the file licenses/BSL.txt. 6 | * 7 | * As of the Change Date specified in that file, in accordance with 8 | * the Business Source License, use of this software will be governed 9 | * by the Apache License, Version 2.0, included in the file 10 | * licenses/APL.txt. 11 | */ 12 | 13 | package com.rawlabs.snapi.truffle.ast.io.csv.reader.parser; 14 | 15 | import com.oracle.truffle.api.frame.VirtualFrame; 16 | import com.oracle.truffle.api.nodes.NodeInfo; 17 | import com.rawlabs.snapi.truffle.ast.ExpressionNode; 18 | 19 | @NodeInfo(shortName = "OptionUndefinedParseCsv") 20 | public class OptionUndefinedParseCsvNode extends ExpressionNode { 21 | 22 | public Object executeGeneric(VirtualFrame frame) { 23 | Object[] args = frame.getArguments(); 24 | TruffleCsvParser parser = (TruffleCsvParser) args[0]; 25 | return parser.getOptionUndefined(this); 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/io/csv/reader/parser/ShortParseCsvNode.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2023 RAW Labs S.A. 3 | * 4 | * Use of this software is governed by the Business Source License 5 | * included in the file licenses/BSL.txt. 6 | * 7 | * As of the Change Date specified in that file, in accordance with 8 | * the Business Source License, use of this software will be governed 9 | * by the Apache License, Version 2.0, included in the file 10 | * licenses/APL.txt. 11 | */ 12 | 13 | package com.rawlabs.snapi.truffle.ast.io.csv.reader.parser; 14 | 15 | import com.oracle.truffle.api.frame.VirtualFrame; 16 | import com.oracle.truffle.api.nodes.NodeInfo; 17 | import com.rawlabs.snapi.truffle.ast.ExpressionNode; 18 | 19 | @NodeInfo(shortName = "ShortParseCsv") 20 | public class ShortParseCsvNode extends ExpressionNode { 21 | 22 | public Object executeGeneric(VirtualFrame frame) { 23 | Object[] args = frame.getArguments(); 24 | TruffleCsvParser parser = (TruffleCsvParser) args[0]; 25 | return parser.getByte(this); 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/io/csv/reader/parser/StringParseCsvNode.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2023 RAW Labs S.A. 3 | * 4 | * Use of this software is governed by the Business Source License 5 | * included in the file licenses/BSL.txt. 6 | * 7 | * As of the Change Date specified in that file, in accordance with 8 | * the Business Source License, use of this software will be governed 9 | * by the Apache License, Version 2.0, included in the file 10 | * licenses/APL.txt. 11 | */ 12 | 13 | package com.rawlabs.snapi.truffle.ast.io.csv.reader.parser; 14 | 15 | import com.oracle.truffle.api.frame.VirtualFrame; 16 | import com.oracle.truffle.api.nodes.NodeInfo; 17 | import com.rawlabs.snapi.truffle.ast.ExpressionNode; 18 | 19 | @NodeInfo(shortName = "StringParseCsv") 20 | public class StringParseCsvNode extends ExpressionNode { 21 | 22 | public Object executeGeneric(VirtualFrame frame) { 23 | Object[] args = frame.getArguments(); 24 | TruffleCsvParser parser = (TruffleCsvParser) args[0]; 25 | return parser.getString(this); 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/io/csv/reader/parser/TimeParseCsvNode.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2023 RAW Labs S.A. 3 | * 4 | * Use of this software is governed by the Business Source License 5 | * included in the file licenses/BSL.txt. 6 | * 7 | * As of the Change Date specified in that file, in accordance with 8 | * the Business Source License, use of this software will be governed 9 | * by the Apache License, Version 2.0, included in the file 10 | * licenses/APL.txt. 11 | */ 12 | 13 | package com.rawlabs.snapi.truffle.ast.io.csv.reader.parser; 14 | 15 | import com.oracle.truffle.api.frame.VirtualFrame; 16 | import com.oracle.truffle.api.nodes.NodeInfo; 17 | import com.rawlabs.snapi.truffle.ast.ExpressionNode; 18 | import com.rawlabs.snapi.truffle.runtime.primitives.TimeObject; 19 | 20 | @NodeInfo(shortName = "TimeParseCsv") 21 | public class TimeParseCsvNode extends ExpressionNode { 22 | 23 | public TimeObject executeGeneric(VirtualFrame frame) { 24 | Object[] args = frame.getArguments(); 25 | TruffleCsvParser parser = (TruffleCsvParser) args[0]; 26 | return parser.getTime(this); 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/io/csv/reader/parser/UndefinedParseCsvNode.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2023 RAW Labs S.A. 3 | * 4 | * Use of this software is governed by the Business Source License 5 | * included in the file licenses/BSL.txt. 6 | * 7 | * As of the Change Date specified in that file, in accordance with 8 | * the Business Source License, use of this software will be governed 9 | * by the Apache License, Version 2.0, included in the file 10 | * licenses/APL.txt. 11 | */ 12 | 13 | package com.rawlabs.snapi.truffle.ast.io.csv.reader.parser; 14 | 15 | import com.oracle.truffle.api.frame.VirtualFrame; 16 | import com.oracle.truffle.api.nodes.NodeInfo; 17 | import com.rawlabs.snapi.truffle.ast.ExpressionNode; 18 | 19 | @NodeInfo(shortName = "UndefinedParseCsv") 20 | public class UndefinedParseCsvNode extends ExpressionNode { 21 | 22 | public Object executeGeneric(VirtualFrame frame) { 23 | Object[] args = frame.getArguments(); 24 | TruffleCsvParser parser = (TruffleCsvParser) args[0]; 25 | return parser.getUndefined(this); 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/io/jdbc/BoolReadJdbcQuery.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2023 RAW Labs S.A. 3 | * 4 | * Use of this software is governed by the Business Source License 5 | * included in the file licenses/BSL.txt. 6 | * 7 | * As of the Change Date specified in that file, in accordance with 8 | * the Business Source License, use of this software will be governed 9 | * by the Apache License, Version 2.0, included in the file 10 | * licenses/APL.txt. 11 | */ 12 | 13 | package com.rawlabs.snapi.truffle.ast.io.jdbc; 14 | 15 | import com.oracle.truffle.api.frame.VirtualFrame; 16 | import com.oracle.truffle.api.nodes.NodeInfo; 17 | import com.rawlabs.snapi.truffle.ast.ExpressionNode; 18 | 19 | @NodeInfo(shortName = "Jdbc.BoolRead") 20 | public class BoolReadJdbcQuery extends ExpressionNode { 21 | 22 | private final String idx; 23 | 24 | public BoolReadJdbcQuery(String idx) { 25 | this.idx = idx; 26 | } 27 | 28 | public Object executeGeneric(VirtualFrame frame) { 29 | Object[] args = frame.getArguments(); 30 | JdbcQuery rs = (JdbcQuery) args[0]; 31 | return rs.getBool(idx, this); 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/io/json/writer/internal/UndefinedWriteJsonNode.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2023 RAW Labs S.A. 3 | * 4 | * Use of this software is governed by the Business Source License 5 | * included in the file licenses/BSL.txt. 6 | * 7 | * As of the Change Date specified in that file, in accordance with 8 | * the Business Source License, use of this software will be governed 9 | * by the Apache License, Version 2.0, included in the file 10 | * licenses/APL.txt. 11 | */ 12 | 13 | package com.rawlabs.snapi.truffle.ast.io.json.writer.internal; 14 | 15 | import com.oracle.truffle.api.frame.VirtualFrame; 16 | import com.oracle.truffle.api.nodes.NodeInfo; 17 | import com.rawlabs.snapi.truffle.ast.StatementNode; 18 | 19 | @NodeInfo(shortName = "UndefinedWriteJson") 20 | public class UndefinedWriteJsonNode extends StatementNode { 21 | 22 | public void executeVoid(VirtualFrame frame) { 23 | assert (false); 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/io/xml/parser/StringParseXmlNode.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2023 RAW Labs S.A. 3 | * 4 | * Use of this software is governed by the Business Source License 5 | * included in the file licenses/BSL.txt. 6 | * 7 | * As of the Change Date specified in that file, in accordance with 8 | * the Business Source License, use of this software will be governed 9 | * by the Apache License, Version 2.0, included in the file 10 | * licenses/APL.txt. 11 | */ 12 | 13 | package com.rawlabs.snapi.truffle.ast.io.xml.parser; 14 | 15 | import com.oracle.truffle.api.dsl.Specialization; 16 | import com.oracle.truffle.api.frame.VirtualFrame; 17 | import com.oracle.truffle.api.nodes.NodeInfo; 18 | import com.rawlabs.snapi.truffle.ast.ExpressionNode; 19 | 20 | @NodeInfo(shortName = "StringParseXml") 21 | public abstract class StringParseXmlNode extends ExpressionNode { 22 | 23 | @Specialization 24 | public String parse(VirtualFrame frame) { 25 | Object[] args = frame.getArguments(); 26 | return (String) args[1]; 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/io/xml/parser/TruffleXmlParserSettings.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2023 RAW Labs S.A. 3 | * 4 | * Use of this software is governed by the Business Source License 5 | * included in the file licenses/BSL.txt. 6 | * 7 | * As of the Change Date specified in that file, in accordance with 8 | * the Business Source License, use of this software will be governed 9 | * by the Apache License, Version 2.0, included in the file 10 | * licenses/APL.txt. 11 | */ 12 | 13 | package com.rawlabs.snapi.truffle.ast.io.xml.parser; 14 | 15 | public class TruffleXmlParserSettings { 16 | 17 | protected final String dateFormat; 18 | protected final String timeFormat; 19 | protected final String timestampFormat; 20 | 21 | public TruffleXmlParserSettings(String dateFormat, String timeFormat, String timestampFormat) { 22 | this.dateFormat = dateFormat; 23 | this.timeFormat = timeFormat; 24 | this.timestampFormat = timestampFormat; 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/local/ReadParamNode.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2023 RAW Labs S.A. 3 | * 4 | * Use of this software is governed by the Business Source License 5 | * included in the file licenses/BSL.txt. 6 | * 7 | * As of the Change Date specified in that file, in accordance with 8 | * the Business Source License, use of this software will be governed 9 | * by the Apache License, Version 2.0, included in the file 10 | * licenses/APL.txt. 11 | */ 12 | 13 | package com.rawlabs.snapi.truffle.ast.local; 14 | 15 | import com.oracle.truffle.api.frame.VirtualFrame; 16 | import com.rawlabs.snapi.truffle.ast.ExpressionNode; 17 | 18 | public class ReadParamNode extends ExpressionNode { 19 | 20 | private final int index; 21 | 22 | public ReadParamNode(int index) { 23 | this.index = index; 24 | } 25 | 26 | @Override 27 | public Object executeGeneric(VirtualFrame frame) { 28 | return frame.getArguments()[index + 1]; 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/tryable_nullable/Nullable.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2023 RAW Labs S.A. 3 | * 4 | * Use of this software is governed by the Business Source License 5 | * included in the file licenses/BSL.txt. 6 | * 7 | * As of the Change Date specified in that file, in accordance with 8 | * the Business Source License, use of this software will be governed 9 | * by the Apache License, Version 2.0, included in the file 10 | * licenses/APL.txt. 11 | */ 12 | 13 | package com.rawlabs.snapi.truffle.ast.tryable_nullable; 14 | 15 | import com.rawlabs.snapi.truffle.runtime.primitives.NullObject; 16 | 17 | public class Nullable { 18 | public static boolean isNull(Object value) { 19 | return value == NullObject.INSTANCE; 20 | } 21 | 22 | public static boolean isNotNull(Object value) { 23 | return value != NullObject.INSTANCE; 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/tryable_nullable/Tryable.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2023 RAW Labs S.A. 3 | * 4 | * Use of this software is governed by the Business Source License 5 | * included in the file licenses/BSL.txt. 6 | * 7 | * As of the Change Date specified in that file, in accordance with 8 | * the Business Source License, use of this software will be governed 9 | * by the Apache License, Version 2.0, included in the file 10 | * licenses/APL.txt. 11 | */ 12 | 13 | package com.rawlabs.snapi.truffle.ast.tryable_nullable; 14 | 15 | import com.rawlabs.snapi.truffle.runtime.primitives.ErrorObject; 16 | 17 | public class Tryable { 18 | public static boolean isError(Object value) { 19 | return value instanceof ErrorObject; 20 | } 21 | 22 | public static boolean isSuccess(Object value) { 23 | return !(value instanceof ErrorObject); 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/SlotLocation.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2023 RAW Labs S.A. 3 | * 4 | * Use of this software is governed by the Business Source License 5 | * included in the file licenses/BSL.txt. 6 | * 7 | * As of the Change Date specified in that file, in accordance with 8 | * the Business Source License, use of this software will be governed 9 | * by the Apache License, Version 2.0, included in the file 10 | * licenses/APL.txt. 11 | */ 12 | 13 | package com.rawlabs.snapi.truffle.emitter; 14 | 15 | public record SlotLocation(int depth, int slot) {} 16 | -------------------------------------------------------------------------------- /snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/TruffleArg.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2023 RAW Labs S.A. 3 | * 4 | * Use of this software is governed by the Business Source License 5 | * included in the file licenses/BSL.txt. 6 | * 7 | * As of the Change Date specified in that file, in accordance with 8 | * the Business Source License, use of this software will be governed 9 | * by the Apache License, Version 2.0, included in the file 10 | * licenses/APL.txt. 11 | */ 12 | 13 | package com.rawlabs.snapi.truffle.emitter; 14 | 15 | import com.rawlabs.snapi.frontend.base.source.Type; 16 | import com.rawlabs.snapi.truffle.ast.ExpressionNode; 17 | 18 | public record TruffleArg(ExpressionNode exprNode, Type type, String identifier) {} 19 | -------------------------------------------------------------------------------- /snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/TruffleBuildBody.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2023 RAW Labs S.A. 3 | * 4 | * Use of this software is governed by the Business Source License 5 | * included in the file licenses/BSL.txt. 6 | * 7 | * As of the Change Date specified in that file, in accordance with 8 | * the Business Source License, use of this software will be governed 9 | * by the Apache License, Version 2.0, included in the file 10 | * licenses/APL.txt. 11 | */ 12 | 13 | package com.rawlabs.snapi.truffle.emitter; 14 | 15 | import com.rawlabs.snapi.truffle.ast.ExpressionNode; 16 | 17 | public interface TruffleBuildBody { 18 | public ExpressionNode buildBody(); 19 | } 20 | -------------------------------------------------------------------------------- /snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/TruffleEntrypoint.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2023 RAW Labs S.A. 3 | * 4 | * Use of this software is governed by the Business Source License 5 | * included in the file licenses/BSL.txt. 6 | * 7 | * As of the Change Date specified in that file, in accordance with 8 | * the Business Source License, use of this software will be governed 9 | * by the Apache License, Version 2.0, included in the file 10 | * licenses/APL.txt. 11 | */ 12 | 13 | package com.rawlabs.snapi.truffle.emitter; 14 | 15 | import com.oracle.truffle.api.frame.FrameDescriptor; 16 | import com.oracle.truffle.api.nodes.RootNode; 17 | import com.rawlabs.snapi.frontend.api.Entrypoint; 18 | 19 | public class TruffleEntrypoint implements Entrypoint { 20 | 21 | RootNode rootNode; 22 | 23 | FrameDescriptor frameDescriptor; 24 | 25 | public TruffleEntrypoint(RootNode rootNode, FrameDescriptor frameDescriptor) { 26 | this.rootNode = rootNode; 27 | this.frameDescriptor = frameDescriptor; 28 | } 29 | 30 | @Override 31 | public RootNode target() { 32 | return rootNode; 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/CompilerScalaConsts.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2023 RAW Labs S.A. 3 | * 4 | * Use of this software is governed by the Business Source License 5 | * included in the file licenses/BSL.txt. 6 | * 7 | * As of the Change Date specified in that file, in accordance with 8 | * the Business Source License, use of this software will be governed 9 | * by the Apache License, Version 2.0, included in the file 10 | * licenses/APL.txt. 11 | */ 12 | 13 | package com.rawlabs.snapi.truffle.emitter.builtin; 14 | 15 | import com.rawlabs.snapi.frontend.snapi.source.SnapiIsNullableTypeProperty; 16 | import com.rawlabs.snapi.frontend.snapi.source.SnapiIsTryableTypeProperty; 17 | 18 | public class CompilerScalaConsts { 19 | public static final SnapiIsTryableTypeProperty tryable = SnapiIsTryableTypeProperty.apply(); 20 | public static final SnapiIsNullableTypeProperty nullable = SnapiIsNullableTypeProperty.apply(); 21 | } 22 | -------------------------------------------------------------------------------- /snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/http_extension/TruffleHttpDeleteEntry.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2023 RAW Labs S.A. 3 | * 4 | * Use of this software is governed by the Business Source License 5 | * included in the file licenses/BSL.txt. 6 | * 7 | * As of the Change Date specified in that file, in accordance with 8 | * the Business Source License, use of this software will be governed 9 | * by the Apache License, Version 2.0, included in the file 10 | * licenses/APL.txt. 11 | */ 12 | 13 | package com.rawlabs.snapi.truffle.emitter.builtin.http_extension; 14 | 15 | public class TruffleHttpDeleteEntry extends TruffleHttpCallEntry { 16 | public TruffleHttpDeleteEntry() { 17 | super("delete"); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/http_extension/TruffleHttpGetEntry.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2023 RAW Labs S.A. 3 | * 4 | * Use of this software is governed by the Business Source License 5 | * included in the file licenses/BSL.txt. 6 | * 7 | * As of the Change Date specified in that file, in accordance with 8 | * the Business Source License, use of this software will be governed 9 | * by the Apache License, Version 2.0, included in the file 10 | * licenses/APL.txt. 11 | */ 12 | 13 | package com.rawlabs.snapi.truffle.emitter.builtin.http_extension; 14 | 15 | public class TruffleHttpGetEntry extends TruffleHttpCallEntry { 16 | public TruffleHttpGetEntry() { 17 | super("get"); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/http_extension/TruffleHttpHeadEntry.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2023 RAW Labs S.A. 3 | * 4 | * Use of this software is governed by the Business Source License 5 | * included in the file licenses/BSL.txt. 6 | * 7 | * As of the Change Date specified in that file, in accordance with 8 | * the Business Source License, use of this software will be governed 9 | * by the Apache License, Version 2.0, included in the file 10 | * licenses/APL.txt. 11 | */ 12 | 13 | package com.rawlabs.snapi.truffle.emitter.builtin.http_extension; 14 | 15 | public class TruffleHttpHeadEntry extends TruffleHttpCallEntry { 16 | public TruffleHttpHeadEntry() { 17 | super("head"); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/http_extension/TruffleHttpOptionsEntry.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2023 RAW Labs S.A. 3 | * 4 | * Use of this software is governed by the Business Source License 5 | * included in the file licenses/BSL.txt. 6 | * 7 | * As of the Change Date specified in that file, in accordance with 8 | * the Business Source License, use of this software will be governed 9 | * by the Apache License, Version 2.0, included in the file 10 | * licenses/APL.txt. 11 | */ 12 | 13 | package com.rawlabs.snapi.truffle.emitter.builtin.http_extension; 14 | 15 | public class TruffleHttpOptionsEntry extends TruffleHttpCallEntry { 16 | public TruffleHttpOptionsEntry() { 17 | super("options"); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/http_extension/TruffleHttpPatchEntry.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2023 RAW Labs S.A. 3 | * 4 | * Use of this software is governed by the Business Source License 5 | * included in the file licenses/BSL.txt. 6 | * 7 | * As of the Change Date specified in that file, in accordance with 8 | * the Business Source License, use of this software will be governed 9 | * by the Apache License, Version 2.0, included in the file 10 | * licenses/APL.txt. 11 | */ 12 | 13 | package com.rawlabs.snapi.truffle.emitter.builtin.http_extension; 14 | 15 | public class TruffleHttpPatchEntry extends TruffleHttpCallEntry { 16 | public TruffleHttpPatchEntry() { 17 | super("patch"); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/http_extension/TruffleHttpPostEntry.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2023 RAW Labs S.A. 3 | * 4 | * Use of this software is governed by the Business Source License 5 | * included in the file licenses/BSL.txt. 6 | * 7 | * As of the Change Date specified in that file, in accordance with 8 | * the Business Source License, use of this software will be governed 9 | * by the Apache License, Version 2.0, included in the file 10 | * licenses/APL.txt. 11 | */ 12 | 13 | package com.rawlabs.snapi.truffle.emitter.builtin.http_extension; 14 | 15 | public class TruffleHttpPostEntry extends TruffleHttpCallEntry { 16 | public TruffleHttpPostEntry() { 17 | super("post"); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/http_extension/TruffleHttpPutEntry.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2023 RAW Labs S.A. 3 | * 4 | * Use of this software is governed by the Business Source License 5 | * included in the file licenses/BSL.txt. 6 | * 7 | * As of the Change Date specified in that file, in accordance with 8 | * the Business Source License, use of this software will be governed 9 | * by the Apache License, Version 2.0, included in the file 10 | * licenses/APL.txt. 11 | */ 12 | 13 | package com.rawlabs.snapi.truffle.emitter.builtin.http_extension; 14 | 15 | public class TruffleHttpPutEntry extends TruffleHttpCallEntry { 16 | public TruffleHttpPutEntry() { 17 | super("put"); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/test_extension/TruffleBoolValueArgTestEntry.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2023 RAW Labs S.A. 3 | * 4 | * Use of this software is governed by the Business Source License 5 | * included in the file licenses/BSL.txt. 6 | * 7 | * As of the Change Date specified in that file, in accordance with 8 | * the Business Source License, use of this software will be governed 9 | * by the Apache License, Version 2.0, included in the file 10 | * licenses/APL.txt. 11 | */ 12 | 13 | package com.rawlabs.snapi.truffle.emitter.builtin.test_extension; 14 | 15 | import com.rawlabs.snapi.frontend.snapi.extensions.builtin.BoolValueArgTestEntry; 16 | 17 | public class TruffleBoolValueArgTestEntry extends BoolValueArgTestEntry 18 | implements TruffleValueArg {} 19 | -------------------------------------------------------------------------------- /snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/test_extension/TruffleByteValueArgTestEntry.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2023 RAW Labs S.A. 3 | * 4 | * Use of this software is governed by the Business Source License 5 | * included in the file licenses/BSL.txt. 6 | * 7 | * As of the Change Date specified in that file, in accordance with 8 | * the Business Source License, use of this software will be governed 9 | * by the Apache License, Version 2.0, included in the file 10 | * licenses/APL.txt. 11 | */ 12 | 13 | package com.rawlabs.snapi.truffle.emitter.builtin.test_extension; 14 | 15 | import com.rawlabs.snapi.frontend.snapi.extensions.builtin.ByteValueArgTestEntry; 16 | import com.rawlabs.snapi.truffle.emitter.TruffleEntryExtension; 17 | 18 | public class TruffleByteValueArgTestEntry extends ByteValueArgTestEntry 19 | implements TruffleEntryExtension, TruffleValueArg {} 20 | -------------------------------------------------------------------------------- /snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/test_extension/TruffleDateValueArgTestEntry.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2023 RAW Labs S.A. 3 | * 4 | * Use of this software is governed by the Business Source License 5 | * included in the file licenses/BSL.txt. 6 | * 7 | * As of the Change Date specified in that file, in accordance with 8 | * the Business Source License, use of this software will be governed 9 | * by the Apache License, Version 2.0, included in the file 10 | * licenses/APL.txt. 11 | */ 12 | 13 | package com.rawlabs.snapi.truffle.emitter.builtin.test_extension; 14 | 15 | import com.rawlabs.snapi.frontend.snapi.extensions.builtin.DateValueArgTestEntry; 16 | 17 | public class TruffleDateValueArgTestEntry extends DateValueArgTestEntry 18 | implements TruffleValueArg {} 19 | -------------------------------------------------------------------------------- /snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/test_extension/TruffleDoubleValueArgTestEntry.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2023 RAW Labs S.A. 3 | * 4 | * Use of this software is governed by the Business Source License 5 | * included in the file licenses/BSL.txt. 6 | * 7 | * As of the Change Date specified in that file, in accordance with 8 | * the Business Source License, use of this software will be governed 9 | * by the Apache License, Version 2.0, included in the file 10 | * licenses/APL.txt. 11 | */ 12 | 13 | package com.rawlabs.snapi.truffle.emitter.builtin.test_extension; 14 | 15 | import com.rawlabs.snapi.frontend.snapi.extensions.builtin.DoubleValueArgTestEntry; 16 | 17 | public class TruffleDoubleValueArgTestEntry extends DoubleValueArgTestEntry 18 | implements TruffleValueArg {} 19 | -------------------------------------------------------------------------------- /snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/test_extension/TruffleFloatValueArgTestEntry.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2023 RAW Labs S.A. 3 | * 4 | * Use of this software is governed by the Business Source License 5 | * included in the file licenses/BSL.txt. 6 | * 7 | * As of the Change Date specified in that file, in accordance with 8 | * the Business Source License, use of this software will be governed 9 | * by the Apache License, Version 2.0, included in the file 10 | * licenses/APL.txt. 11 | */ 12 | 13 | package com.rawlabs.snapi.truffle.emitter.builtin.test_extension; 14 | 15 | import com.rawlabs.snapi.frontend.snapi.extensions.builtin.FloatValueArgTestEntry; 16 | 17 | public class TruffleFloatValueArgTestEntry extends FloatValueArgTestEntry 18 | implements TruffleValueArg {} 19 | -------------------------------------------------------------------------------- /snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/test_extension/TruffleIntValueArgTestEntry.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2023 RAW Labs S.A. 3 | * 4 | * Use of this software is governed by the Business Source License 5 | * included in the file licenses/BSL.txt. 6 | * 7 | * As of the Change Date specified in that file, in accordance with 8 | * the Business Source License, use of this software will be governed 9 | * by the Apache License, Version 2.0, included in the file 10 | * licenses/APL.txt. 11 | */ 12 | 13 | package com.rawlabs.snapi.truffle.emitter.builtin.test_extension; 14 | 15 | import com.rawlabs.snapi.frontend.snapi.extensions.builtin.IntValueArgTestEntry; 16 | 17 | public class TruffleIntValueArgTestEntry extends IntValueArgTestEntry implements TruffleValueArg {} 18 | -------------------------------------------------------------------------------- /snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/test_extension/TruffleIntervalValueArgTestEntry.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2023 RAW Labs S.A. 3 | * 4 | * Use of this software is governed by the Business Source License 5 | * included in the file licenses/BSL.txt. 6 | * 7 | * As of the Change Date specified in that file, in accordance with 8 | * the Business Source License, use of this software will be governed 9 | * by the Apache License, Version 2.0, included in the file 10 | * licenses/APL.txt. 11 | */ 12 | 13 | package com.rawlabs.snapi.truffle.emitter.builtin.test_extension; 14 | 15 | import com.rawlabs.snapi.frontend.snapi.extensions.builtin.IntervalValueArgTestEntry; 16 | 17 | public class TruffleIntervalValueArgTestEntry extends IntervalValueArgTestEntry 18 | implements TruffleValueArg {} 19 | -------------------------------------------------------------------------------- /snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/test_extension/TruffleListValueArgTestEntry.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2023 RAW Labs S.A. 3 | * 4 | * Use of this software is governed by the Business Source License 5 | * included in the file licenses/BSL.txt. 6 | * 7 | * As of the Change Date specified in that file, in accordance with 8 | * the Business Source License, use of this software will be governed 9 | * by the Apache License, Version 2.0, included in the file 10 | * licenses/APL.txt. 11 | */ 12 | 13 | package com.rawlabs.snapi.truffle.emitter.builtin.test_extension; 14 | 15 | import com.rawlabs.snapi.frontend.snapi.extensions.builtin.ListValueArgTestEntry; 16 | 17 | public class TruffleListValueArgTestEntry extends ListValueArgTestEntry 18 | implements TruffleValueArg {} 19 | -------------------------------------------------------------------------------- /snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/test_extension/TruffleLongValueArgTestEntry.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2023 RAW Labs S.A. 3 | * 4 | * Use of this software is governed by the Business Source License 5 | * included in the file licenses/BSL.txt. 6 | * 7 | * As of the Change Date specified in that file, in accordance with 8 | * the Business Source License, use of this software will be governed 9 | * by the Apache License, Version 2.0, included in the file 10 | * licenses/APL.txt. 11 | */ 12 | 13 | package com.rawlabs.snapi.truffle.emitter.builtin.test_extension; 14 | 15 | import com.rawlabs.snapi.frontend.snapi.extensions.builtin.LongValueArgTestEntry; 16 | 17 | public class TruffleLongValueArgTestEntry extends LongValueArgTestEntry 18 | implements TruffleValueArg {} 19 | -------------------------------------------------------------------------------- /snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/test_extension/TruffleMandatoryExpArgsEntry.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2023 RAW Labs S.A. 3 | * 4 | * Use of this software is governed by the Business Source License 5 | * included in the file licenses/BSL.txt. 6 | * 7 | * As of the Change Date specified in that file, in accordance with 8 | * the Business Source License, use of this software will be governed 9 | * by the Apache License, Version 2.0, included in the file 10 | * licenses/APL.txt. 11 | */ 12 | 13 | package com.rawlabs.snapi.truffle.emitter.builtin.test_extension; 14 | 15 | import com.rawlabs.snapi.frontend.snapi.extensions.builtin.MandatoryExpArgsEntry; 16 | 17 | public class TruffleMandatoryExpArgsEntry extends MandatoryExpArgsEntry 18 | implements TruffleMandatoryArgs {} 19 | -------------------------------------------------------------------------------- /snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/test_extension/TruffleMandatoryValueArgsEntry.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2023 RAW Labs S.A. 3 | * 4 | * Use of this software is governed by the Business Source License 5 | * included in the file licenses/BSL.txt. 6 | * 7 | * As of the Change Date specified in that file, in accordance with 8 | * the Business Source License, use of this software will be governed 9 | * by the Apache License, Version 2.0, included in the file 10 | * licenses/APL.txt. 11 | */ 12 | 13 | package com.rawlabs.snapi.truffle.emitter.builtin.test_extension; 14 | 15 | import com.rawlabs.snapi.frontend.snapi.extensions.builtin.MandatoryValueArgsEntry; 16 | 17 | public class TruffleMandatoryValueArgsEntry extends MandatoryValueArgsEntry 18 | implements TruffleMandatoryArgs {} 19 | -------------------------------------------------------------------------------- /snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/test_extension/TruffleOptionalExpArgsTestEntry.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2023 RAW Labs S.A. 3 | * 4 | * Use of this software is governed by the Business Source License 5 | * included in the file licenses/BSL.txt. 6 | * 7 | * As of the Change Date specified in that file, in accordance with 8 | * the Business Source License, use of this software will be governed 9 | * by the Apache License, Version 2.0, included in the file 10 | * licenses/APL.txt. 11 | */ 12 | 13 | package com.rawlabs.snapi.truffle.emitter.builtin.test_extension; 14 | 15 | import com.rawlabs.snapi.frontend.snapi.extensions.builtin.OptionalExpArgsTestEntry; 16 | 17 | public class TruffleOptionalExpArgsTestEntry extends OptionalExpArgsTestEntry 18 | implements TruffleOptionalArgs {} 19 | -------------------------------------------------------------------------------- /snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/test_extension/TruffleOptionalValueArgsTestEntry.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2023 RAW Labs S.A. 3 | * 4 | * Use of this software is governed by the Business Source License 5 | * included in the file licenses/BSL.txt. 6 | * 7 | * As of the Change Date specified in that file, in accordance with 8 | * the Business Source License, use of this software will be governed 9 | * by the Apache License, Version 2.0, included in the file 10 | * licenses/APL.txt. 11 | */ 12 | 13 | package com.rawlabs.snapi.truffle.emitter.builtin.test_extension; 14 | 15 | import com.rawlabs.snapi.frontend.snapi.extensions.builtin.OptionalValueArgsTestEntry; 16 | 17 | public class TruffleOptionalValueArgsTestEntry extends OptionalValueArgsTestEntry 18 | implements TruffleOptionalArgs {} 19 | -------------------------------------------------------------------------------- /snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/test_extension/TruffleRecordValueArgTestEntry.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2023 RAW Labs S.A. 3 | * 4 | * Use of this software is governed by the Business Source License 5 | * included in the file licenses/BSL.txt. 6 | * 7 | * As of the Change Date specified in that file, in accordance with 8 | * the Business Source License, use of this software will be governed 9 | * by the Apache License, Version 2.0, included in the file 10 | * licenses/APL.txt. 11 | */ 12 | 13 | package com.rawlabs.snapi.truffle.emitter.builtin.test_extension; 14 | 15 | import com.rawlabs.snapi.frontend.snapi.extensions.builtin.RecordValueArgTestEntry; 16 | 17 | public class TruffleRecordValueArgTestEntry extends RecordValueArgTestEntry 18 | implements TruffleValueArg {} 19 | -------------------------------------------------------------------------------- /snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/test_extension/TruffleShortValueArgTestEntry.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2023 RAW Labs S.A. 3 | * 4 | * Use of this software is governed by the Business Source License 5 | * included in the file licenses/BSL.txt. 6 | * 7 | * As of the Change Date specified in that file, in accordance with 8 | * the Business Source License, use of this software will be governed 9 | * by the Apache License, Version 2.0, included in the file 10 | * licenses/APL.txt. 11 | */ 12 | 13 | package com.rawlabs.snapi.truffle.emitter.builtin.test_extension; 14 | 15 | import com.rawlabs.snapi.frontend.snapi.extensions.builtin.ShortValueArgTestEntry; 16 | 17 | public class TruffleShortValueArgTestEntry extends ShortValueArgTestEntry 18 | implements TruffleValueArg {} 19 | -------------------------------------------------------------------------------- /snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/test_extension/TruffleStringValueArgTestEntry.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2023 RAW Labs S.A. 3 | * 4 | * Use of this software is governed by the Business Source License 5 | * included in the file licenses/BSL.txt. 6 | * 7 | * As of the Change Date specified in that file, in accordance with 8 | * the Business Source License, use of this software will be governed 9 | * by the Apache License, Version 2.0, included in the file 10 | * licenses/APL.txt. 11 | */ 12 | 13 | package com.rawlabs.snapi.truffle.emitter.builtin.test_extension; 14 | 15 | import com.rawlabs.snapi.frontend.snapi.extensions.builtin.StringValueArgTestEntry; 16 | 17 | public class TruffleStringValueArgTestEntry extends StringValueArgTestEntry 18 | implements TruffleValueArg {} 19 | -------------------------------------------------------------------------------- /snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/test_extension/TruffleTimeValueArgTestEntry.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2023 RAW Labs S.A. 3 | * 4 | * Use of this software is governed by the Business Source License 5 | * included in the file licenses/BSL.txt. 6 | * 7 | * As of the Change Date specified in that file, in accordance with 8 | * the Business Source License, use of this software will be governed 9 | * by the Apache License, Version 2.0, included in the file 10 | * licenses/APL.txt. 11 | */ 12 | 13 | package com.rawlabs.snapi.truffle.emitter.builtin.test_extension; 14 | 15 | import com.rawlabs.snapi.frontend.snapi.extensions.builtin.TimeValueArgTestEntry; 16 | 17 | public class TruffleTimeValueArgTestEntry extends TimeValueArgTestEntry 18 | implements TruffleValueArg {} 19 | -------------------------------------------------------------------------------- /snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/test_extension/TruffleTimestampValueArgTestEntry.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2023 RAW Labs S.A. 3 | * 4 | * Use of this software is governed by the Business Source License 5 | * included in the file licenses/BSL.txt. 6 | * 7 | * As of the Change Date specified in that file, in accordance with 8 | * the Business Source License, use of this software will be governed 9 | * by the Apache License, Version 2.0, included in the file 10 | * licenses/APL.txt. 11 | */ 12 | 13 | package com.rawlabs.snapi.truffle.emitter.builtin.test_extension; 14 | 15 | import com.rawlabs.snapi.frontend.snapi.extensions.builtin.TimestampValueArgTestEntry; 16 | 17 | public class TruffleTimestampValueArgTestEntry extends TimestampValueArgTestEntry 18 | implements TruffleValueArg {} 19 | -------------------------------------------------------------------------------- /snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/test_extension/TruffleVarExpArgsTestEntry.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2023 RAW Labs S.A. 3 | * 4 | * Use of this software is governed by the Business Source License 5 | * included in the file licenses/BSL.txt. 6 | * 7 | * As of the Change Date specified in that file, in accordance with 8 | * the Business Source License, use of this software will be governed 9 | * by the Apache License, Version 2.0, included in the file 10 | * licenses/APL.txt. 11 | */ 12 | 13 | package com.rawlabs.snapi.truffle.emitter.builtin.test_extension; 14 | 15 | import com.rawlabs.snapi.frontend.snapi.extensions.builtin.VarExpArgsTestEntry; 16 | 17 | public class TruffleVarExpArgsTestEntry extends VarExpArgsTestEntry implements TruffleVarArgs {} 18 | -------------------------------------------------------------------------------- /snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/test_extension/TruffleVarValueArgsTestEntry.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2023 RAW Labs S.A. 3 | * 4 | * Use of this software is governed by the Business Source License 5 | * included in the file licenses/BSL.txt. 6 | * 7 | * As of the Change Date specified in that file, in accordance with 8 | * the Business Source License, use of this software will be governed 9 | * by the Apache License, Version 2.0, included in the file 10 | * licenses/APL.txt. 11 | */ 12 | 13 | package com.rawlabs.snapi.truffle.emitter.builtin.test_extension; 14 | 15 | import com.rawlabs.snapi.frontend.snapi.extensions.builtin.VarValueArgsTestEntry; 16 | 17 | public class TruffleVarValueArgsTestEntry extends VarValueArgsTestEntry implements TruffleVarArgs {} 18 | -------------------------------------------------------------------------------- /snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/writers/CompilerScalaConsts.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2023 RAW Labs S.A. 3 | * 4 | * Use of this software is governed by the Business Source License 5 | * included in the file licenses/BSL.txt. 6 | * 7 | * As of the Change Date specified in that file, in accordance with 8 | * the Business Source License, use of this software will be governed 9 | * by the Apache License, Version 2.0, included in the file 10 | * licenses/APL.txt. 11 | */ 12 | 13 | package com.rawlabs.snapi.truffle.emitter.writers; 14 | 15 | import com.rawlabs.snapi.frontend.snapi.source.SnapiIsNullableTypeProperty; 16 | import com.rawlabs.snapi.frontend.snapi.source.SnapiIsTryableTypeProperty; 17 | 18 | public class CompilerScalaConsts { 19 | public static final SnapiIsTryableTypeProperty tryable = SnapiIsTryableTypeProperty.apply(); 20 | public static final SnapiIsNullableTypeProperty nullable = SnapiIsNullableTypeProperty.apply(); 21 | } 22 | -------------------------------------------------------------------------------- /snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/runtime/exceptions/BreakException.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2023 RAW Labs S.A. 3 | * 4 | * Use of this software is governed by the Business Source License 5 | * included in the file licenses/BSL.txt. 6 | * 7 | * As of the Change Date specified in that file, in accordance with 8 | * the Business Source License, use of this software will be governed 9 | * by the Apache License, Version 2.0, included in the file 10 | * licenses/APL.txt. 11 | */ 12 | 13 | package com.rawlabs.snapi.truffle.runtime.exceptions; 14 | 15 | import com.oracle.truffle.api.nodes.ControlFlowException; 16 | 17 | public final class BreakException extends ControlFlowException {} 18 | -------------------------------------------------------------------------------- /snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/runtime/exceptions/TruffleUnexpectedNullException.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2023 RAW Labs S.A. 3 | * 4 | * Use of this software is governed by the Business Source License 5 | * included in the file licenses/BSL.txt. 6 | * 7 | * As of the Change Date specified in that file, in accordance with 8 | * the Business Source License, use of this software will be governed 9 | * by the Apache License, Version 2.0, included in the file 10 | * licenses/APL.txt. 11 | */ 12 | 13 | package com.rawlabs.snapi.truffle.runtime.exceptions; 14 | 15 | import com.oracle.truffle.api.nodes.Node; 16 | 17 | public class TruffleUnexpectedNullException extends TruffleRuntimeException { 18 | 19 | public TruffleUnexpectedNullException(Node location) { 20 | super("unexpected null value found", location); 21 | } 22 | 23 | public TruffleUnexpectedNullException(Throwable cause, Node location) { 24 | super("unexpected null value found", cause, location); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/runtime/exceptions/csv/CsvExpectedNothingException.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2023 RAW Labs S.A. 3 | * 4 | * Use of this software is governed by the Business Source License 5 | * included in the file licenses/BSL.txt. 6 | * 7 | * As of the Change Date specified in that file, in accordance with 8 | * the Business Source License, use of this software will be governed 9 | * by the Apache License, Version 2.0, included in the file 10 | * licenses/APL.txt. 11 | */ 12 | 13 | package com.rawlabs.snapi.truffle.runtime.exceptions.csv; 14 | 15 | import com.oracle.truffle.api.nodes.Node; 16 | import com.rawlabs.snapi.truffle.ast.io.csv.reader.parser.TruffleCsvParser; 17 | import com.rawlabs.snapi.truffle.runtime.utils.TruffleCharStream; 18 | 19 | public class CsvExpectedNothingException extends CsvParserTruffleException { 20 | public CsvExpectedNothingException( 21 | String token, TruffleCsvParser p, TruffleCharStream stream, Node location) { 22 | super(String.format("unexpected value found, token '%s'", token), p, stream, location); 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/runtime/exceptions/csv/CsvWriterTruffleException.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2023 RAW Labs S.A. 3 | * 4 | * Use of this software is governed by the Business Source License 5 | * included in the file licenses/BSL.txt. 6 | * 7 | * As of the Change Date specified in that file, in accordance with 8 | * the Business Source License, use of this software will be governed 9 | * by the Apache License, Version 2.0, included in the file 10 | * licenses/APL.txt. 11 | */ 12 | 13 | package com.rawlabs.snapi.truffle.runtime.exceptions.csv; 14 | 15 | import com.oracle.truffle.api.CompilerDirectives; 16 | import com.oracle.truffle.api.nodes.Node; 17 | import com.rawlabs.snapi.truffle.runtime.exceptions.TruffleRuntimeException; 18 | 19 | public class CsvWriterTruffleException extends TruffleRuntimeException { 20 | @CompilerDirectives.TruffleBoundary 21 | public CsvWriterTruffleException(String message, Throwable cause, Node location) { 22 | super("failed to write CSV: " + message, cause, location); 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/runtime/exceptions/rdbms/JdbcParserTruffleException.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2023 RAW Labs S.A. 3 | * 4 | * Use of this software is governed by the Business Source License 5 | * included in the file licenses/BSL.txt. 6 | * 7 | * As of the Change Date specified in that file, in accordance with 8 | * the Business Source License, use of this software will be governed 9 | * by the Apache License, Version 2.0, included in the file 10 | * licenses/APL.txt. 11 | */ 12 | 13 | package com.rawlabs.snapi.truffle.runtime.exceptions.rdbms; 14 | 15 | import com.oracle.truffle.api.CompilerDirectives; 16 | import com.oracle.truffle.api.nodes.Node; 17 | import com.rawlabs.snapi.truffle.runtime.exceptions.TruffleRuntimeException; 18 | 19 | public class JdbcParserTruffleException extends TruffleRuntimeException { 20 | 21 | @CompilerDirectives.TruffleBoundary 22 | public JdbcParserTruffleException(String message, Throwable e, Node location) { 23 | super(String.format("failed to read value: %s", message), e, location); 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/runtime/exceptions/rdbms/MySQLExceptionHandler.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2023 RAW Labs S.A. 3 | * 4 | * Use of this software is governed by the Business Source License 5 | * included in the file licenses/BSL.txt. 6 | * 7 | * As of the Change Date specified in that file, in accordance with 8 | * the Business Source License, use of this software will be governed 9 | * by the Apache License, Version 2.0, included in the file 10 | * licenses/APL.txt. 11 | */ 12 | 13 | package com.rawlabs.snapi.truffle.runtime.exceptions.rdbms; 14 | 15 | public class MySQLExceptionHandler extends JdbcExceptionHandler {} 16 | -------------------------------------------------------------------------------- /snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/runtime/exceptions/rdbms/OracleExceptionHandler.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2023 RAW Labs S.A. 3 | * 4 | * Use of this software is governed by the Business Source License 5 | * included in the file licenses/BSL.txt. 6 | * 7 | * As of the Change Date specified in that file, in accordance with 8 | * the Business Source License, use of this software will be governed 9 | * by the Apache License, Version 2.0, included in the file 10 | * licenses/APL.txt. 11 | */ 12 | 13 | package com.rawlabs.snapi.truffle.runtime.exceptions.rdbms; 14 | 15 | public class OracleExceptionHandler extends JdbcExceptionHandler {} 16 | -------------------------------------------------------------------------------- /snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/runtime/exceptions/rdbms/PostgreSQLExceptionHandler.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2023 RAW Labs S.A. 3 | * 4 | * Use of this software is governed by the Business Source License 5 | * included in the file licenses/BSL.txt. 6 | * 7 | * As of the Change Date specified in that file, in accordance with 8 | * the Business Source License, use of this software will be governed 9 | * by the Apache License, Version 2.0, included in the file 10 | * licenses/APL.txt. 11 | */ 12 | 13 | package com.rawlabs.snapi.truffle.runtime.exceptions.rdbms; 14 | 15 | public class PostgreSQLExceptionHandler extends JdbcExceptionHandler {} 16 | -------------------------------------------------------------------------------- /snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/runtime/exceptions/rdbms/SnowflakeExceptionHandler.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2023 RAW Labs S.A. 3 | * 4 | * Use of this software is governed by the Business Source License 5 | * included in the file licenses/BSL.txt. 6 | * 7 | * As of the Change Date specified in that file, in accordance with 8 | * the Business Source License, use of this software will be governed 9 | * by the Apache License, Version 2.0, included in the file 10 | * licenses/APL.txt. 11 | */ 12 | 13 | package com.rawlabs.snapi.truffle.runtime.exceptions.rdbms; 14 | 15 | public class SnowflakeExceptionHandler extends JdbcExceptionHandler {} 16 | -------------------------------------------------------------------------------- /snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/runtime/exceptions/rdbms/SqlServerExceptionHandler.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2023 RAW Labs S.A. 3 | * 4 | * Use of this software is governed by the Business Source License 5 | * included in the file licenses/BSL.txt. 6 | * 7 | * As of the Change Date specified in that file, in accordance with 8 | * the Business Source License, use of this software will be governed 9 | * by the Apache License, Version 2.0, included in the file 10 | * licenses/APL.txt. 11 | */ 12 | 13 | package com.rawlabs.snapi.truffle.runtime.exceptions.rdbms; 14 | 15 | public class SqlServerExceptionHandler extends JdbcExceptionHandler {} 16 | -------------------------------------------------------------------------------- /snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/runtime/function/FunctionRegistry.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2023 RAW Labs S.A. 3 | * 4 | * Use of this software is governed by the Business Source License 5 | * included in the file licenses/BSL.txt. 6 | * 7 | * As of the Change Date specified in that file, in accordance with 8 | * the Business Source License, use of this software will be governed 9 | * by the Apache License, Version 2.0, included in the file 10 | * licenses/APL.txt. 11 | */ 12 | 13 | package com.rawlabs.snapi.truffle.runtime.function; 14 | 15 | import com.oracle.truffle.api.interop.TruffleObject; 16 | 17 | public final class FunctionRegistry { 18 | 19 | private final FunctionRegistryObject registry; 20 | 21 | public FunctionRegistry() { 22 | registry = new FunctionRegistryObject(); 23 | } 24 | 25 | public Object get(String name) { 26 | return registry.get(name); 27 | } 28 | 29 | public void register(String name, Object closure) { 30 | registry.put(name, closure); 31 | } 32 | 33 | public TruffleObject asPolyglot() { 34 | return registry; 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/runtime/generator/collection/abstract_generator/compute_next/operations/TransformComputeNext.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 RAW Labs S.A. 3 | * 4 | * Use of this software is governed by the Business Source License 5 | * included in the file licenses/BSL.txt. 6 | * 7 | * As of the Change Date specified in that file, in accordance with 8 | * the Business Source License, use of this software will be governed 9 | * by the Apache License, Version 2.0, included in the file 10 | * licenses/APL.txt. 11 | */ 12 | 13 | package com.rawlabs.snapi.truffle.runtime.generator.collection.abstract_generator.compute_next.operations; 14 | 15 | public class TransformComputeNext { 16 | final Object parent; 17 | final Object transform; 18 | 19 | public TransformComputeNext(Object parent, Object transform) { 20 | this.parent = parent; 21 | this.transform = transform; 22 | } 23 | 24 | public Object getParent() { 25 | return parent; 26 | } 27 | 28 | public Object getTransform() { 29 | return transform; 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/runtime/generator/collection/abstract_generator/compute_next/operations/ZipComputeNext.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 RAW Labs S.A. 3 | * 4 | * Use of this software is governed by the Business Source License 5 | * included in the file licenses/BSL.txt. 6 | * 7 | * As of the Change Date specified in that file, in accordance with 8 | * the Business Source License, use of this software will be governed 9 | * by the Apache License, Version 2.0, included in the file 10 | * licenses/APL.txt. 11 | */ 12 | 13 | package com.rawlabs.snapi.truffle.runtime.generator.collection.abstract_generator.compute_next.operations; 14 | 15 | public class ZipComputeNext { 16 | private final Object parent1; 17 | 18 | private final Object parent2; 19 | 20 | public ZipComputeNext(Object parent1, Object parent2) { 21 | this.parent1 = parent1; 22 | this.parent2 = parent2; 23 | } 24 | 25 | public Object getParent1() { 26 | return parent1; 27 | } 28 | 29 | public Object getParent2() { 30 | return parent2; 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/runtime/generator/collection/abstract_generator/compute_next/sources/EmptyComputeNext.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2023 RAW Labs S.A. 3 | * 4 | * Use of this software is governed by the Business Source License 5 | * included in the file licenses/BSL.txt. 6 | * 7 | * As of the Change Date specified in that file, in accordance with 8 | * the Business Source License, use of this software will be governed 9 | * by the Apache License, Version 2.0, included in the file 10 | * licenses/APL.txt. 11 | */ 12 | 13 | package com.rawlabs.snapi.truffle.runtime.generator.collection.abstract_generator.compute_next.sources; 14 | 15 | public class EmptyComputeNext { 16 | 17 | private EmptyComputeNext() {} 18 | 19 | public static final EmptyComputeNext INSTANCE = new EmptyComputeNext(); 20 | } 21 | -------------------------------------------------------------------------------- /snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/runtime/generator/collection/off_heap_generator/record_shaper/RecordShaper.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 RAW Labs S.A. 3 | * 4 | * Use of this software is governed by the Business Source License 5 | * included in the file licenses/BSL.txt. 6 | * 7 | * As of the Change Date specified in that file, in accordance with 8 | * the Business Source License, use of this software will be governed 9 | * by the Apache License, Version 2.0, included in the file 10 | * licenses/APL.txt. 11 | */ 12 | 13 | package com.rawlabs.snapi.truffle.runtime.generator.collection.off_heap_generator.record_shaper; 14 | 15 | public class RecordShaper { 16 | private final boolean forList; 17 | 18 | public RecordShaper(boolean forList) { 19 | this.forList = forList; 20 | } 21 | 22 | public boolean forList() { 23 | return forList; 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/runtime/primitives/TruffleTemporalFormatter.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2023 RAW Labs S.A. 3 | * 4 | * Use of this software is governed by the Business Source License 5 | * included in the file licenses/BSL.txt. 6 | * 7 | * As of the Change Date specified in that file, in accordance with 8 | * the Business Source License, use of this software will be governed 9 | * by the Apache License, Version 2.0, included in the file 10 | * licenses/APL.txt. 11 | */ 12 | 13 | package com.rawlabs.snapi.truffle.runtime.primitives; 14 | 15 | import java.time.format.DateTimeFormatter; 16 | 17 | public class TruffleTemporalFormatter { 18 | public static final DateTimeFormatter DATE_FORMATTER = DateTimeFormatter.ofPattern("yyyy-MM-dd"); 19 | public static final DateTimeFormatter TIME_FORMATTER = 20 | DateTimeFormatter.ofPattern("HH:mm:ss.SSS"); 21 | public static final DateTimeFormatter TIMESTAMP_FORMATTER = 22 | DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss.SSS"); 23 | } 24 | -------------------------------------------------------------------------------- /snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/runtime/utils/TruffleCharStream.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2023 RAW Labs S.A. 3 | * 4 | * Use of this software is governed by the Business Source License 5 | * included in the file licenses/BSL.txt. 6 | * 7 | * As of the Change Date specified in that file, in accordance with 8 | * the Business Source License, use of this software will be governed 9 | * by the Apache License, Version 2.0, included in the file 10 | * licenses/APL.txt. 11 | */ 12 | 13 | package com.rawlabs.snapi.truffle.runtime.utils; 14 | 15 | import java.io.Reader; 16 | 17 | public abstract class TruffleCharStream { 18 | public abstract Reader getReader(); 19 | 20 | public abstract String positionDescription(); 21 | } 22 | -------------------------------------------------------------------------------- /snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/runtime/utils/TruffleStringCharStream.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2023 RAW Labs S.A. 3 | * 4 | * Use of this software is governed by the Business Source License 5 | * included in the file licenses/BSL.txt. 6 | * 7 | * As of the Change Date specified in that file, in accordance with 8 | * the Business Source License, use of this software will be governed 9 | * by the Apache License, Version 2.0, included in the file 10 | * licenses/APL.txt. 11 | */ 12 | 13 | package com.rawlabs.snapi.truffle.runtime.utils; 14 | 15 | import java.io.Reader; 16 | import java.io.StringReader; 17 | 18 | public class TruffleStringCharStream extends TruffleCharStream { 19 | 20 | private final String string; 21 | 22 | public TruffleStringCharStream(String content) { 23 | this.string = content; 24 | } 25 | 26 | public Reader getReader() { 27 | return new StringReader(string); 28 | } 29 | 30 | public String positionDescription() { 31 | return null; 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /snapi-truffle/src/main/resources/reference.conf: -------------------------------------------------------------------------------- 1 | raw.runtime { 2 | 3 | scratch-path = /tmp/raw-scratch 4 | 5 | external { 6 | disk-block-max-size = 256M 7 | } 8 | 9 | kryo { 10 | output-buffer-size = 16M 11 | input-buffer-size = 16M 12 | } 13 | 14 | rdbms { 15 | fetch-size = 100000 16 | log-after-rows = 100000 17 | } 18 | 19 | } 20 | -------------------------------------------------------------------------------- /snapi-truffle/src/test/resources/logback-test.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | %d{yyyy-MM-dd HH:mm:ss.SSSZ} [%thread] %-5level %logger{36} - %msg%n 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /snapi-truffle/src/test/scala/com/rawlabs/snapi/compiler/tests/parser/ListSugarTest.scala: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2023 RAW Labs S.A. 3 | * 4 | * Use of this software is governed by the Business Source License 5 | * included in the file licenses/BSL.txt. 6 | * 7 | * As of the Change Date specified in that file, in accordance with 8 | * the Business Source License, use of this software will be governed 9 | * by the Apache License, Version 2.0, included in the file 10 | * licenses/APL.txt. 11 | */ 12 | 13 | package com.rawlabs.snapi.compiler.tests.parser 14 | 15 | import com.rawlabs.snapi.compiler.tests.SnapiTestContext 16 | 17 | class ListSugarTest extends SnapiTestContext { 18 | 19 | test("""[1,2,3]""") { it => 20 | it should typeAs("list(int)") 21 | it should evaluateTo("""List.Build(1,2,3)""") 22 | } 23 | 24 | test("""[]""") { it => 25 | it should typeAs("list(undefined)") 26 | it should evaluateTo("""List.Build()""") 27 | } 28 | 29 | } 30 | -------------------------------------------------------------------------------- /snapi-truffle/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD10723Test.scala: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2023 RAW Labs S.A. 3 | * 4 | * Use of this software is governed by the Business Source License 5 | * included in the file licenses/BSL.txt. 6 | * 7 | * As of the Change Date specified in that file, in accordance with 8 | * the Business Source License, use of this software will be governed 9 | * by the Apache License, Version 2.0, included in the file 10 | * licenses/APL.txt. 11 | */ 12 | 13 | package com.rawlabs.snapi.compiler.tests.regressions 14 | 15 | import com.rawlabs.snapi.compiler.tests.SnapiTestContext 16 | 17 | class RD10723Test extends SnapiTestContext { 18 | 19 | private val qqq = "\"\"\"" 20 | test(s"""main() = 21 | | let financial = Csv.InferAndParse(${qqq}year;market_cap_in_billion 22 | |$qqq 23 | | ) in financial 24 | | 25 | |main() 26 | |""".stripMargin)( 27 | _ should run 28 | ) 29 | 30 | } 31 | -------------------------------------------------------------------------------- /snapi-truffle/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD5714Test.scala: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2023 RAW Labs S.A. 3 | * 4 | * Use of this software is governed by the Business Source License 5 | * included in the file licenses/BSL.txt. 6 | * 7 | * As of the Change Date specified in that file, in accordance with 8 | * the Business Source License, use of this software will be governed 9 | * by the Apache License, Version 2.0, included in the file 10 | * licenses/APL.txt. 11 | */ 12 | 13 | package com.rawlabs.snapi.compiler.tests.regressions 14 | 15 | import com.rawlabs.snapi.compiler.tests.SnapiTestContext 16 | 17 | class RD5714Test extends SnapiTestContext { 18 | 19 | test("""let colA = [{id: 1, name: "john"}], 20 | | colB = [{id: 2, firstName: "john"}], 21 | | join = List.Join(colA, colB, i -> i.name == i.firstName) 22 | |in Json.Print(join)""".stripMargin) { it => 23 | it should evaluateTo(""" "[{\"id\":1,\"name\":\"john\",\"id_1\":2,\"firstName\":\"john\"}]" """.stripMargin) 24 | } 25 | 26 | } 27 | -------------------------------------------------------------------------------- /snapi-truffle/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD5722Test.scala: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2023 RAW Labs S.A. 3 | * 4 | * Use of this software is governed by the Business Source License 5 | * included in the file licenses/BSL.txt. 6 | * 7 | * As of the Change Date specified in that file, in accordance with 8 | * the Business Source License, use of this software will be governed 9 | * by the Apache License, Version 2.0, included in the file 10 | * licenses/APL.txt. 11 | */ 12 | 13 | package com.rawlabs.snapi.compiler.tests.regressions 14 | 15 | import com.rawlabs.snapi.compiler.tests.SnapiTestContext 16 | 17 | class RD5722Test extends SnapiTestContext { 18 | 19 | test("""let data = Collection.Build({ 20 | | a: { b: 123} 21 | |}) 22 | |in data.a.b""".stripMargin)(_ should evaluateTo("Collection.Build(123)")) 23 | 24 | test("""let data = [{ 25 | | a: { b: 123} 26 | | }] 27 | |in data.a.b""".stripMargin)(_ should evaluateTo("[123]")) 28 | } 29 | -------------------------------------------------------------------------------- /snapi-truffle/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD5784Test.scala: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2023 RAW Labs S.A. 3 | * 4 | * Use of this software is governed by the Business Source License 5 | * included in the file licenses/BSL.txt. 6 | * 7 | * As of the Change Date specified in that file, in accordance with 8 | * the Business Source License, use of this software will be governed 9 | * by the Apache License, Version 2.0, included in the file 10 | * licenses/APL.txt. 11 | */ 12 | 13 | package com.rawlabs.snapi.compiler.tests.regressions 14 | 15 | import com.rawlabs.snapi.compiler.tests.SnapiTestContext 16 | import com.rawlabs.snapi.frontend.snapi._ 17 | 18 | class RD5784Test extends SnapiTestContext { 19 | 20 | private val xmlFile = tempFile(""" 21 | | 22 | | 12 23 | | 14 24 | | 25 | |""".stripMargin) 26 | 27 | test(snapi"""typealiasFun() = 28 | | let 29 | | _type = type record(a: int, b: int) 30 | | in 31 | | _type 32 | | 33 | |Xml.Read("$xmlFile", typealiasFun())""".stripMargin)(_ should run) 34 | 35 | } 36 | -------------------------------------------------------------------------------- /snapi-truffle/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD5979Test.scala: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2023 RAW Labs S.A. 3 | * 4 | * Use of this software is governed by the Business Source License 5 | * included in the file licenses/BSL.txt. 6 | * 7 | * As of the Change Date specified in that file, in accordance with 8 | * the Business Source License, use of this software will be governed 9 | * by the Apache License, Version 2.0, included in the file 10 | * licenses/APL.txt. 11 | */ 12 | 13 | package com.rawlabs.snapi.compiler.tests.regressions 14 | 15 | import com.rawlabs.snapi.compiler.tests.SnapiTestContext 16 | 17 | class RD5979Test extends SnapiTestContext { 18 | 19 | test("""[{a: 12, b: 14}, {c: 23, d: 54}]""")(_ should runErrorAs("expected compatible with")) 20 | test("""[{a: 12, b: 14}, {a: 23, d: 54}]""")(_ should runErrorAs("expected compatible with")) 21 | test("""[{a: 12, b: 14}, {a: 23, b: 54, c: 12}]""")(_ should runErrorAs("expected compatible with")) 22 | test("""[{a: 12, b: 14}, {c: 14, a: 23, b: 54}]""")(_ should runErrorAs("expected compatible with")) 23 | 24 | } 25 | -------------------------------------------------------------------------------- /snapi-truffle/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD9479Test.scala: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2023 RAW Labs S.A. 3 | * 4 | * Use of this software is governed by the Business Source License 5 | * included in the file licenses/BSL.txt. 6 | * 7 | * As of the Change Date specified in that file, in accordance with 8 | * the Business Source License, use of this software will be governed 9 | * by the Apache License, Version 2.0, included in the file 10 | * licenses/APL.txt. 11 | */ 12 | 13 | package com.rawlabs.snapi.compiler.tests.regressions 14 | 15 | import com.rawlabs.snapi.frontend.snapi._ 16 | import com.rawlabs.snapi.compiler.tests.SnapiTestContext 17 | 18 | class RD9479Test extends SnapiTestContext { 19 | 20 | private val recordData = tempFile("""[{"a": 1, "b": 10, "c": 100}]""") 21 | 22 | test(snapi"""Collection.First(Json.InferAndRead("$recordData"))""")(_ should evaluateTo("{a: 1, b: 10, c: 100}")) 23 | test(snapi"""Collection.Last(Json.InferAndRead("$recordData"))""")(_ should evaluateTo("{a: 1, b: 10, c: 100}")) 24 | 25 | } 26 | -------------------------------------------------------------------------------- /snapi-truffle/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD9932Test.scala: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2023 RAW Labs S.A. 3 | * 4 | * Use of this software is governed by the Business Source License 5 | * included in the file licenses/BSL.txt. 6 | * 7 | * As of the Change Date specified in that file, in accordance with 8 | * the Business Source License, use of this software will be governed 9 | * by the Apache License, Version 2.0, included in the file 10 | * licenses/APL.txt. 11 | */ 12 | 13 | package com.rawlabs.snapi.compiler.tests.regressions 14 | 15 | import com.rawlabs.snapi.compiler.tests.SnapiTestContext 16 | 17 | class RD9932Test extends SnapiTestContext { 18 | 19 | val ttt = "\"\"\"" 20 | test(s"""Json.Parse( 21 | | $ttt [ 22 | | {"a": 1, "b": "#1", "c": 1.1}, 23 | | {"a": 2, "b": "#2", "c": 2.2}, 24 | | #############################$ttt, 25 | | type collection(record(a: int, b: string, c: double)) 26 | |)""".stripMargin)(it => 27 | it should runErrorAs( 28 | "failed to read JSON (line 4 column 4): Unexpected character ('#' (code 35)): expected a valid value" 29 | ) 30 | ) 31 | } 32 | -------------------------------------------------------------------------------- /snapi-truffle/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/credentials/RD5932Test.scala: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2023 RAW Labs S.A. 3 | * 4 | * Use of this software is governed by the Business Source License 5 | * included in the file licenses/BSL.txt. 6 | * 7 | * As of the Change Date specified in that file, in accordance with 8 | * the Business Source License, use of this software will be governed 9 | * by the Apache License, Version 2.0, included in the file 10 | * licenses/APL.txt. 11 | */ 12 | 13 | package com.rawlabs.snapi.compiler.tests.regressions.credentials 14 | 15 | import com.rawlabs.snapi.compiler.tests.TestCredentials 16 | import com.rawlabs.snapi.compiler.tests.SnapiTestContext 17 | 18 | class RD5932Test extends SnapiTestContext { 19 | 20 | s3Bucket(TestCredentials.UnitTestPrivateBucket, TestCredentials.UnitTestPrivateBucketCred) 21 | 22 | test("""Json.InferAndRead("s3://rawlabs-private-test-data/rd-5932.json")""") { 23 | _ should run 24 | } 25 | 26 | } 27 | -------------------------------------------------------------------------------- /snapi-truffle/src/test/scala/com/rawlabs/snapi/compiler/tests/spec/CombinationSpecTestHelper.scala: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2023 RAW Labs S.A. 3 | * 4 | * Use of this software is governed by the Business Source License 5 | * included in the file licenses/BSL.txt. 6 | * 7 | * As of the Change Date specified in that file, in accordance with 8 | * the Business Source License, use of this software will be governed 9 | * by the Apache License, Version 2.0, included in the file 10 | * licenses/APL.txt. 11 | */ 12 | 13 | package com.rawlabs.snapi.compiler.tests.spec 14 | 15 | import org.scalatest.prop.TableDrivenPropertyChecks 16 | 17 | case class TestValue(tipe: String, v1: String, v2: String = "", priority: Int = 0) 18 | 19 | trait CombinationSpecTestHelper extends TableDrivenPropertyChecks { 20 | def combinations[T](s1: Seq[T], s2: Seq[T], name: String = "values") = { 21 | val values = for (v1 <- s1; v2 <- s2) yield (v1, v2) 22 | Table(name) ++ values 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /snapi-truffle/truffle-dsl-processor-23.1.0.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raw-labs/snapi/514c9fce99d3a343b4b0dc8afb7a49d4331ae654/snapi-truffle/truffle-dsl-processor-23.1.0.jar -------------------------------------------------------------------------------- /tests.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash -ex 2 | SCRIPT_HOME="$(cd "$(dirname "$0")"; pwd)" 3 | 4 | [ "$CI" == "true" ] && { export HOME=/home/sbtuser; } 5 | . ~/.sdkman/bin/sdkman-init.sh 6 | 7 | yes n | sdk install java 21.0.1-graalce || true 8 | sdk use java 21.0.1-graalce 9 | 10 | # compiler-snapi-frontend 11 | sbt compilerSnapiFrontend/test 12 | --------------------------------------------------------------------------------