ignite-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Oleg Ostanin <oosta...@gridgain.com>
Subject Re: Adding sqlline tool to Apache Ignite project
Date Mon, 09 Oct 2017 14:29:42 GMT
Another build with sqlline included:
https://ci.ignite.apache.org/viewLog.html?buildId=881120&tab=artifacts&buildTypeId=IgniteRelease_XxxFromMirrorIgniteRelease3PrepareVote#!1rrb2,-wpvx2aopzexz,1esn4zrslm4po,-h8h0hn9vvvxp

On Sun, Oct 8, 2017 at 5:11 PM, Denis Magda <dmagda@gridgain.com> wrote:

> No more doubts on my side. +1 for Vladimir’s suggestion.
>
> Denis
>
> On Saturday, October 7, 2017, Dmitriy Setrakyan <dsetrakyan@apache.org>
> wrote:
>
> > I now tend to agree with Vladimir. We should always require that some
> > address is specified. The help menu should clearly state how to connect
> to
> > a localhost.
> >
> > D.
> >
> > On Sat, Oct 7, 2017 at 12:44 AM, Vladimir Ozerov <vozerov@gridgain.com
> > <javascript:;>>
> > wrote:
> >
> > > Denis,
> > >
> > > Default Ignite configuration uses multicast, this is why you do not
> need
> > to
> > > change anything. Ignite node is always both a server (listens) and a
> > client
> > > (connects).
> > >
> > > This will not work for ignitesql, as this is a client. And in real
> > > deployments it will connect to remote nodes, not local. So the earlier
> we
> > > explain user how to do this, the better. This is why it should not work
> > out
> > > of the box connecting to 127.0.0.1. No magic for users please.
> > >
> > > This is what user will see (draft):
> > > > ./ignitesql.sh
> > > > Please specify the host: ignitesql.sh [host]; type --help for more
> > > information.
> > > > ./ignitesql.sh 192.168.12.55
> > > > Connected successfully.
> > >
> > > Again, specifying parameters manually is not poor UX. This is excellent
> > UX,
> > > as user learns on his own how to connect to a node in 1 minute. Most
> > > command line tools work this way.
> > >
> > > сб, 7 окт. 2017 г. в 7:12, Dmitriy Setrakyan <dsetrakyan@apache.org
> > <javascript:;>>:
> > >
> > > > How does the binding happen? Can we bind to everything, like we do in
> > > > Ignite?
> > > >
> > > > On Fri, Oct 6, 2017 at 2:51 PM, Denis Magda <dmagda@apache.org
> > <javascript:;>> wrote:
> > > >
> > > > > Thought over 127.0.0.1 as a default host once again. The bad thing
> > > about
> > > > > it is that the user gets a lengthy exception stack trace if Ignite
> > is
> > > > not
> > > > > running locally and not a small error message.
> > > > >
> > > > > What are the other opinions on this? Do we want to follow
> Vladimir’s
> > > > > suggestion forcing to set the host name/IP (port is optional) for
> the
> > > > sake
> > > > > of usability or leaver 127.0.0.1 as default?
> > > > >
> > > > > —
> > > > > Denis
> > > > >
> > > > > > On Oct 6, 2017, at 12:21 PM, Denis Magda <dmagda@apache.org
> > <javascript:;>> wrote:
> > > > > >
> > > > > >> But, we need to support “help” (-h, -help) argument
listing all
> > the
> > > > > parameters accepted by the tools.
> > > > > >
> > > > > > Meant accepted by the ignitesql script only such as host name.
> > > > > >
> > > > > > —
> > > > > > Denis
> > > > > >
> > > > > >> On Oct 6, 2017, at 12:20 PM, Denis Magda <dmagda@apache.org
> > <javascript:;>> wrote:
> > > > > >>
> > > > > >> Really nice, could click through the getting started [1]
in a
> > > minute!
> > > > > >>
> > > > > >> +1 to rename the script to “ignitesql”. Vladimir’s
point makes
> > total
> > > > > sense.
> > > > > >>
> > > > > >> However, tend to disagree that the host has to be requested
all
> > the
> > > > > times. We never request a configuration or host name for ignite.sh,
> > > visor
> > > > > or web agent scripts. I would follow this approach that’s excellent
> > for
> > > > dev
> > > > > time.
> > > > > >>
> > > > > >> But, we need to support “help” (-h, -help) argument
listing all
> > the
> > > > > parameters accepted by the tools.
> > > > > >>
> > > > > >> Please consider our feedback and share the next build once
it’s
> > > ready.
> > > > > >>
> > > > > >>
> > > > > >> [1] https://apacheignite-sql.readme.io/v2.1/docs/getting-
> started
> > <
> > > > > https://apacheignite-sql.readme.io/v2.1/docs/getting-started>
> > > > > >>
> > > > > >> —
> > > > > >> Denis
> > > > > >>
> > > > > >>> On Oct 6, 2017, at 9:04 AM, Anton Vinogradov <
> > > > avinogradov@gridgain.com <javascript:;>>
> > > > > wrote:
> > > > > >>>
> > > > > >>> How about sqlconsole.sh or sqlcmd.sh ?
> > > > > >>>
> > > > > >>> On Fri, Oct 6, 2017 at 6:04 PM, <dsetrakyan@apache.org
> > <javascript:;>> wrote:
> > > > > >>>
> > > > > >>>> I like ignitesql.
> > > > > >>>>
> > > > > >>>> ⁣D.​
> > > > > >>>>
> > > > > >>>> On Oct 6, 2017, 4:49 PM, at 4:49 PM, Vladimir Ozerov
<
> > > > > vozerov@gridgain.com <javascript:;>>
> > > > > >>>> wrote:
> > > > > >>>>> Denis,
> > > > > >>>>>
> > > > > >>>>> Setting default host to 127.0.0.1 is bad idea,
because it
> mean
> > > that
> > > > > in
> > > > > >>>>> practice users would have to change the script
always.
> Instead,
> > > we
> > > > > >>>>> should
> > > > > >>>>> accept host name as argument. This is perfectly
fine from
> > > usability
> > > > > >>>>> perspective, most tools work this way (i.e.
throw error when
> > > > started
> > > > > >>>>> without arguments).
> > > > > >>>>>
> > > > > >>>>> Also IMO "ignitedb" is misleading name. Users
would like
> think
> > > that
> > > > > it
> > > > > >>>>> is a
> > > > > >>>>> kind of script to start database, rather than
to connect to
> it.
> > > We
> > > > > >>>>> should
> > > > > >>>>> think on other names. E.g. "ignitesql".
> > > > > >>>>>
> > > > > >>>>> On Fri, Oct 6, 2017 at 5:23 PM, Sergey Kozlov
<
> > > > skozlov@gridgain.com <javascript:;>>
> > > > > >>>>> wrote:
> > > > > >>>>>
> > > > > >>>>>> Denis
> > > > > >>>>>>
> > > > > >>>>>> The link below has included sqlline. Please
take a look:
> > > > > >>>>>> https://ci.ignite.apache.org/viewLog.html?buildId=875441&
> > > > > >>>>>> buildTypeId=IgniteRelease_XxxFromMirrorIgniteRelease3Pre
> > > > > >>>>>> pareVote&tab=artifacts#!1rrb2,-wpvx2aopzexz
> > > > > >>>>>>
> > > > > >>>>>> On Thu, Oct 5, 2017 at 7:48 PM, Denis Magda
<
> > dmagda@apache.org <javascript:;>>
> > > > > >>>>> wrote:
> > > > > >>>>>>
> > > > > >>>>>>> Here is the original ticket [1]. Ilya,
closed the one
> created
> > > by
> > > > > >>>>> you as a
> > > > > >>>>>>> duplicate.
> > > > > >>>>>>>
> > > > > >>>>>>> In addition to the tool’s jar inclusion
in Ignite’s binary
> > > > releases
> > > > > >>>>> let’s
> > > > > >>>>>>> create a shell script to simplify the
connectivity phase:
> > > > > >>>>>>>
> > > > > >>>>>>> - name the script as ignitedb.sh for
Unix and ignitedb.bat
> > for
> > > > > >>>>>> Windows.
> > > > > >>>>>>> -
> > > > > >>>>>>> - the script uses the following connection
string by
> default:
> > > > > >>>>> .sqlline
> > > > > >>>>>>> -d org.apache.ignite.IgniteJdbcThinDriver
--color=true
> > > > > >>>>> --verbose=true
> > > > > >>>>>>> --showWarnings=true --showNestedErrs=true
-u jdbc:ignite:
> > > > > >>>>>>> thin://127.0.0.1/
> > > > > >>>>>>>
> > > > > >>>>>>>
> > > > > >>>>>>>
> > > > > >>>>>>> - make up parameters list to adjust
Ignite specific part of
> > the
> > > > > >>>>>>> connection string: Ignite IP and port,
streaming mode, etc.
> > The
> > > > > >>>>> full
> > > > > >>>>>> list
> > > > > >>>>>>> of supported parameters is here: https://apacheignite-
> > > > > >>>>>>> sql.readme.io/docs/jdbc-driver#jdbc-thin-driver
> > > > > >>>>>>>
> > > > > >>>>> <https://apacheignite-sql.readme.io/docs/jdbc-driver#
> > > > > jdbc-thin-driver
> > > > > >>>>>>>
> > > > > >>>>>>>
> > > > > >>>>>>>
> > > > > >>>>>>>
> > > > > >>>>>>> [1] https://issues.apache.org/jira/browse/IGNITE-5608
> > > > > >>>>>>>
> > > > > >>>>>>> —
> > > > > >>>>>>> Denis
> > > > > >>>>>>>
> > > > > >>>>>>> On Oct 5, 2017, at 9:02 AM, Sergey Kozlov
<
> > > skozlov@gridgain.com <javascript:;>>
> > > > > >>>>> wrote:
> > > > > >>>>>>>
> > > > > >>>>>>> Dmitriy, Denis
> > > > > >>>>>>>
> > > > > >>>>>>> We're in progress to add sqlline in
upcoming 2.3
> > > > > >>>>>>>
> > > > > >>>>>>> On Thu, Oct 5, 2017 at 5:30 PM, Dmitriy
Setrakyan
> > > > > >>>>> <dsetrakyan@apache.org <javascript:;>
> > > > > >>>>>>>> wrote:
> > > > > >>>>>>> Would be nice to get it in 2.3. This
is critical
> > functionality
> > > > for
> > > > > >>>>> our
> > > > > >>>>>>> users and 2.4 seems too far to give
anyone comfort.
> > > > > >>>>>>>
> > > > > >>>>>>> On Thu, Oct 5, 2017 at 11:33 AM, Ilya
Suntsov
> > > > > >>>>> <isuntsov@gridgain.com <javascript:;>>
> > > > > >>>>>>> wrote:
> > > > > >>>>>>>
> > > > > >>>>>>>> Guys,
> > > > > >>>>>>>>
> > > > > >>>>>>>> I've created the ticket for 2.4
release:
> > > > > >>>>>>>> https://issues.apache.org/jira/browse/IGNITE-6561
> > > > > >>>>>>>>
> > > > > >>>>>>>> 2017-08-30 22:21 GMT+03:00 Julian
Hyde <jhyde@apache.org
> > <javascript:;>>:
> > > > > >>>>>>>>
> > > > > >>>>>>>>> Denis,
> > > > > >>>>>>>>>
> > > > > >>>>>>>>> I’m glad you’re thinking
of using SQLLine. Under the BSD
> > > > > >>>>> license, you
> > > > > >>>>>>>>> don’t need my permission to
distribute, but I grant that
> > > > > >>>>> permission.
> > > > > >>>>>>>>>
> > > > > >>>>>>>>> Drill, Phoenix and Calcite already
distribute SQLLine, so
> > > > > >>>>> Ignite is
> > > > > >>>>>> in
> > > > > >>>>>>>>> good company.
> > > > > >>>>>>>>>
> > > > > >>>>>>>>> If you need extensions, please
discuss on the dev list,
> or
> > > open
> > > > > >>>>> a
> > > > > >>>>>>> GitHub
> > > > > >>>>>>>>> case or pull request. SQLLine
operates in the usual way
> > for a
> > > > > >>>>> GitHub
> > > > > >>>>>>>>> project. It’s unlikely that
you’ll need Ignite-specific
> > > > > >>>>> extensions —
> > > > > >>>>>>>>> SQLLine just exposes what comes
through the JDBC driver —
> > but
> > > > > >>>>> we can
> > > > > >>>>>>>>> discuss if the need arises.
The Hive project forked
> SQLLine
> > > > > >>>>> into its
> > > > > >>>>>>> own
> > > > > >>>>>>>>> Beeline module and I’d like
to avoid a repeat of that.
> > > > > >>>>>>>>>
> > > > > >>>>>>>>> Julian
> > > > > >>>>>>>>>
> > > > > >>>>>>>>>> On Aug 29, 2017, at 6:35
PM, Denis Magda <
> > dmagda@apache.org <javascript:;>
> > > >
> > > > > >>>>>> wrote:
> > > > > >>>>>>>>>>
> > > > > >>>>>>>>>> Igniters,
> > > > > >>>>>>>>>>
> > > > > >>>>>>>>>> Let me introduce Julian
Hyde [1], creator of SQLLine
> tool
> > > and
> > > > > >>>>> our
> > > > > >>>>>>>> Apache
> > > > > >>>>>>>>> mate,
> > > > > >>>>>>>>>>
> > > > > >>>>>>>>>> Julian,
> > > > > >>>>>>>>>>
> > > > > >>>>>>>>>> Please grant that Apache
Ignite community a permission
> to
> > > > > >>>>> include
> > > > > >>>>>>>>> SQLLine [2] it in every Ignite
deliverable (source,
> > binary).
> > > > > >>>>> It’s
> > > > > >>>>>>> planned
> > > > > >>>>>>>>> to suggest the tool as a default
command line SQL utility
> > for
> > > > > >>>>> Ignite
> > > > > >>>>>>>>> clusters. SQLLite and Ignite
usage will also be
> documented
> > on
> > > > > >>>>>> Ignite’s
> > > > > >>>>>>>>> technical documentation.
> > > > > >>>>>>>>>>
> > > > > >>>>>>>>>> [1] https://people.apache.org/~jhyde/
<
> > > > > >>>>>> https://people.apache.org/~jh
> > > > > >>>>>>>> yde/
> > > > > >>>>>>>>>>
> > > > > >>>>>>>>>> [2] https://github.com/julianhyde/sqlline
> > > > > >>>>> <https://github.com/
> > > > > >>>>>>>>> julianhyde/sqlline>
> > > > > >>>>>>>>>>
> > > > > >>>>>>>>>> —
> > > > > >>>>>>>>>> Denis
> > > > > >>>>>>>>>>
> > > > > >>>>>>>>>>> On Aug 25, 2017, at
9:17 AM, Denis Magda <
> > > dmagda@apache.org <javascript:;>
> > > > > >>>>>>> <mailto:
> > > > > >>>>>>>>> dmagda@apache.org <javascript:;>>>
wrote:
> > > > > >>>>>>>>>>>
> > > > > >>>>>>>>>>> Hi Ilya,
> > > > > >>>>>>>>>>>
> > > > > >>>>>>>>>>> Thanks for the clarification!
Referring to the page
> > shared
> > > > > >>>>> by you
> > > > > >>>>>>> [1]
> > > > > >>>>>>>>> if we need to get author’s
consent in a written form:
> > > > > >>>>>>>>>>>
> > > > > >>>>>>>>>>> A permissive license
similar to the BSD 2-Clause
> License,
> > > > > >>>>> but
> > > > > >>>>>> with a
> > > > > >>>>>>>>> 3rd clause that prohibits others
from using the name of
> the
> > > > > >>>>> project
> > > > > >>>>>> or
> > > > > >>>>>>>> its
> > > > > >>>>>>>>> contributors to promote derived
products without written
> > > > > >>>>> consent.
> > > > > >>>>>>>>>>>
> > > > > >>>>>>>>>>> [1]
> > > > > >>>>> https://github.com/julianhyde/sqlline/blob/master/LICENSE
<
> > > > > >>>>>>>>> https://github.com/julianhyde/
> sqlline/blob/master/LICENSE>
> > <
> > > > > >>>>>>>>> https://github.com/julianhyde/
> sqlline/blob/master/LICENSE
> > <
> > > > > >>>>>>>>> https://github.com/julianhyde/
> sqlline/blob/master/LICENSE
> > >>
> > > > > >>>>>>>>>>>
> > > > > >>>>>>>>>>> I’ll reach out the
author requesting the permit.
> > > > > >>>>>>>>>>>
> > > > > >>>>>>>>>>> —
> > > > > >>>>>>>>>>> Denis
> > > > > >>>>>>>>>>>
> > > > > >>>>>>>>>>>> On Aug 25, 2017,
at 9:12 AM, Ilya Kasnacheev <
> > > > > >>>>>>>>> ilya.kasnacheev@gmail.com <javascript:;>
<mailto:
> > ilya.kasnacheev@gmail.com <javascript:;>
> > > >>
> > > > > >>>>> wrote:
> > > > > >>>>>>>>>>>>
> > > > > >>>>>>>>>>>> Hi Denis,
> > > > > >>>>>>>>>>>>
> > > > > >>>>>>>>>>>> There are two kinds
of BSD license, 3-clause and
> > 4-clause.
> > > > > >>>>> The
> > > > > >>>>>>>>> difference
> > > > > >>>>>>>>>>>> between them is
advertising clause:
> > > > > >>>>>>>>>>>>
> > > > > >>>>>>>>>>>> "3. All advertising
materials mentioning features or
> use
> > > of
> > > > > >>>>> this
> > > > > >>>>>>>>> software
> > > > > >>>>>>>>>>>> must display the
following acknowledgement: This
> product
> > > > > >>>>> includes
> > > > > >>>>>>>>> software
> > > > > >>>>>>>>>>>> developed by the
University of California, Berkeley
> and
> > > its
> > > > > >>>>>>>>> contributors."
> > > > > >>>>>>>>>>>>
> > > > > >>>>>>>>>>>> which is causing
problems with other licenses and
> which
> > > > > >>>>> sqlline's
> > > > > >>>>>>>>> license
> > > > > >>>>>>>>>>>> doesn't contain:
> > > > > >>>>>>>>>>>> https://github.com/julianhyde/
> > sqlline/blob/master/LICENSE
> > > <
> > > > > >>>>>>>>> https://github.com/julianhyde/
> sqlline/blob/master/LICENSE>
> > > > > >>>>>>>>>>>> So it should be
all good for inclusion.
> > > > > >>>>>>>>>>>>
> > > > > >>>>>>>>>>>> --
> > > > > >>>>>>>>>>>> Ilya Kasnacheev.
> > > > > >>>>>>>>>>>>
> > > > > >>>>>>>>>>>> 2017-08-25 18:48
GMT+03:00 Denis Magda <
> > dmagda@apache.org <javascript:;>
> > > >:
> > > > > >>>>>>>>>>>>
> > > > > >>>>>>>>>>>>> Hi Ilya,
> > > > > >>>>>>>>>>>>>
> > > > > >>>>>>>>>>>>> It will be a
useful addition to Ignite. I would
> include
> > > > > >>>>> the tool
> > > > > >>>>>>> in
> > > > > >>>>>>>>> one of
> > > > > >>>>>>>>>>>>> the nearest
releases. It’s license is BSD-3 which is
> > > > > >>>>> compatible
> > > > > >>>>>>> with
> > > > > >>>>>>>>> ours.
> > > > > >>>>>>>>>>>>> However, there
is a note on ASF side saying that BSD
> > > > > >>>>> licenses
> > > > > >>>>>> can
> > > > > >>>>>>> be
> > > > > >>>>>>>>>>>>> included without
advertising clause [1]. What does it
> > > mean
> > > > > >>>>> for
> > > > > >>>>>> us?
> > > > > >>>>>>>>> Can we
> > > > > >>>>>>>>>>>>> document the
tool and mention on our site?
> > > > > >>>>>>>>>>>>>
> > > > > >>>>>>>>>>>>> [1] https://www.apache.org/legal/
> > > resolved.html#category-a
> > > > > >>>>> <
> > > > > >>>>>>>>>>>>> https://www.apache.org/legal/
> resolved.html#category-a>
> > > > > >>>>>>>>>>>>>
> > > > > >>>>>>>>>>>>> —
> > > > > >>>>>>>>>>>>> Denis
> > > > > >>>>>>>>>>>>>
> > > > > >>>>>>>>>>>>>> On Aug 25,
2017, at 8:32 AM, Ilya Suntsov <
> > > > > >>>>>> isuntsov@gridgain.com <javascript:;>
> > > > > >>>>>>>>
> > > > > >>>>>>>>> wrote:
> > > > > >>>>>>>>>>>>>>
> > > > > >>>>>>>>>>>>>> Hi Igniters,
> > > > > >>>>>>>>>>>>>>
> > > > > >>>>>>>>>>>>>> I've found
one command line tool that can be used
> for
> > > > > >>>>> execute
> > > > > >>>>>>>> queries
> > > > > >>>>>>>>>>>>>> (DDL/DML)
with data from Apache Ignite grid via
> > > > > >>>>>>>>>>>>>> *org.apache.ignite.IgniteJdbcThinDriver*.
> > > > > >>>>>>>>>>>>>>
> > > > > >>>>>>>>>>>>>> Here you
can find overview of internal commands of
> > this
> > > > > >>>>> tool:
> > > > > >>>>>>>>>>>>>> https://cwiki.apache.org/confluence/display/IGNITE/
> > > > > >>>>>>>>> Overview+sqlline+tool
> > > > > >>>>>>>>>>>>>>
> > > > > >>>>>>>>>>>>>> The most
problems with sqlline relate with some
> issues
> > > > > >>>>> from our
> > > > > >>>>>>>> side
> > > > > >>>>>>>>> or
> > > > > >>>>>>>>>>>>>> some unsupported
features.
> > > > > >>>>>>>>>>>>>>
> > > > > >>>>>>>>>>>>>> Would be
nice to add tool like this (sqlline or
> > > something
> > > > > >>>>> else)
> > > > > >>>>>>> in
> > > > > >>>>>>>>> our
> > > > > >>>>>>>>>>>>>> project.
> > > > > >>>>>>>>>>>>>>
> > > > > >>>>>>>>>>>>>> Have you
any objections or other thoughts?
> > > > > >>>>>>>>>>>>>>
> > > > > >>>>>>>>>>>>>>
> > > > > >>>>>>>>>>>>>> --
> > > > > >>>>>>>>>>>>>> Ilya Suntsov
> > > > > >>>>>>>>>>>>>
> > > > > >>>>>>>>>>>>>
> > > > > >>>>>>>>>>>
> > > > > >>>>>>>>>>
> > > > > >>>>>>>>>
> > > > > >>>>>>>>>
> > > > > >>>>>>>>
> > > > > >>>>>>>>
> > > > > >>>>>>>> --
> > > > > >>>>>>>> Ilya Suntsov
> > > > > >>>>>>>>
> > > > > >>>>>>>
> > > > > >>>>>>>
> > > > > >>>>>>>
> > > > > >>>>>>> --
> > > > > >>>>>>> Sergey Kozlov
> > > > > >>>>>>> GridGain Systems
> > > > > >>>>>>> www.gridgain.com
> > > > > >>>>>>>
> > > > > >>>>>>>
> > > > > >>>>>>>
> > > > > >>>>>>
> > > > > >>>>>>
> > > > > >>>>>> --
> > > > > >>>>>> Sergey Kozlov
> > > > > >>>>>> GridGain Systems
> > > > > >>>>>> www.gridgain.com
> > > > > >>>>>>
> > > > > >>>>
> > > > > >>
> > > > > >
> > > > >
> > > > >
> > > >
> > >
> >
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message