Re: Imperative Query Languages

From: John Turner <fenwayriffs(at)gmail(dot)com>
To: Jason Dusek <jason(dot)dusek(at)gmail(dot)com>
Cc: "pgsql-general(at)postgresql(dot)org" <pgsql-general(at)postgresql(dot)org>
Subject: Re: Imperative Query Languages
Date: 2017-07-05 05:40:46
Message-ID: CAMAP1Q=UYOMoixnBv8Qh9HefB29Pqjx4cTa7EBZjUjR7DC0i9A@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

(copying the list)

On Wed, Jul 5, 2017 at 12:22 AM, Jason Dusek <jason(dot)dusek(at)gmail(dot)com> wrote:

> Are there any “semi-imperative” query languages that have been tried in
> the past?
>
not particularly relevant to the Unix or Windows worlds, but on OpenVMS
there's Datatrieve:
https://en.wikipedia.org/wiki/DATATRIEVE

-John

On Wed, Jul 5, 2017 at 12:22 AM, Jason Dusek <jason(dot)dusek(at)gmail(dot)com> wrote:

> Hi All,
>
> This more of a general interest than specifically Postgres question. Are
> there any “semi-imperative” query languages that have been tried in the
> past? I’m imagining a language where something like this:
>
> for employee in employees:
> for department in department:
> if employee.department == department.department and
> department.name == "infosec":
> yield employee.employee, employee.name, employee.location, employee.favorite_drink
>
> would be planned and executed like this:
>
> SELECT employee.employee, employee.name, employee.location, employee.favorite_drink
> FROM employee JOIN department USING (department)
> WHERE department.name == "infosec"
>
> The only language I can think of that is vaguely like this is Fortress, in
> that it attempts to emulate pseudocode and Fortran very closely while being
> fundamentally a dataflow language.
>
> Kind Regards,
>
> Jason
> ​
>

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Tom Lane 2017-07-05 06:01:40 Re: Imperative Query Languages
Previous Message Mayank Agrawal 2017-07-05 05:23:39 (Might be a bug) locale issue while upgrading data directory from PostgreSQL 8.4 to 9.5