From cb6fa59bd17fbe9dcea45c73804db63c4660eb9b Mon Sep 17 00:00:00 2001 From: Hubert Plociniczak Date: Thu, 30 Jan 2025 14:06:37 +0100 Subject: [PATCH] Add Snowflake to native-image This change adds Snowflake's jdbc library packaged in a fat jar. It's not a straightword inclusion mostly due to the complicated way how the jar itself is constructed: - it's a fat jar so includes other dependencies which we sometimes include - they are patching some of the dependencies and putting them under their subpackage making it impossible to use the `snowflake-jdbc-thin` dependency - a number of configs are spurious and need to be disabled - `FileTypeDetector` provider leads to runtime-/build-time initialization confict that is impossible to workaround without disabling it - need to open `java.base` module, similarly to #9664, due to Arrow's usage - `java.nio.DirectByteBuffer` constructor changed its signature in JDK21 from `(long, int)` to `(long, long)` which caused problems for the constructed NI and needed to be reflected in the config --- build.sbt | 19 +- .../org/enso/snowflake/reflect-config.json | 1250 +++++++++++++++++ .../org/enso/snowflake/resource-config.json | 32 + 3 files changed, 1298 insertions(+), 3 deletions(-) create mode 100644 std-bits/snowflake/src/main/resources/META-INF/native-image/org/enso/snowflake/reflect-config.json create mode 100644 std-bits/snowflake/src/main/resources/META-INF/native-image/org/enso/snowflake/resource-config.json diff --git a/build.sbt b/build.sbt index 5c0028a5b9dc..2abd0982100c 100644 --- a/build.sbt +++ b/build.sbt @@ -3790,6 +3790,9 @@ lazy val `engine-runner` = project `database-polyglot-root`.listFiles("*.jar").map(_.getAbsolutePath()) ++ `std-aws-polyglot-root`.listFiles("*.jar").map(_.getAbsolutePath()) ++ `std-microsoft-polyglot-root` + .listFiles("*.jar") + .map(_.getAbsolutePath()) ++ + `std-snowflake-polyglot-root` .listFiles("*.jar") .map(_.getAbsolutePath()) @@ -3870,13 +3873,17 @@ lazy val `engine-runner` = project // which breaks all our class loading. We still want to run `SqliteJdbcFeature` which extracts a proper // native library from the jar. excludeConfigs = Seq( - s".*sqlite-jdbc-.*\\.jar,META-INF/native-image/org\\.xerial/sqlite-jdbc/native-image\\.properties" + s".*sqlite-jdbc-.*\\.jar,META-INF/native-image/org\\.xerial/sqlite-jdbc/native-image\\.properties", + s".*snowflake-jdbc-.*\\.jar,META-INF/native-image/.*" ), additionalOptions = Seq( "-Dorg.apache.commons.logging.Log=org.apache.commons.logging.impl.NoOpLog", "-H:IncludeResources=.*Main.enso$", "-H:+AddAllCharsets", "-H:+IncludeAllLocales", + // Workaround a problem with build-/runtime-initialization conflict + // by disabling this service provider + "-H:ServiceLoaderFeatureExcludeServiceProviders=net.snowflake.client.core.FileTypeDetector", // useful perf & debug switches: // "-g", // "-H:+SourceLevelDebug", @@ -3887,7 +3894,9 @@ lazy val `engine-runner` = project // "--verbose", "-Dnic=nic", "-Dorg.enso.feature.native.lib.output=" + (engineDistributionRoot.value / "bin"), - "-Dorg.sqlite.lib.exportPath=" + (engineDistributionRoot.value / "bin") + "-Dorg.sqlite.lib.exportPath=" + (engineDistributionRoot.value / "bin"), + // Snowflake uses Apache Arrow (equivalent of #9664 in native-image setup) + "--add-opens=java.base/java.nio=ALL-UNNAMED" ), mainClass = Some("org.enso.runner.Main"), initializeAtRuntime = Seq( @@ -3911,7 +3920,11 @@ lazy val `engine-runner` = project "org.enso.table", "org.enso.database", "org.eclipse.jgit", - "com.amazonaws" + "com.amazonaws", + "com.google", + "io.grpc", + "io.opencensus", + "net.snowflake.client" ) ) } diff --git a/std-bits/snowflake/src/main/resources/META-INF/native-image/org/enso/snowflake/reflect-config.json b/std-bits/snowflake/src/main/resources/META-INF/native-image/org/enso/snowflake/reflect-config.json new file mode 100644 index 000000000000..2c1d8bbed165 --- /dev/null +++ b/std-bits/snowflake/src/main/resources/META-INF/native-image/org/enso/snowflake/reflect-config.json @@ -0,0 +1,1250 @@ +[ + { + "name": "java.nio.DirectByteBuffer", + "methods": [ + { + "name": "", + "parameterTypes": [ + "long", + "int" + ] + }, + { + "name": "", + "parameterTypes": [ + "long", + "long" + ] + } + ] + }, + { + "name": "net.snowflake.client.core.OpaqueContextDTO", + "allDeclaredFields": true, + "queryAllDeclaredMethods": true, + "queryAllDeclaredConstructors": true, + "methods": [ + { + "name": "getBase64Data", + "parameterTypes": [] + } + ] + }, + { + "name": "net.snowflake.client.core.ParameterBindingDTO", + "allDeclaredFields": true, + "queryAllDeclaredMethods": true, + "queryAllDeclaredConstructors": true, + "methods": [ + { + "name": "getType", + "parameterTypes": [] + }, + { + "name": "getValue", + "parameterTypes": [] + } + ] + }, + { + "name": "net.snowflake.client.core.QueryContextDTO", + "allDeclaredFields": true, + "queryAllDeclaredMethods": true, + "queryAllDeclaredConstructors": true, + "methods": [ + { + "name": "getEntries", + "parameterTypes": [] + } + ] + }, + { + "name": "net.snowflake.client.core.QueryContextEntryDTO", + "allDeclaredFields": true, + "queryAllDeclaredMethods": true, + "queryAllDeclaredConstructors": true, + "methods": [ + { + "name": "getContext", + "parameterTypes": [] + }, + { + "name": "getId", + "parameterTypes": [] + }, + { + "name": "getPriority", + "parameterTypes": [] + }, + { + "name": "getTimestamp", + "parameterTypes": [] + } + ] + }, + { + "name": "net.snowflake.client.core.QueryExecDTO", + "allDeclaredFields": true, + "queryAllDeclaredMethods": true, + "queryAllDeclaredConstructors": true, + "methods": [ + { + "name": "getAsyncExec", + "parameterTypes": [] + }, + { + "name": "getBindStage", + "parameterTypes": [] + }, + { + "name": "getBindings", + "parameterTypes": [] + }, + { + "name": "getDescribedJobId", + "parameterTypes": [] + }, + { + "name": "getIsInternal", + "parameterTypes": [] + }, + { + "name": "getParameters", + "parameterTypes": [] + }, + { + "name": "getQuerySubmissionTime", + "parameterTypes": [] + }, + { + "name": "getSequenceId", + "parameterTypes": [] + }, + { + "name": "getSqlText", + "parameterTypes": [] + }, + { + "name": "getqueryContextDTO", + "parameterTypes": [] + }, + { + "name": "isDescribeOnly", + "parameterTypes": [] + } + ] + }, + { + "name": "net.snowflake.client.jdbc.SnowflakeDatabaseMetaData", + "methods": [ + { + "name": "getTables", + "parameterTypes": [ + "java.lang.String", + "java.lang.String", + "java.lang.String", + "java.lang.String[]" + ] + }, + { + "name": "getPrimaryKeys", + "parameterTypes": [ + "java.lang.String", + "java.lang.String", + "java.lang.String" + ] + }, + { + "name": "getCatalogs", + "parameterTypes": [] + } + ] + }, + { + "name": "net.snowflake.client.jdbc.SnowflakeDriver" + }, + { + "name": "net.snowflake.client.jdbc.internal.apache.arrow.memory.DefaultAllocationManagerFactory", + "fields": [ + { + "name": "FACTORY" + } + ] + }, + { + "name": "net.snowflake.client.jdbc.internal.apache.arrow.memory.RootAllocator", + "methods": [ + { + "name": "" + } + ] + }, + { + "name": "net.snowflake.client.jdbc.internal.apache.arrow.memory.util.MemoryUtil", + "methods": [ + { + "name": "" + } + ] + }, + { + "name": "net.snowflake.client.jdbc.internal.io.netty.buffer.AbstractByteBufAllocator", + "queryAllDeclaredMethods": true + }, + { + "name": "net.snowflake.client.jdbc.internal.io.netty.buffer.PooledByteBufAllocator", + "fields": [ + { + "name": "directArenas" + } + ] + }, + { + "name": "net.snowflake.client.jdbc.internal.apache.commons.logging.impl.LogFactoryImpl", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "net.snowflake.client.jdbc.internal.apache.commons.logging.impl.WeakHashtable", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "net.snowflake.client.jdbc.internal.snowflake.common.core.ClientAuthnDTO", + "allDeclaredFields": true, + "queryAllDeclaredMethods": true, + "queryAllDeclaredConstructors": true, + "methods": [ + { + "name": "getData", + "parameterTypes": [] + }, + { + "name": "getInFlightCtx", + "parameterTypes": [] + } + ] + }, + { + "name": "net.snowflake.client.jdbc.internal.snowflake.common.core.SubmittedAuthnDTO", + "queryAllDeclaredMethods": true + }, + { + "name": "net.snowflake.client.log.JDK14JCLWrapper", + "methods": [ + { + "name": "", + "parameterTypes": [ + "java.lang.String" + ] + }, + { + "name": "setLogFactory", + "parameterTypes": [ + "org.apache.commons.logging.LogFactory" + ] + } + ] + }, + { + "name": "net.snowflake.client.jdbc.telemetryOOB.TelemetryService", + "methods": [ + { + "name": "getInstance" + } + ] + }, + { + "name": "org.enso.snowflake.SnowflakeIntegerColumnMaterializer" + }, + { + "name": "org.enso.snowflake.SnowflakeJDBCUtils" + }, + { + "name": "net.snowflake.client.jdbc.internal.apache.arrow.vector.types.pojo.ArrowType", + "allDeclaredFields": true, + "queryAllDeclaredMethods": true, + "queryAllDeclaredConstructors": true + }, + { + "name": "net.snowflake.client.jdbc.internal.apache.arrow.vector.types.pojo.ArrowType$Int", + "allDeclaredFields": true, + "queryAllDeclaredMethods": true, + "queryAllDeclaredConstructors": true + }, + { + "name": "net.snowflake.client.jdbc.internal.apache.arrow.vector.types.pojo.ArrowType$PrimitiveType", + "allDeclaredFields": true, + "queryAllDeclaredMethods": true + }, + { + "name": "net.snowflake.client.jdbc.internal.apache.arrow.vector.types.pojo.DictionaryEncoding", + "allDeclaredFields": true, + "queryAllDeclaredMethods": true, + "queryAllDeclaredConstructors": true + }, + { + "name": "net.snowflake.client.jdbc.internal.apache.arrow.vector.types.pojo.Field", + "allDeclaredFields": true, + "queryAllDeclaredMethods": true, + "queryAllDeclaredConstructors": true + }, + { + "name": "net.snowflake.client.jdbc.internal.apache.arrow.vector.types.pojo.Schema", + "allDeclaredFields": true, + "queryAllDeclaredMethods": true, + "queryAllDeclaredConstructors": true + }, + { + "name": "net.snowflake.client.jdbc.internal.fasterxml.jackson.databind.ext.Java7SupportImpl", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "net.snowflake.client.jdbc.internal.io.netty.buffer.AbstractByteBufAllocator", + "queryAllDeclaredMethods": true + }, + { + "name": "net.snowflake.client.jdbc.internal.io.netty.buffer.AbstractReferenceCountedByteBuf", + "fields": [ + { + "name": "refCnt" + } + ] + }, + { + "name": "net.snowflake.client.jdbc.internal.io.netty.buffer.PooledByteBufAllocator", + "fields": [ + { + "name": "directArenas" + } + ] + }, + { + "name": "net.snowflake.client.jdbc.internal.io.netty.util.Recycler$DefaultHandle", + "fields": [ + { + "name": "state" + } + ] + }, + { + "name": "net.snowflake.client.jdbc.internal.io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueueColdProducerFields", + "fields": [ + { + "name": "producerLimit" + } + ] + }, + { + "name": "net.snowflake.client.jdbc.internal.io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueueConsumerFields", + "fields": [ + { + "name": "consumerIndex" + } + ] + }, + { + "name": "net.snowflake.client.jdbc.internal.io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueueProducerFields", + "fields": [ + { + "name": "producerIndex" + } + ] + }, + { + "name": "net.snowflake.client.jdbc.internal.org.bouncycastle.jcajce.provider.asymmetric.COMPOSITE$Mappings", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "net.snowflake.client.jdbc.internal.org.bouncycastle.jcajce.provider.asymmetric.DH$Mappings", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "net.snowflake.client.jdbc.internal.org.bouncycastle.jcajce.provider.asymmetric.DSA$Mappings", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "net.snowflake.client.jdbc.internal.org.bouncycastle.jcajce.provider.asymmetric.DSTU4145$Mappings", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "net.snowflake.client.jdbc.internal.org.bouncycastle.jcajce.provider.asymmetric.Dilithium$Mappings", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "net.snowflake.client.jdbc.internal.org.bouncycastle.jcajce.provider.asymmetric.EC$Mappings", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "net.snowflake.client.jdbc.internal.org.bouncycastle.jcajce.provider.asymmetric.ECGOST$Mappings", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "net.snowflake.client.jdbc.internal.org.bouncycastle.jcajce.provider.asymmetric.EXTERNAL$Mappings", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "net.snowflake.client.jdbc.internal.org.bouncycastle.jcajce.provider.asymmetric.EdEC$Mappings", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "net.snowflake.client.jdbc.internal.org.bouncycastle.jcajce.provider.asymmetric.ElGamal$Mappings", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "net.snowflake.client.jdbc.internal.org.bouncycastle.jcajce.provider.asymmetric.Falcon$Mappings", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "net.snowflake.client.jdbc.internal.org.bouncycastle.jcajce.provider.asymmetric.GM$Mappings", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "net.snowflake.client.jdbc.internal.org.bouncycastle.jcajce.provider.asymmetric.GOST$Mappings", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "net.snowflake.client.jdbc.internal.org.bouncycastle.jcajce.provider.asymmetric.IES$Mappings", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "net.snowflake.client.jdbc.internal.org.bouncycastle.jcajce.provider.asymmetric.LMS$Mappings", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "net.snowflake.client.jdbc.internal.org.bouncycastle.jcajce.provider.asymmetric.NTRU$Mappings", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "net.snowflake.client.jdbc.internal.org.bouncycastle.jcajce.provider.asymmetric.RSA$Mappings", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "net.snowflake.client.jdbc.internal.org.bouncycastle.jcajce.provider.asymmetric.SPHINCSPlus$Mappings", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "net.snowflake.client.jdbc.internal.org.bouncycastle.jcajce.provider.asymmetric.X509$Mappings", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "net.snowflake.client.jdbc.internal.org.bouncycastle.jcajce.provider.digest.Blake2b$Mappings", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "net.snowflake.client.jdbc.internal.org.bouncycastle.jcajce.provider.digest.Blake2s$Mappings", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "net.snowflake.client.jdbc.internal.org.bouncycastle.jcajce.provider.digest.Blake3$Mappings", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "net.snowflake.client.jdbc.internal.org.bouncycastle.jcajce.provider.digest.DSTU7564$Mappings", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "net.snowflake.client.jdbc.internal.org.bouncycastle.jcajce.provider.digest.GOST3411$Mappings", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "net.snowflake.client.jdbc.internal.org.bouncycastle.jcajce.provider.digest.Haraka$Mappings", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "net.snowflake.client.jdbc.internal.org.bouncycastle.jcajce.provider.digest.Keccak$Mappings", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "net.snowflake.client.jdbc.internal.org.bouncycastle.jcajce.provider.digest.MD2$Mappings", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "net.snowflake.client.jdbc.internal.org.bouncycastle.jcajce.provider.digest.MD4$Mappings", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "net.snowflake.client.jdbc.internal.org.bouncycastle.jcajce.provider.digest.MD5$Mappings", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "net.snowflake.client.jdbc.internal.org.bouncycastle.jcajce.provider.digest.RIPEMD128$Mappings", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "net.snowflake.client.jdbc.internal.org.bouncycastle.jcajce.provider.digest.RIPEMD160$Mappings", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "net.snowflake.client.jdbc.internal.org.bouncycastle.jcajce.provider.digest.RIPEMD256$Mappings", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "net.snowflake.client.jdbc.internal.org.bouncycastle.jcajce.provider.digest.RIPEMD320$Mappings", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "net.snowflake.client.jdbc.internal.org.bouncycastle.jcajce.provider.digest.SHA1$Mappings", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "net.snowflake.client.jdbc.internal.org.bouncycastle.jcajce.provider.digest.SHA224$Mappings", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "net.snowflake.client.jdbc.internal.org.bouncycastle.jcajce.provider.digest.SHA256$Mappings", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "net.snowflake.client.jdbc.internal.org.bouncycastle.jcajce.provider.digest.SHA3$Mappings", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "net.snowflake.client.jdbc.internal.org.bouncycastle.jcajce.provider.digest.SHA384$Mappings", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "net.snowflake.client.jdbc.internal.org.bouncycastle.jcajce.provider.digest.SHA512$Mappings", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "net.snowflake.client.jdbc.internal.org.bouncycastle.jcajce.provider.digest.SM3$Mappings", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "net.snowflake.client.jdbc.internal.org.bouncycastle.jcajce.provider.digest.Skein$Mappings", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "net.snowflake.client.jdbc.internal.org.bouncycastle.jcajce.provider.digest.Tiger$Mappings", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "net.snowflake.client.jdbc.internal.org.bouncycastle.jcajce.provider.digest.Whirlpool$Mappings", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "net.snowflake.client.jdbc.internal.org.bouncycastle.jcajce.provider.drbg.DRBG$Mappings", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "net.snowflake.client.jdbc.internal.org.bouncycastle.jcajce.provider.keystore.BC$Mappings", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "net.snowflake.client.jdbc.internal.org.bouncycastle.jcajce.provider.keystore.BCFKS$Mappings", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "net.snowflake.client.jdbc.internal.org.bouncycastle.jcajce.provider.keystore.PKCS12$Mappings", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "net.snowflake.client.jdbc.internal.org.bouncycastle.jcajce.provider.symmetric.AES$Mappings", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "net.snowflake.client.jdbc.internal.org.bouncycastle.jcajce.provider.symmetric.ARC4$Mappings", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "net.snowflake.client.jdbc.internal.org.bouncycastle.jcajce.provider.symmetric.ARIA$Mappings", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "net.snowflake.client.jdbc.internal.org.bouncycastle.jcajce.provider.symmetric.Blowfish$Mappings", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "net.snowflake.client.jdbc.internal.org.bouncycastle.jcajce.provider.symmetric.CAST5$Mappings", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "net.snowflake.client.jdbc.internal.org.bouncycastle.jcajce.provider.symmetric.CAST6$Mappings", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "net.snowflake.client.jdbc.internal.org.bouncycastle.jcajce.provider.symmetric.Camellia$Mappings", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "net.snowflake.client.jdbc.internal.org.bouncycastle.jcajce.provider.symmetric.ChaCha$Mappings", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "net.snowflake.client.jdbc.internal.org.bouncycastle.jcajce.provider.symmetric.DES$Mappings", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "net.snowflake.client.jdbc.internal.org.bouncycastle.jcajce.provider.symmetric.DESede$Mappings", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "net.snowflake.client.jdbc.internal.org.bouncycastle.jcajce.provider.symmetric.DSTU7624$Mappings", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "net.snowflake.client.jdbc.internal.org.bouncycastle.jcajce.provider.symmetric.GOST28147$Mappings", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "net.snowflake.client.jdbc.internal.org.bouncycastle.jcajce.provider.symmetric.GOST3412_2015$Mappings", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "net.snowflake.client.jdbc.internal.org.bouncycastle.jcajce.provider.symmetric.Grain128$Mappings", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "net.snowflake.client.jdbc.internal.org.bouncycastle.jcajce.provider.symmetric.Grainv1$Mappings", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "net.snowflake.client.jdbc.internal.org.bouncycastle.jcajce.provider.symmetric.HC128$Mappings", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "net.snowflake.client.jdbc.internal.org.bouncycastle.jcajce.provider.symmetric.HC256$Mappings", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "net.snowflake.client.jdbc.internal.org.bouncycastle.jcajce.provider.symmetric.IDEA$Mappings", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "net.snowflake.client.jdbc.internal.org.bouncycastle.jcajce.provider.symmetric.Noekeon$Mappings", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "net.snowflake.client.jdbc.internal.org.bouncycastle.jcajce.provider.symmetric.OpenSSLPBKDF$Mappings", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "net.snowflake.client.jdbc.internal.org.bouncycastle.jcajce.provider.symmetric.PBEPBKDF1$Mappings", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "net.snowflake.client.jdbc.internal.org.bouncycastle.jcajce.provider.symmetric.PBEPBKDF2$Mappings", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "net.snowflake.client.jdbc.internal.org.bouncycastle.jcajce.provider.symmetric.PBEPKCS12$Mappings", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "net.snowflake.client.jdbc.internal.org.bouncycastle.jcajce.provider.symmetric.Poly1305$Mappings", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "net.snowflake.client.jdbc.internal.org.bouncycastle.jcajce.provider.symmetric.RC2$Mappings", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "net.snowflake.client.jdbc.internal.org.bouncycastle.jcajce.provider.symmetric.RC5$Mappings", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "net.snowflake.client.jdbc.internal.org.bouncycastle.jcajce.provider.symmetric.RC6$Mappings", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "net.snowflake.client.jdbc.internal.org.bouncycastle.jcajce.provider.symmetric.Rijndael$Mappings", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "net.snowflake.client.jdbc.internal.org.bouncycastle.jcajce.provider.symmetric.SCRYPT$Mappings", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "net.snowflake.client.jdbc.internal.org.bouncycastle.jcajce.provider.symmetric.SEED$Mappings", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "net.snowflake.client.jdbc.internal.org.bouncycastle.jcajce.provider.symmetric.SM4$Mappings", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "net.snowflake.client.jdbc.internal.org.bouncycastle.jcajce.provider.symmetric.Salsa20$Mappings", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "net.snowflake.client.jdbc.internal.org.bouncycastle.jcajce.provider.symmetric.Serpent$Mappings", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "net.snowflake.client.jdbc.internal.org.bouncycastle.jcajce.provider.symmetric.Shacal2$Mappings", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "net.snowflake.client.jdbc.internal.org.bouncycastle.jcajce.provider.symmetric.SipHash$Mappings", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "net.snowflake.client.jdbc.internal.org.bouncycastle.jcajce.provider.symmetric.SipHash128$Mappings", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "net.snowflake.client.jdbc.internal.org.bouncycastle.jcajce.provider.symmetric.Skipjack$Mappings", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "net.snowflake.client.jdbc.internal.org.bouncycastle.jcajce.provider.symmetric.TEA$Mappings", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "net.snowflake.client.jdbc.internal.org.bouncycastle.jcajce.provider.symmetric.TLSKDF$Mappings", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "net.snowflake.client.jdbc.internal.org.bouncycastle.jcajce.provider.symmetric.Threefish$Mappings", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "net.snowflake.client.jdbc.internal.org.bouncycastle.jcajce.provider.symmetric.Twofish$Mappings", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "net.snowflake.client.jdbc.internal.org.bouncycastle.jcajce.provider.symmetric.VMPC$Mappings", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "net.snowflake.client.jdbc.internal.org.bouncycastle.jcajce.provider.symmetric.VMPCKSA3$Mappings", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "net.snowflake.client.jdbc.internal.org.bouncycastle.jcajce.provider.symmetric.XSalsa20$Mappings", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "net.snowflake.client.jdbc.internal.org.bouncycastle.jcajce.provider.symmetric.XTEA$Mappings", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "net.snowflake.client.jdbc.internal.org.bouncycastle.jcajce.provider.symmetric.Zuc$Mappings", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "net.snowflake.client.jdbc.internal.org.bouncycastle.jce.provider.BouncyCastleProvider", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "name": "net.snowflake.client.jdbc.internal.snowflake.common.core.ClientAuthnDTO", + "allDeclaredFields": true, + "queryAllDeclaredMethods": true, + "queryAllDeclaredConstructors": true, + "methods": [ + { + "name": "getData", + "parameterTypes": [] + }, + { + "name": "getInFlightCtx", + "parameterTypes": [] + } + ] + }, + { + "name": "net.snowflake.client.jdbc.internal.snowflake.common.core.SubmittedAuthnDTO", + "queryAllDeclaredMethods": true + }, + { + "name": "net.snowflake.client.log.JDK14JCLWrapper", + "methods": [ + { + "name": "", + "parameterTypes": [ + "java.lang.String" + ] + }, + { + "name": "setLogFactory", + "parameterTypes": [ + "net.snowflake.client.jdbc.internal.apache.commons.logging.LogFactory" + ] + } + ] + } +] diff --git a/std-bits/snowflake/src/main/resources/META-INF/native-image/org/enso/snowflake/resource-config.json b/std-bits/snowflake/src/main/resources/META-INF/native-image/org/enso/snowflake/resource-config.json new file mode 100644 index 000000000000..e18275b6b5a6 --- /dev/null +++ b/std-bits/snowflake/src/main/resources/META-INF/native-image/org/enso/snowflake/resource-config.json @@ -0,0 +1,32 @@ +{ + "resources": { + "includes": [ + { + "pattern": "\\Qnet/snowflake/client/jdbc/internal/apache/arrow/memory/DefaultAllocationManagerFactory.class\\E" + }, + { + "pattern": "\\Qnet/snowflake/client/jdbc/internal/apache/http/client/version.properties\\E" + } + ] + }, + "bundles": [ + { + "name": "net.snowflake.client.jdbc.version", + "locales": [ + "" + ] + }, + { + "name": "net.snowflake.client.jdbc.jdbc_error_messages", + "locales": [ + "" + ] + }, + { + "name": "net.snowflake.client.jdbc.internal.snowflake.common.version", + "locales": [ + "" + ] + } + ] +}