Git Product home page Git Product logo

pgjdbc's Introduction

CrateDB
https://github.com/crate/crate/workflows/CrateDB%20SQL/badge.svg?branch=master

Help us improve CrateDB by taking our User Survey!

About

CrateDB is a distributed SQL database that makes it simple to store and analyze massive amounts of data in real-time.

CrateDB offers the benefits of an SQL database and the scalability and flexibility typically associated with NoSQL databases. Modest CrateDB clusters can ingest tens of thousands of records per second without breaking a sweat. You can run ad-hoc queries using standard SQL. CrateDB's blazing-fast distributed query execution engine parallelizes query workloads across the whole cluster.

CrateDB is well suited to containerization, can be scaled horizontally using ephemeral virtual machines (e.g., Kubernetes, AWS, and Azure) with no shared state. You can deploy and run CrateDB on any sort of network โ€” from personal computers to multi-region hybrid clouds and the edge.

Features

  • Use standard SQL via the PostgreSQL wire protocol or an HTTP API.
  • Dynamic table schemas and queryable objects provide document-oriented features in addition to the relational features of SQL.
  • Support for time-series data, real-time full-text search, geospatial data types and search capabilities.
  • Horizontally scalable, highly available and fault-tolerant clusters that run very well in virtualized and containerized environments.
  • Extremely fast distributed query execution.
  • Auto-partitioning, auto-sharding, and auto-replication.
  • Self-healing and auto-rebalancing.
  • User-defined functions (UDFs) can be used to extend the functionality of CrateDB.

Screenshots

CrateDB provides an Admin UI:

Screenshots of the CrateDB Admin UI

Try CrateDB

The fastest way to try CrateDB out is by running:

sh$ bash -c "$(curl -L try.crate.io)"

Or spin up the official Docker image:

sh$ docker run --publish 4200:4200 --publish 5432:5432 --env CRATE_HEAP_SIZE=1g crate -Cdiscovery.type=single-node

Visit the installation documentation to see all the available download and install options.

Once you're up and running, head over to the introductory docs. To interact with CrateDB, you can use the Admin UI sql console or the CrateDB shell CLI tool. Alternatively, review the list of recommended clients and tools that work with CrateDB.

For container-specific documentation, check out the CrateDB on Docker how-to guide or the CrateDB on Kubernetes how-to guide.

Contributing

This project is primarily maintained by Crate.io, but we welcome community contributions!

See the developer docs and the contribution docs for more information.

Security

The CrateDB team and community take security bugs seriously. We appreciate your efforts to responsibly disclose your findings, and will make every effort to acknowledge your contributions.

If you think you discovered a security flaw, please follow the guidelines at SECURITY.md.

Help

Looking for more help?

pgjdbc's People

Contributors

alexelin avatar alexismeneses avatar amotl avatar benbenw avatar bmomjian avatar bpd0018 avatar chaudum avatar christian-schlichtherle avatar chrullrich avatar davecramer avatar gordiychuk avatar grzm avatar hlinnaka avatar jorsol avatar kjurka avatar kofemann avatar kovrus avatar lordnelson avatar marschall avatar petere avatar phillipross avatar praiskup avatar ringerc avatar scrappy avatar sehrope avatar slmsbrhgn avatar tminglei avatar vlsi avatar whitingjr avatar zapov avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Forkers

chughpiyush

pgjdbc's Issues

Dependabot: Handling infrastructure updates

Hi there,

after adding Dependabot with GH-46, it created a few admonitions about infrastructural parts of this repository, which are used by the upstream package for release purposes. Because we don't release any artifacts of this package, but instead link it into our downstream driver wrapper 1, this is not of much concern to us.

It is used by the CrateDB legacy JDBC driver for covering certain usage scenarios around CrateDB and is not released otherwise.

So, I suggest to merge corresponding pull requests without further ado. It will also get rid of three security warnings, which is only of cosmetic nature, because, as said, we don't use those components at all.

With kind regards,
Andreas.

Footnotes

  1. https://github.com/crate/crate-jdbc/tree/master/pg โ†ฉ

Dependabot: Handling functional updates

Hi again,

those three updates are related to functional parts of the driver.

I believe the first two can be merged without further ado, as it is only a patch release. On the other hand, the third one updates the SCRAM Java Implementation, which may want to receive another look or two?

SCRAM (Salted Challenge Response Authentication Mechanism) is part of the family of Simple Authentication and Security Layer (SASL, RFC 4422) authentication mechanisms. It is described as part of RFC 5802 and RFC7677. It serves as the basis of PostgreSQL's JDBC driver SCRAM support (supported since PostgreSQL 10).

With kind regards,
Andreas.

Tests are broken

About

Even after GH-47, the tests are currently failing badly for me. GH-66 also demonstrates it on CI. Does anyone know the trick how to make them work?

mvn clean package

Currently, those errors are all over the place. Here are two samples.

java.sql.SQLException: No suitable driver found for jdbc:postgresql://localhost:5432/test
java.lang.NullPointerException: Cannot invoke "java.sql.Connection.createStatement()" because "con" is null

Outlook

It would be sweet to make them work, also for being able to trust any updates submitted by Dependabot (GH-46) without further ado.

Details

testSupportsRefCursors(org.postgresql.test.jdbc42.SimpleJdbc42Test)  Time elapsed: 0.007 sec  <<< ERROR!
java.sql.SQLException: No suitable driver found for jdbc:postgresql://localhost:5432/test?ApplicationName=Driver Tests&loggerLevel=OFF&loggerFile=target/pgjdbc-tests.log
	at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:708)
	at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:191)
	at org.postgresql.test.TestUtil.openDB(TestUtil.java:342)
	at org.postgresql.test.jdbc2.BaseTest4.setUp(BaseTest4.java:83)
	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
	at java.base/java.lang.reflect.Method.invoke(Method.java:578)
	at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
	at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
	at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
	at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:24)
	at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
	at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
	at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
	at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
	at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
	at org.junit.runners.Suite.runChild(Suite.java:128)
	at org.junit.runners.Suite.runChild(Suite.java:27)
	at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
	at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
	at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
	at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:283)
	at org.apache.maven.surefire.junit4.JUnit4Provider.executeWithRerun(JUnit4Provider.java:173)
	at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:153)
	at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:128)
	at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:203)
	at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:155)
	at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:103)
testGetLocalDateTime[binary = REGULAR](org.postgresql.test.jdbc42.GetObject310Test)  Time elapsed: 0.001 sec  <<< ERROR!
java.lang.NullPointerException: Cannot invoke "java.sql.Connection.createStatement()" because "con" is null
	at org.postgresql.test.TestUtil.dropTable(TestUtil.java:547)
	at org.postgresql.test.jdbc42.GetObject310Test.tearDown(GetObject310Test.java:75)

/cc @BaurzhanSakhariev

Backport upstream changes

Status quo

  • Currently, the fork is 907 commits behind upstream.
  • The current version of the vanilla driver is 42.6.0, while the fork is based on version 42.2.5.

Task

  • Look into what it would take to upgrade to the most recent version.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.