Digest for jooq-user@googlegroups.com - 4 updates in 4 topics

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

Digest for jooq-user@googlegroups.com - 4 updates in 4 topics

http://groups.google.com/group/jooq-user/topics mailing list
Lukas Eder <[hidden email]>: Sep 02 07:01PM +0200

Hi Matthias,
 
Thank you very much for your very interesting questions. I will comment
inline:
 
 
> - Is the procedural language API included in your cheapest commercial
> offering, the "Express" edition?
 
Yes it is part of the Express Edition, which you may use with PostgreSQL
(among the other RDBMS listed below) with up to 3 licenses:
https://www.jooq.org/legal/licensing#databases
 
 
> Meaning, if I want to make use of _all_ jOOQ's new, advanced commercial
> features, is it enough to purchase the Express edition (even though I use
> Postgres and won't use any database offered by the Express edition)?
 
In the future, there will be further functional differences between the
editions, but we haven't designed this part of our roadmap in detail yet,
so with jOOQ 3.12, the main difference between the commercial
distributions, functionality wise, are:
 
- Commercial RDBMS support
- JDK version support (Only the jOOQ 3.12 Enterprise Edition still supports
Java 6 / 7)
 
There are also differences in terms of SLA.
 
 
> be the number of database products each _commercial_ edition supports? Or
> will you start to offer some commercial features e.g. only starting with
> "Professional", holding them back for "Express" users?
 
In the future, some commercial features will be offered to Enterprise
Edition customers only. There might also be Professional Edition only
features. We will soon publish a roadmap of the things we intend to
implement in the next few minor releases, and what editions will get access
to them. Most features (as always) will be available in all editions,
including the jOOQ Open Source Edition. Some very advanced features will be
reserved to commercial distributions.
 
 
> Further: Do you plan a (maybe cheaper than "Express") option to purchase
> only the commercial features?
 
We're not planning to introduce any additional low end price plans as the
Express Edition is already very low priced, and we already have quite a few
price plans - adding more price plans would complicate the decision process
for customers, without adding significant value.
 
- When you talk about "row level security" - do you mean actually rls on
> https://www.postgresql.org/docs/11/ddl-rowsecurity.html)? Or do you talk
> about "row level security" in a sense that jOOQ just adds "WHERE user_id =
> xxx" to each query?
 
No, jOOQ cannot implement such a feature on the database level. You could,
of course, but jOOQ doesn't manage your schema for you, or make any
assumptions about your schema. Nevertheless, if all queries pass by jOOQ
(including parsed ones), then we can implement row level security and
similar features by transforming all SQL in jOOQ.
 
Many users already do this with today's VisitListener, but that's very
difficult and error prone.
 
Please let me know if you have any further questions, and I will be very
happy to assist you.
Best Regards,
Lukas
Lukas Eder <[hidden email]>: Sep 02 02:54AM -0700

Version 3.12.1 - September 2, 2019
================================================================================
 
This is a 3.12 patch release with urgent bug fixes, if you're using
PostgreSQL and the jOOQ Open Source Edition. Thanks everyone for your
various reports and for your understanding. As always, the release will be
on Maven Central with around 1h delay. You will find it listed
here: https://search.maven.org/search?q=g:org.jooq%20AND%20a:jooq&core=gav
 
Bug Fixes
---------
 
#9106 - jOOQ 3.12.0 codegen fails with an incorrect query where 3.11 worked
correctly (PostgreSQL)
#9112 - Cannot build Javadoc in jOOQ-checker under Java 11
Lukas Eder <[hidden email]>: Sep 02 11:08AM +0200

Thanks a lot for your question.
 
We're currently not offering support for this third party plugin. I suggest
directing that feature request directly to the author of the plugin.
 
Thanks,
Lukas
 
Marek Gregor <[hidden email]>: Sep 02 10:13AM +0200

Hi Lukas,
 
thanks for notifying me. I have finally tried the meta() and parser() API
methods, here are my notes:
- DSLContext.meta() for existing JDBC connection works perfectly
- DSLContext.parser().parseResultQuery() works for full qualified field
names (e.g.: "select alarms.ID from alarms") but not for unqualified names
(e.g.: "select ID from alarms") when I have created DslContext with
settings: new Settings()
.withParseDialect(SQLDialect.POSTGRES)
.withParseWithMetaLookups(THROW_ON_FAILURE)
.withParseSearchPath(new ParseSearchSchema().withSchema("public"))
.withParseUnsupportedSyntax(FAIL)
.withParseUnknownFunctions(ParseUnknownFunctions.FAIL);
 
- DSLContext.meta(Source) fails with code:
 
public class DbScannerTest {
 
public static void main(String[] args) {
String url = "jdbc:postgresql://localhost/DEMO_Basic1_SysCfg";
Properties props = new Properties();
props.setProperty("user", "postgres");
props.setProperty("password", "swx");
 
try (Connection conn = DriverManager.getConnection(url, props)) {
final DSLContext dsl = DSL.using(conn, SQLDialect.POSTGRES);
final Meta specialMeta = dsl.meta(Source.of("CREATE TABLE
tutorials_tbl ( " +
" id INT NOT NULL, " +
" title VARCHAR(50) NOT NULL, " +
" author VARCHAR(20) NOT NULL, " +
" submission_date DATE, " +
");"));
} catch (SQLException e) {
e.printStackTrace();
}
}
}
 
with error:
 
"C:\Program Files\AdoptOpenJDK\jdk-11.0.3.7-hotspot\bin\java.exe "
..." DbScannerTest
Connected to the target VM, address: '127.0.0.1:49792', transport: 'socket'
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by org.jooq.tools.reflect.Reflect
(file:/C:/Users/mgregor/.m2/repository/org/jooq/jooq/3.12.0/jooq-3.12.0.jar)
to constructor java.lang.invoke.MethodHandles$Lookup(java.lang.Class)
WARNING: Please consider reporting this to the maintainers of
org.jooq.tools.reflect.Reflect
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
sep 02, 2019 10:11:33 AM org.jooq.tools.JooqLogger error
SEVERE: An exception occurred while parsing a DDL script: Identifier
expected: [1:138] ...or VARCHAR(20) NOT NULL, submission_date DATE,
[*]);. Please report this error to
https://github.com/jOOQ/jOOQ/issues/new
org.jooq.impl.ParserException: Identifier expected: [1:138] ...or
VARCHAR(20) NOT NULL, submission_date DATE, [*]);
at org.jooq.impl.ParserContext.expected(ParserImpl.java:10641)
at org.jooq.impl.ParserImpl.parseIdentifier(ParserImpl.java:8935)
at org.jooq.impl.ParserImpl.parseIdentifier(ParserImpl.java:8928)
at org.jooq.impl.ParserImpl.parseCreateTable(ParserImpl.java:3177)
at org.jooq.impl.ParserImpl.parseCreate(ParserImpl.java:2143)
at org.jooq.impl.ParserImpl.parseQuery(ParserImpl.java:844)
at org.jooq.impl.ParserImpl.parse(ParserImpl.java:542)
at org.jooq.impl.ParserImpl.parse(ParserImpl.java:529)
at org.jooq.impl.DDLDatabaseInitializer.loadScript(DDLDatabaseInitializer.java:172)
at org.jooq.impl.DDLDatabaseInitializer.initializeUsing(DDLDatabaseInitializer.java:153)
at org.jooq.impl.DDLMetaProvider.provide(DDLMetaProvider.java:69)
at org.jooq.impl.DefaultDSLContext.meta(DefaultDSLContext.java:443)
at DbScannerTest.main(DbScannerTest.java:24)
 
