[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: How users start programming in Emacs Lisp...
From: |
Jean Louis |
Subject: |
Re: How users start programming in Emacs Lisp... |
Date: |
Mon, 31 May 2021 01:27:26 +0300 |
User-agent: |
Mutt/2.0.7+183 (3d24855) (2021-05-28) |
* Emanuel Berg via Users list for the GNU Emacs text editor
<help-gnu-emacs@gnu.org> [2021-05-30 22:31]:
> What is this SQL thing I keep hear about BTW, you send it to/from
> Emacs and get the data neatly or what does it do and what databases
> do you use it with?
I am sure you know it. SQL https://en.wikipedia.org/wiki/SQL
> You keep track of all the weaponry you have at home? :)
>
> Well, actually, if I had enough I would now that I say it.
> Bad example.
>
> Is relational algebra the base for SQL?
You have got it right.
Relational algebra - Wikipedia
https://en.wikipedia.org/wiki/Relational_algebra
Though I know nothing about it... but I should.
SQL database spare programming time and effort.
Compared to Org, the file `org-agenda.el' is full of features and
handles all kinds of things. It is however slow and has several keys
that handle its incapacities, such as sticky views or stuck
projects. And it distorts the users' view of what agenda really is, as
it is not just "agenda", rather a menu of search functions, for
example it encompasses the function `org-search-view'. The function
`org-agenda' should be renamed to something else, as the true agenda
is just the `org-agenda-list', but users will not be warned.
With the SQL, as when objects are in the database, the 415 kilobytes
org-agenda.el or at least we can say several kilobytes of spaghetti
Emacs Lisp code is replaced with the SQL query and report function:
(defun hyperscope-hyperdocuments-agenda ()
(interactive)
(rcd-speak "Hyperscope agenda")
(let ((sql "SELECT DISTINCT timestamps_hlinks, timestamptypes_name,
to_char(timestamps_timestamp::date, 'Day'),
timestamps_timestamp::date,
hyobjects_name, actionstatuses_name
FROM hyobjects, timestamps, timestamptypes, actionstatuses
WHERE hyobjects_id = timestamps_hlinks
AND timestamptypes_id = timestamps_timestamptypes
AND timestamptypes_inagenda IS TRUE
AND actionstatuses_id = hyobjects_actionstatuses
AND actionstatuses_actionstatustypes != 3
ORDER BY timestamps_timestamp DESC")
(highlights (append '("ACTION") (hyperscope-timestamp-list t))))
(rcd-db-sql-report "Hyperscope Agenda" sql [("ID" 5 t) ("Type" 10 t) ("Day"
9 t) ("Timestamp" 10 t) ("Hyperdocument" 55) ("Action" 10 t)] "hyobjects"
'("Timestamp" . t) 'hyperscope-hyperdocuments-agenda highlights)))
Comparison
==========
Try reading function `org-agenda' and `org-agenda-list' and compare
to the SQL above.
--
Jean
Take action in Free Software Foundation campaigns:
https://www.fsf.org/campaigns
Sign an open letter in support of Richard M. Stallman
https://stallmansupport.org/
- Re: Fortran Topics (outline-minor-mode, require, fixed format), (continued)
- Re: Fortran Topics (outline-minor-mode, require, fixed format), Jean Louis, 2021/05/29
- Fortran Topics (outline-minor-mode, require, fixed format), Christopher Dimech, 2021/05/29
- How users start programming in Emacs Lisp..., Jean Louis, 2021/05/29
- Re: How users start programming in Emacs Lisp..., Emanuel Berg, 2021/05/29
- How users start programming in Emacs Lisp..., Christopher Dimech, 2021/05/29
- Re: How users start programming in Emacs Lisp..., Eduardo Ochs, 2021/05/30
- Re: How users start programming in Emacs Lisp..., Jean Louis, 2021/05/30
- Re: How users start programming in Emacs Lisp..., Eduardo Ochs, 2021/05/30
- Re: How users start programming in Emacs Lisp..., Jean Louis, 2021/05/30
- Re: How users start programming in Emacs Lisp..., Emanuel Berg, 2021/05/30
- Re: How users start programming in Emacs Lisp...,
Jean Louis <=
- Re: How users start programming in Emacs Lisp..., Emanuel Berg, 2021/05/30
- Re: How users start programming in Emacs Lisp..., Jean Louis, 2021/05/30
- Re: How users start programming in Emacs Lisp..., Arthur Miller, 2021/05/30
- How users start programming in Emacs Lisp..., Christopher Dimech, 2021/05/30
- Re: How users start programming in Emacs Lisp..., Emanuel Berg, 2021/05/30
- Re: How users start programming in Emacs Lisp..., Jean Louis, 2021/05/30
- Re: How users start programming in Emacs Lisp..., Emanuel Berg, 2021/05/30
- Re: How users start programming in Emacs Lisp..., Jean Louis, 2021/05/30
- Re: How users start programming in Emacs Lisp..., Emanuel Berg, 2021/05/30
- Re: How users start programming in Emacs Lisp..., Jean Louis, 2021/05/30