Thread
#exposed
    Don Mitchell

    Don Mitchell

    2 years ago
    I'm writing a Snowflake dialect for exposed. The good news is that 11/19 tests pass 🙂 If you're interested in this work, my fork and branch https://github.com/dmitchell/Exposed/tree/snowflake. I'd welcome critiques and help. Right now, it's failing on the prepared statements where somehow the values are not properly going to the payload.
    org.jetbrains.exposed.JavaTimeBaseTest > javaTimeFunctions STANDARD_OUT
        20:41:39,049  WARN Test worker Exposed:invoke:183 - Transaction attempt #0 failed: java.sql.SQLFeatureNotSupportedException. Statement(s): INSERT INTO CITIESTIME (LOCAL_TIME, "NAME") VALUES (?, ?)
        org.jetbrains.exposed.exceptions.ExposedSQLException: java.sql.SQLFeatureNotSupportedException
        SQL: [INSERT INTO CITIESTIME (LOCAL_TIME, "NAME") VALUES (?, ?)]
            at org.jetbrains.exposed.sql.statements.Statement.executeIn$exposed_core(Statement.kt:50)
    ...
    org.jetbrains.exposed.JavaTimeBaseTest > javaTimeFunctions FAILED
        org.jetbrains.exposed.exceptions.ExposedSQLException: java.sql.SQLFeatureNotSupportedException
        SQL: [Failed on expanding args for INSERT: org.jetbrains.exposed.sql.statements.InsertStatement@3f32f77b]
            at org.jetbrains.exposed.sql.statements.Statement.executeIn$exposed_core(Statement.kt:50)
    ...
    WARNING: An illegal reflective access operation has occurred
    WARNING: Illegal reflective access by net.snowflake.client.jdbc.internal.io.netty.util.internal.ReflectionUtil (file:/Users/dmitchell/.gradle/caches/modules-2/files-2.1/net.snowflake/snowflake-jdbc/3.12.7/e47fa73b85037285b887c63602f9c509df27b2be/snowflake-jdbc-3.12.7.jar) to constructor java.nio.DirectByteBuffer(long,int)
    WARNING: Please consider reporting this to the maintainers of net.snowflake.client.jdbc.internal.io.netty.util.internal.ReflectionUtil
    WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
    WARNING: All illegal access operations will be denied in a future release
    btw: re convo in https://github.com/Tapac/exposed-wiki/pull/6#issuecomment-651028163 • I'll check w snowflake re getting a db accessible for exposed testing. I can see a lot of reasons they'd be reluctant (abuse potentials, but) • thanks for the pointer to the methods for indexes. I hadn't found them yet. • the byte issue ends up being a bug in jdbc.snowflake which I've patched but I've also written a guard in exposed to avoid https://github.com/snowflakedb/snowflake-jdbc/pull/271 • thanks for the current timestamp pointer, I'd fixed that but there seems several alt code paths which don't pick it up. I think I've got them.
    Can the authorities for exposed sign up for a trial snowflake account https://trial.snowflake.com/ so that the unit tests will work for others (I'm testing against my company's non-public account)