Exception in thread "main" org.jooq.impl.ParserException: Identifier
expected: [1:138] ...or VARCHAR(20) NOT NULL, submission_date DATE,
[*]);
at org.jooq.impl.ParserContext.expected(ParserImpl.java:10641)
at org.jooq.impl.ParserImpl.parseIdentifier(ParserImpl.java:8935)
at org.jooq.impl.ParserImpl.parseIdentifier(ParserImpl.java:8928)
at org.jooq.impl.ParserImpl.parseCreateTable(ParserImpl.java:3177)
at org.jooq.impl.ParserImpl.parseCreate(ParserImpl.java:2143)
at org.jooq.impl.ParserImpl.parseQuery(ParserImpl.java:844)
at org.jooq.impl.ParserImpl.parse(ParserImpl.java:542)
at org.jooq.impl.ParserImpl.parse(ParserImpl.java:529)
at org.jooq.impl.DDLDatabaseInitializer.loadScript(DDLDatabaseInitializer.java:172)
at org.jooq.impl.DDLDatabaseInitializer.initializeUsing(DDLDatabaseInitializer.java:153)
at org.jooq.impl.DDLMetaProvider.provide(DDLMetaProvider.java:69)
at org.jooq.impl.DefaultDSLContext.meta(DefaultDSLContext.java:443)
at DbScannerTest.main(DbScannerTest.java:24)
 
 
 
You received this digest because you're subscribed to updates for this group. You can change your settings on the group membership page.
To unsubscribe from this group and stop receiving emails from it send an email to [hidden email].