So it is day two of looking at aliases and SQL and as part of this I had some time last night to have a peek about the SQL standard. So far I am doing things correctly, for table and field. Though in my first incarnation of table alias I used the 'AS' keyword in there, if you look at some of the check-in history you will see it. This 'AS' will work in a few SQL engines but not all so I was correct in dropping it out.
From my tests of
yesterday’s
post and last night's reading I got thinking again on the promise that Database::Accessor is making to a DAD;
'Whatever is passed into a DAD will be as valid as possible'.
What I have to look at now is one of the system rules that I want to enforce;
Only 'elements' that match the name or alias of the current 'view' are passed into the DAD
At the last two Perl QA Hackathons, I worked on porting PAUSE on Plack, to drop old mod_perl and Apache dependencies and make it easier to set up PAUSE on your local environment. It was successful, but more could be done to fix various (visual/security/usability) issues on PAUSE UI. So, at the rebranded Perl Toolchain Summit of this year, I went a step (or a few steps) further and started to port PAUSE on Mojolicious, hoping to separate views from controllers and make it clearer for us which code belongs to which feature(s) and how.
The Perl Conference, 2017 will be held this year in Washington DC, at the US Patent and Trademark Office, from June 18 through June 23rd.
This is the conference that many of us have affectionately known as YAPC::NA::17.
If you haven't registered yet, please do so as soon as possible.
We want to make sure we're providing the best possible experience for our participants, and to that end, accurate registration counts are helpful, plus there is still time to get the early-bird rate.
The conference website is: [http://www.perlconference.us/tpc-2017-dc/](http://www.perlconference.us/tpc-2017-dc/)
We have talks scheduled from many of the best speakers known to the Perl community;
Damian Conway, Sawyer X, Randal Schwartz, Mark Jason Dominus, Ricardo Signes, and so many other strong speakers that I feel silly having mentioned the few that I did.
For those seeking additional enlightenment there are tutorials and master classes offered (by additional registration) on topics such as:
Today I was working on new test, '
15_alias.t
' which I will use to test the various alias attributes found on 'tables' and 'fields' in SQL queries. To start I just have the very simple has with the 'update_requires_condition' and 'delete_requires_condition' flags set to 0 so I can work without a 'where/conditions' clause.
This is a short announcement about the availability of amusewiki version 2.022. Since the previous announcement on blogs.perl.org, amusewiki has seen a bunch of bug fixes and improvements, both in the backend and in the UI.
Notably, the fetching of remote git archives has been made asynchronous, so it will not block other jobs when fetching large amounts of updates.
Now it's possible to define custom formats for PDF and EPUB.
As always, unofficial debian packages are available at the same time a new release is rolled out and it's still the preferred and recommended way to install amusewiki. See http://packages.amusewiki.org/
If you want to try out amusewiki without installing anything, you're welcome to try out the sandbox at http://sandbox.amusewiki.org
Well just another post-ette day here in the Moose-pen
Just another quick post-ette today as I want to quickly add in a feature to the results class that will help end uses with de-bugging.
Presently the results class look like thin when it is dumped
$VAR1 = bless( {
'is_error' => 0,
'DAD' => 'Database::Accessor::Driver::DBI',
'query' => 'UPDATE people SET people.first_name = ?, people.last_name = ? WHERE ( people.first_name = ? AND people.last_name = ? )',
'operation' => 'UPDATE'
}, 'Database::Accessor::Result' );
useful info but it would also be nice to see what params are being used and if they are in the correct order; So a quick attribute add into the Database::Accessor::Result class;
As I mentioned in my previous post, I'll be giving a free public lecture this week in Olso. It will be my "400 Years of Perl 6" talk, and will be held at Kulturhuset, Youngs gate 6, Oslo at 6pm on Wednesday 24 May.
For the second year, I have had the great privilege of attending the Perl Toolchain Summit (PTS, formerly called the QA Hackathon QAH).
This year it was held in Lyon, France, and three cheers for the organizers; it was an amazing event!
Last year I unexpectedly became involved in the Meta::CPAN project, even to the point of hosting the first (annual?) Meta::Hack a few months ago.
This year, I continued to work with them, however, the need was greater in the CPAN Testers realm and so there I went.
Perl Toolchain Summit Lyon, France, May 11-14 2017
This year I was invited to the Perl Toolchain
Summit in Lyon, formerly known as the Perl
QA Hackathon. I had organized this event two years ago in Berlin.
Having been "only" an organizer before, this time I could actually code. It was
a pleasure to work with over 35
people doing a lot of
work for the Perl 5 and 6
infrastructure and related topics.
One of them was Ingy döt Net, who I enjoy working with on
Perl and other Open Source projects regularly remotely. Since we both love the
commandline, I could learn a lot from Ingy over the last two years.
Well test expand posette day here in the Moose-pen.
Not that have the first test in 20_where_basic.t working I figured I might as well expand on that tests and ensure the other SQL clauses are coming out in the format I like. So I added the following in;
I've just returned from a 2 week (and 2 Summit!) trip to Europe, specifically
Berlin and Lyon. A couple months ago I was invited to attend the Perl
Toolchain Summit
2017
in Lyon. Whenever I go to the EU I like to drop by Berlin to visit some
friends.
One of my friends is Tina Müller, who works
with me throughout the year on various open source things. We met 2 years ago
at the Perl toolchain event in Berlin, that Tina helped organize. For the past
4 moths we've been concentrating on all of YAML as a lanuguage.
A multi-language YAML Editor for
seeing how a given YAML text works in several language implementations at
once
The YAML Testing Matrix website for seeing how all
the YAMLs work at a glance
I decided that we should have the first ever YAML
Summit in Berlin along with
our fabulous collaborator (and NimYAML
author) from Stuttgart, Felix Krause.
This was my 5th year of being invited to participate in the Perl Tool Chain Summit (formerly Perl QA Hackathon). It was a real pleasure to be invited to a rebranded version of the same helpful event.
For the second year in a row, MetaCPAN was well represented at the event. This is important because it really does allow us to get much more work done. Getting everyone in the same room allows us to make decisions quickly and often deploy new ideas on the same day they've been discussed. Just like last year, we got a lot accomplished this year. I'm only going to touch on the work which I was directly involved with.
I had the honour of being invited to the Perl Toolchain Summit 2017, held in Lyon. It was amazing to meet so many of my Perl heroes, and to work with them on Perl toolchain code for a concentrated few days.
The atmosphere, food, and company were all superb, and the opportunity to brainstorm, collaborate, and agree on things to work on in the future unmissable.
Yesterday I had quite the success in taking a little more of the logic out of the DAD side side of things now the DAD writes not longer have to check to see if a predicate in a condition or filter has miss-matched parentheses or is missing at least the the default 'and' condition.
Before I move on I want to squish this little warning
Use of uninitialized value in join or string at...
which is really just sloppy programming on my part as this
This year I had one goal for CPAN Testers: Replace the current Metabase API with a new API that did not write to Amazon SimpleDB. The current high-availability database that raw incoming test reports are written is Amazon SimpleDB behind an API called Metabase. Metabase is a highly-flexible data storage API designed to work with massive, unstructured data sets and still allow for sane organization and storage of data. Unfortunately, Amazon SimpleDB is as it says on the tin: Simple. Worse, it's expensive: Like most Amazon services, it charges for usage, so there's a huge incentive for CPAN Testers to use it as little as possible (which made some of the code quite obtuse).
This was the second year I got invited to Perl Toolchain Summit 2017 (PTS) - I think I got even more done than last year.
Having so many people all working on similar projects really does lead to an exponential amount of productivity, both across projects and between Perl 5 and Perl 6.
I could write essays on what I was involved in, but a brief summary:
Thursday
Launched new design for perl.org (babs did all the work)
Discussed and setup env for grep.metacpan.org with toddr and atoomic
Got Pete to start updating metacpan's vm
Helped Haarg test and deploy a shim so `cpanminus` clients now use the v1 metacpan api (even though they hit the old v0 API), done using Fastly user agent detection and a new site just for this back compat that haarg has written.
it will be useful to have a possibility in module-starter to generate a GitHub-aware filebase, including meta info pointing at your GH repo, and .travis.yml and .gitignore and MANIFEST.SKIP
a workable "modern" type system looks achievable with Moo, Type::Tiny, Function::Parameters, and Return::Type. It would probably be useful to enhance module-starter with boilerplate for these too.
Pegex looks promising as a means of lexing and parsing GraphQL. If this is successful enough, it may even be possible to use the grammar beyond Perl, in line with Ingy's "Acmeist" philosophy.
Tests will just be straightforward Test::More for the present time. A future possibility also advancing the above would be to use TestML for tests.
For the GraphQL internal type system, it may or may not be possible to use Type::Tiny for that too!