QSoC proposal: date_trunc supporting intervals

Поиск
Список
Период
Сортировка
От Alexandr
Тема QSoC proposal: date_trunc supporting intervals
Дата
Msg-id 532B1DAA.6060605@gmail.com
обсуждение исходный текст
Список pgsql-hackers
Hello!<br /> Here is the text of my proposal which I've applied to GSoC.<br /> (and link <a
class="moz-txt-link-freetext"
href="https://docs.google.com/document/d/1vBjQzhFT_fgoIkoEP5TVeyFA6ggsYlLq76tghGVUD6A/edit?usp=sharing">https://docs.google.com/document/d/1vBjQzhFT_fgoIkoEP5TVeyFA6ggsYlLq76tghGVUD6A/edit?usp=sharing</a>)<br
/>Any suggestions and comments are welcome.<br /> Because I don't know the code of PostgreSQL well I decide not to
participateis QSoC with previous proposal (rewrite pg_dump and pg_restore as libraries). But I'm very interested to
participatein QSoC 2014 as a part of PostgreSQL. So It's my new proposal.<br /><br /><b
id="docs-internal-guid-0cf99db7-e067-6766-231f-f53c0f998634"style="font-weight:normal;"><p dir="ltr"
style="line-height:1.15;margin-top:0pt;margin-bottom:0pt;text-align:      center;"><span
style="font-size:16px;font-family:'TimesNew
 

Roman';color:#000000;background-color:transparent;font-weight:bold;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;">PostgreSQL
GSoC2014 proposal</span><p dir="ltr" style="line-height:1.15;margin-top:0pt;margin-bottom:0pt;text-align:
justify;"><spanstyle="font-size:16px;font-family:'Times New
 

Roman';color:#000000;background-color:transparent;font-weight:bold;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;">Project
name</span><pdir="ltr" style="line-height:1.15;margin-top:3pt;margin-bottom:1pt;text-align:       justify;"><span
style="font-size:16px;font-family:'TimesNew
 

Roman';color:#000000;background-color:#ffffff;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;">date_trunc()
supportingintervals</span><p dir="ltr" style="line-height:1.15;margin-top:0pt;margin-bottom:0pt;text-align:
justify;"><spanstyle="font-size:16px;font-family:'Times New
 

Roman';color:#000000;background-color:#ffffff;font-weight:bold;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;">Short
description</span><pdir="ltr" style="line-height:1.15;margin-top:0pt;margin-bottom:0pt;text-align:
justify;"><spanstyle="font-size:16px;font-family:'Times New
 

Roman';color:#000000;background-color:#ffffff;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;">The
functiondate_trunc () is conceptually similar to the trunc function for numbers. But now it doesn’t have full
functionalitybecause intervals are not supporting intervals in date_trunc ().</span><p dir="ltr"
style="line-height:1.15;margin-top:0pt;margin-bottom:0pt;text-align:      justify;"><span
style="font-size:16px;font-family:'TimesNew
 

Roman';color:#000000;background-color:#ffffff;font-weight:bold;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;">Name</span><span
style="font-size:16px;font-family:'TimesNew
 

Roman';color:#000000;background-color:#ffffff;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;">:
AlexanderShvidchenko</span><p dir="ltr" style="line-height:1.15;margin-top:0pt;margin-bottom:0pt;text-align:
justify;"><spanstyle="font-size:16px;font-family:'Times New
 

Roman';color:#000000;background-color:#ffffff;font-weight:bold;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;">E-mail</span><span
style="font-size:16px;font-family:'TimesNew
 

Roman';color:#000000;background-color:#ffffff;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;">:
</span><ahref="mailto:askellio@gmail.com" style="text-decoration:none;"><span style="font-size:16px;font-family:'Times
New

Roman';color:#000000;background-color:#ffffff;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:underline;vertical-align:baseline;white-space:pre-wrap;">askellio@gmail.com</span></a><span
style="font-size:16px;font-family:'TimesNew
 

Roman';color:#000000;background-color:#ffffff;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;"></span><p
dir="ltr"style="line-height:1.15;margin-top:0pt;margin-bottom:0pt;text-align:       justify;"><span
style="font-size:16px;font-family:'TimesNew
 

Roman';color:#000000;background-color:#ffffff;font-weight:bold;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;">Location</span><span
style="font-size:16px;font-family:'TimesNew
 

Roman';color:#000000;background-color:#ffffff;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;">:
Rostov-on-Don,Russia (UTC +04.00)</span><p dir="ltr"
style="line-height:1.15;margin-top:0pt;margin-bottom:0pt;text-align:      justify;"><span
style="font-size:16px;font-family:'TimesNew
 

Roman';color:#000000;background-color:#ffffff;font-weight:bold;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;">Benefits
tothe PostgreSQL Community</span><p dir="ltr" style="line-height:1.15;margin-top:0pt;margin-bottom:0pt;text-align:
justify;"><span style="font-size:16px;font-family:'Times New
 

