junixsocket
JSqlParser
junixsocket | JSqlParser | |
---|---|---|
1 | 4 | |
418 | 4,965 | |
0.7% | 1.0% | |
9.7 | 9.4 | |
14 days ago | 8 days ago | |
Java | Java | |
Apache License 2.0 | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
junixsocket
-
Ask HN: How to get started on IBM z/OS in 2023?
I've recently looked again into the strange world of IBM operating systems (z/OS, IBM i, AIX), primarily because they all run Java, and my open source library junixsocket (https://github.com/kohlschutter/junixsocket) needed a corresponding JNI (C code) implementation on these platforms for the native part of supporting UNIX domain sockets in Java. Of these IBM OSes, I found that z/Os was the weirdest one.
Since you're an enterprise consultant already, you probably already know that there's always an opportunity to cut down expenses/technical debt, while providing justification for past decisions made by the company (after all, they've probably invested quite a lot in that infrastructure, so these decisions couldn't have been wrong...)
Depending on how deep down the rabbit hole you dare to go, there may be a pot of gold waiting for you or a black hole that sucks the livelihood out of your body. After all, it's mostly a legacy system. Don't expect entirely new systems being written for those niche operating systems. But maybe you find your very own niche in there.
I know a company that I worked with in the past has their main business powered by IBM mainframes, and they may well keep that system going for the foreseeable future. A lot of code may already be running on zSystems Linux or be converted to run on it. At that point, you largely only have a different processor architecture to deal with, and some minor, yet annoying incompatibilities and restrictions that you will encounter soon enough.
A good starting point to learn about IBM z may be "IBM Z Xplore" (https://ibmzxplore.influitive.com/), which gives, apart from an online tutorial with challenges, some free access to IBM z systems. Also check out IBM ZD&T for Learners Edition (https://ibm.github.io/zdt-learners-edition-about/).
Don't expect that IBM responds to any of your inquiries unless you already are a paying customer.
JSqlParser
-
Semantic Diff for SQL
I wonder if this is a topical thread to check if anyone is aware of a Java based solution to parse a CREATE VIEW statement to get a mapping between the view columns and the corresponding source table columns. I checked out jsqlparser[0] and it does produce an AST which can be parsed using the visitor-pattern[1] but was wondering if there is a more "out-of-the-box" solution. Due to various reasons, querying the database information schema is not an option I can pursue.
[0]: https://github.com/JSQLParser/JSqlParser
[1]: https://en.wikipedia.org/wiki/Visitor_pattern
-
Open Source SQL Parsers
JSQLParser can parse multiple SQL dialects like MySQL, Postgres and Oracle. The grammar can be modified to support other SQL dialects.
- Let's write a compiler, part 5: A code generator
-
Racket v8.0
Interesting coincidence - I'm working on a parser that parses the AST produced by JSqlParser[0] for a create view statement to generate mapping between the columns of a view and the columns of its underlying table. It is an interesting example of having to use the visitor pattern[1].
[0]: https://github.com/JSQLParser/JSqlParser
What are some alternatives?
ali-dbhub - 已迁移新仓库,此版本将不再维护
Apache Calcite - Apache Calcite
Flyway - Flyway by Redgate • Database Migrations Made Easy.
sqlglot - Python SQL Parser and Transpiler
remote-method-guesser - Java RMI Vulnerability Scanner
zetasql - ZetaSQL - Analyzer Framework for SQL
dbeaver - Free universal database tool and SQL client
sqlparse - A non-validating SQL parser module for Python
narcissus - A library for bypassing all of Java's security mechanisms, visibility checks, and encapsulation measures via the JNI API
Presto - The official home of the Presto distributed SQL query engine for big data
ANTLR - ANTLR (ANother Tool for Language Recognition) is a powerful parser generator for reading, processing, executing, or translating structured text or binary files.
queryparser - Parsing and analysis of Vertica, Hive, and Presto SQL.