Roman';color:#000000;background-color:#ffffff;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;">This
featurewill expand opportunities to work with time in databases. It will do the job with time more flexible and
easier.</span><pdir="ltr" style="line-height:1.15;margin-top:0pt;margin-bottom:0pt;text-align:       justify;"><span
style="font-size:16px;font-family:'TimesNew
 

Roman';color:#000000;background-color:#ffffff;font-weight:bold;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;">Quantifiable
results</span><pdir="ltr" style="line-height:1.15;margin-top:0pt;margin-bottom:0pt;text-align:       justify;"><span
style="font-size:16px;font-family:'TimesNew
 

Roman';color:#000000;background-color:#ffffff;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;">Supporting
andcorrect working with intervals by date_trunc ()</span><p dir="ltr"
style="line-height:1.15;margin-top:0pt;margin-bottom:0pt;text-align:      justify;"><span
style="font-size:16px;font-family:'TimesNew
 

Roman';color:#000000;background-color:#ffffff;font-weight:bold;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;">Project
Schedule</span><p dir="ltr" style="line-height:1.15;margin-top:0pt;margin-bottom:0pt;text-align:       justify;"><span
style="font-size:16px;font-family:'TimesNew
 

Roman';color:#000000;background-color:#ffffff;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;">until
May31 </span><p dir="ltr" style="line-height:1.15;margin-top:0pt;margin-bottom:0pt;text-align:       justify;"><span
style="font-size:16px;font-family:'TimesNew
 

Roman';color:#000000;background-color:#ffffff;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;">Make
codereview and solve architecture questions with help of community</span><p dir="ltr"
style="line-height:1.15;margin-top:0pt;margin-bottom:0pt;text-align:      justify;"><span
style="font-size:16px;font-family:'TimesNew
 

Roman';color:#000000;background-color:#ffffff;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;">1
June– 30 June</span><p dir="ltr" style="line-height:1.15;margin-top:0pt;margin-bottom:0pt;text-align:
justify;"><spanstyle="font-size:16px;font-family:'Times New
 

Roman';color:#000000;background-color:#ffffff;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;">Detailed
implementationof libraries.</span><p dir="ltr" style="line-height:1.15;margin-top:0pt;margin-bottom:0pt;text-align:
 justify;"><span style="font-size:16px;font-family:'Times New
 

Roman';color:#000000;background-color:#ffffff;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;">1
July– 31 July</span><p dir="ltr" style="line-height:1.15;margin-top:0pt;margin-bottom:0pt;text-align:
justify;"><spanstyle="font-size:16px;font-family:'Times New
 

Roman';color:#000000;background-color:#ffffff;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;">Finish
Implementationof libraires and begin testing. </span><p dir="ltr"
style="line-height:1.15;margin-top:0pt;margin-bottom:0pt;text-align:      justify;"><span
style="font-size:16px;font-family:'TimesNew
 

Roman';color:#000000;background-color:#ffffff;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;">1
August-15 August</span><p dir="ltr" style="line-height:1.15;margin-top:0pt;margin-bottom:0pt;text-align:
justify;"><spanstyle="font-size:16px;font-family:'Times New
 

Roman';color:#000000;background-color:#ffffff;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;">Final
refactoring,testing and commit.</span><p dir="ltr" style="line-height:1.15;margin-top:0pt;margin-bottom:0pt;text-align:
     justify;"><span style="font-size:16px;font-family:'Times New
 

Roman';color:#000000;background-color:#ffffff;font-weight:bold;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;">Some
details</span><pdir="ltr" style="line-height:1.15;margin-top:0pt;margin-bottom:0pt;text-align:       justify;"><span
style="font-size:16px;font-family:'TimesNew
 

Roman';color:#000000;background-color:#ffffff;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;">In
theperiod until May 31 I need to discover what types of intervals are able to be sent. Also I need to set the stamp of
theresult.</span><p dir="ltr" style="line-height:1.15;margin-top:0pt;margin-bottom:0pt;text-align:
justify;"><spanstyle="font-size:16px;font-family:'Times New
 

Roman';color:#000000;background-color:#ffffff;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;">For
example:</span><pdir="ltr" style="line-height:1.15;margin-top:0pt;margin-bottom:0pt;text-indent:       36pt;text-align:
justify;"><spanstyle="font-size:16px;font-family:'Times New
 

Roman';color:#000000;background-color:#ffffff;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;">date_trunc
(‘week’,‘1 month 15 day’:interval)</span><p dir="ltr"
style="line-height:1.15;margin-top:0pt;margin-bottom:0pt;text-align:      justify;"><span
style="font-size:16px;font-family:'TimesNew
 

Roman';color:#000000;background-color:#ffffff;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;">result</span><p
dir="ltr"style="line-height:1.15;margin-top:0pt;margin-bottom:0pt;text-indent:       36pt;text-align: justify;"><span
style="font-size:16px;font-family:'TimesNew
 

Roman';color:#000000;background-color:#ffffff;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;">‘1
month14 day’</span><p dir="ltr" style="line-height:1.15;margin-top:0pt;margin-bottom:0pt;text-align:
justify;"><spanstyle="font-size:16px;font-family:'Times New
 

Roman';color:#000000;background-color:#ffffff;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;">or</span><p
dir="ltr"style="line-height:1.15;margin-top:0pt;margin-bottom:0pt;text-align:       justify;"><span
style="font-size:16px;font-family:'TimesNew
 

Roman';color:#000000;background-color:#ffffff;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;"><span
class="Apple-tab-span"style="white-space:pre;"> </span>‘1 month 2 week’</span><p dir="ltr"
style="line-height:1.15;margin-top:0pt;margin-bottom:0pt;text-align:      justify;"><span
style="font-size:16px;font-family:'TimesNew
 

Roman';color:#000000;background-color:#ffffff;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;">It
seemslike this project idea isn’t very difficult and large. So if I have time after finishing this job I’ll be able to
workmore: close some bugs or realize some more features that will be usefull for the community.</span><p dir="ltr"
style="line-height:1.15;margin-top:0pt;margin-bottom:0pt;text-align:      justify;"><span
style="font-size:16px;font-family:'TimesNew
 

Roman';color:#000000;background-color:#ffffff;font-weight:bold;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;">
Academicexperience</span><p dir="ltr" style="line-height:1.15;margin-top:0pt;margin-bottom:0pt;text-align:
justify;"><spanstyle="font-size:16px;font-family:'Times New
 

Roman';color:#000000;background-color:#ffffff;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;">I
enteredthe university in 2013. Before entering the university I finished the college in 2012. My graduate work in the
collegewas the client-server application. It was a realization of XMPP. The client was realized in Qt. The client
workedwith SQLite database and the server worked with MySQL database.</span><p dir="ltr"
style="line-height:1.15;margin-top:0pt;margin-bottom:0pt;text-align:      justify;"><span
style="font-size:16px;font-family:'TimesNew
 

Roman';color:#000000;background-color:#ffffff;font-weight:bold;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;">Why
isPostgreSQL?</span><p dir="ltr" style="line-height:1.15;margin-top:0pt;margin-bottom:0pt;text-align:
justify;"><spanstyle="font-size:16px;font-family:'Times New
 

Roman';color:#000000;background-color:#ffffff;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;">-
I’mintereted in this idea and believe this project would be useful for the community;</span><p dir="ltr"
style="line-height:1.15;margin-top:0pt;margin-bottom:0pt;text-align:      justify;"><span
style="font-size:16px;font-family:'TimesNew
 

Roman';color:#000000;background-color:#ffffff;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;">-
PostgreSQLis a very respected community. I would be proud to be a part of it;</span><p dir="ltr"
style="line-height:1.15;margin-top:0pt;margin-bottom:0pt;text-align:      justify;"><span
style="font-size:16px;font-family:'TimesNew
 

Roman';color:#000000;background-color:#ffffff;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;">-
PostgreSQLis one of the best DBMS and I would like to make it better.</span><p dir="ltr"
style="line-height:1.15;margin-top:0pt;margin-bottom:0pt;text-align:      justify;"><span
style="font-size:16px;font-family:'TimesNew
 

Roman';color:#000000;background-color:#ffffff;font-weight:bold;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;">Links</span><p
dir="ltr"style="line-height:1.15;margin-top:0pt;margin-bottom:0pt;text-align:       justify;"><span
style="font-size:16px;font-family:'TimesNew
 

Roman';color:#000000;background-color:#ffffff;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;">1)
PostgreSQL9.3.3 Documentation, date_trunc</span><p dir="ltr"
style="line-height:1.15;margin-top:0pt;margin-bottom:0pt;text-align:      justify;"><a
href="http://www.postgresql.org/docs/9.3/static/functions-datetime.html#FUNCTIONS-DATETIME-TRUNC"
style="text-decoration:none;"><spanstyle="font-size:16px;font-family:'Times New
 

Roman';color:#1155cc;background-color:#ffffff;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:underline;vertical-align:baseline;white-space:pre-wrap;">http://www.postgresql.org/docs/9.3/static/functions-datetime.html#FUNCTIONS-DATETIME-TRUNC</span></a><span
style="font-size:16px;font-family:'TimesNew
 

Roman';color:#000000;background-color:#ffffff;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;"></span></b><br
class="Apple-interchange-newline"/> With best wishes,<br /> Alexander S.<br /> 

В списке pgsql-hackers по дате отправления:

Предыдущее
От: Robert Haas
Дата:
Сообщение: Re: Risk Estimation WAS: Planner hints in Postgresql
Следующее
От: Rajashree Mandaogane
Дата:
Сообщение: