---
title: Frequently asked questions
permalink: about/faq/
layout: about
main-heading: Why Australia needs Flux
tag-section: about flux
tag-topic: answers
menu-order: 4.0
redirects:
- "/faq"
- "/faqs"
- "/about/faqs"
faqs:
- question: What does the Flux party stand for?
answer: |
Flux is a political movement promoting a new system of democracy called
‘Issue Based Direct Democracy’ (IBDD) which enables voters to influence how an
elected Flux representative will vote on legislation in Parliament.
- question: What is Issue-Based Direct Democracy?
answer: |
It’s an upgrade to democracy and is grounded in the principle that the
voting public, given time, can do better than elected officials at creating good policy.
IBDD has three main aspects:
- Voters get to have a say on any issues they want to, but can abstain from voting if they don’t want to;
- Instead of voting directly, voters can choose to delegate their vote to someone else - like a specialist, politician or just a trusted friend; and
- Voters can assign priority to the issues most important to them.
- question: How will Flux & IBDD improve politics?
answer: |
By incentivising two core behaviours from parties & voters:
- Sourcing & promoting good legislation to bring before Parliament: and
- Removing bad legislation as efficiently as possible.
If we setup our political system to incentive these behaviours, ahead of just getting
parties re-elected, we will very likely improve the majority of outcomes in Parliament.
- question: >
What is your "party line"?
answer: >
Our party line is: eschew the party line.
- question: Okay, sure, but what's your platform? What do you stand for?
answer: |
Our purpose, and entire platform, is incrementally implementing a new system of Democracy.
The vision is to help the best policy be written.
We will involve the entirity of each electorate we represent. On special occaions, and provided
our electors are okay with each occasion, we might open issues up to more voters.
Our platform is parliamentary reform, and we deliberately
do not have any other platforms. If we did, they would *get in the way*, and fixing parliament is
more important than any other single issue. We only seek to change the way decisions are
made, not to actually make the decisions ourselves. The vision of Flux is not
to be a new government, or the authoritative source of new policy. If we did that, it would be making the
same mistakes as our predecessors.
As a diverse society, problems are going to be best solved by the people affected.
We want to empower them, and we want to empower you. That is our platform, and that is our purpose.
- question: Why do I need Flux; I already have a representative?
answer: 'While some representatives are good, none are good enough to represent
everyone in their electorate. Too often people''s concerns are ignored because
their representative has different views to them. Flux believes nobody should
be cut off from democracy just because they disagree with their representative.'
- question: How will it be implemented in a practical way?
answer: 'Flux will use a smartphone app to allow all registered voters to participate on the legislation before Parliament.
When a bill comes before parliament, the bill also gets uploaded to the flux app. Any time before the vote in parliament,
you can decide how you want to vote on that issue using the app.
When the time comes:
If you have voted one way or the other, your vote gets allocated as you voted
If you didn’t vote, but you have selected a delegate in the Flux app, and they voted on the issue, your vote gets added to theirs
If you didn’t vote, and you don’t have a delegate (or you do, but they didn’t vote) you are rewarded with Flux points (also referred to as Liquidity Tokens in our white paper). You can use these points to add to your votes in future issues.'
- question: What are Liquidity Tokens? Flux points?
answer:
We don’t want everyone to vote on every issue - we want people to vote on the issues they
know about and care about. So if you choose to abstain, you are rewarded with Flux points, which
give you more “oomph” on a future vote. If you preserve your voting energy (tokens/points), your
vote can carry more weight in the issues you really care about!
Don’t try and save too much though - Flux points lose their value over time. We want you to only
vote on the issues that matter to you - but you do have to vote (or delegate) at some point!
- question: How do you prevent vote trading from being manipulated or corrupted?
answer: |
Don’t think of it as trading in the conventional sense - no money is exchanged in this process.
It’s just a mechanism to allow people to identify and prioritise the issues which matter to them.
If everyone has to vote on every issue, it introduces the risk that people will not take the issues seriously.
But by allowing people to “save” & “trade” their votes, issues get voted on by those who are affected the most.
This allows voters to focus their attention on the topics most important to them. We also hope this will
increase participation in and discussion of politics in our society, since a voter will want to know about
the decisions before voting, so they don’t risk wasting their vote on something not important to them.
- question: Where do you provide attribution for creative common licensed works?
answer: |
Here: voteflux.org/attribution
- question: Is your voting system the same as direct democracy?
answer: |
No. Although there are similarities, they are philosophically very different.
The main practical differences are:
- Swapping votes is allowed
- Saving 'political capital' over time is allowed
- Some similarities are: conservation of votes and distributing uniformly over the population. 'Conservation of votes' is said in the same way we'd talk about 'conservation of energy' => they cannot be created or destroyed, so the number of votes before trading is always equal to the number of votes after trading, regardless of what went on in the middle.
- question: How are candidates selected?
answer: 'Please see: https://github.com/voteflux/voteflux.github.io/blob/master/posts/candidate-selection.md
'
- question: Where is the Flux constitution?
answer: 'Here: https://github.com/voteflux/flux/blob/master/CONSTITUTION.md
'
- question: When was party registration finalized?
answer: March 29th 2016; an extremely quick application time of 2 months and 2 days.
- question: Is membership free?
answer: |
Yes. Membership is free forever. We don't believe charging a membership
fee is necessary, and are working on other methods of funding to ensure we can
provide open access to democracy to as many people as possible.
# keep this in sync with the same msg in the signup app (form-container.js)
- question: Can I still sign up if I'm a member of another political party?
answer: |
Yes! There's no law preventing you from being a member of multiple parties. Federally, the AEC is specific in their membership eligibility criterion for non-parliamentary parties: "at least 500 members who are on the Commonwealth electoral roll and who are not also relied upon by another party for registration purposes." Some other states have stricter criteria (such as Victoria) which prevent us using anyone who is a member of another party as a supporting member for our registration.
That said, we do ask you let us know if you're a member of another party so you we can exclude you from certain registration proceedures or membership audits.
- question: Are membership details confidential?
answer: 'Yes. Membership details will be exclusively used for party business, and
never sold or willfully disclosed. Access to relevant private details of members is granted to the
respective registered officers of the Federal and state branches for the purposes of registration
only. Access to contact details, first names, suburbs, and postcodes is granted to
members of Steering Committees responsible for communication with members. Addtionally
Max has access to the full membership database as he administers it. Registered officers
can be found on the respective party lists maintained by all electoral commissions.
'
- question: How can I revoke my membership?
answer: 'You can revoke your membership in the members app (link at the top right of the page). To do this, navigate to Menu > Your Profile > Revoke your Membership
or click this direct link. If you need to log in, you can do so
here.
As per the constitution, you cannot revoke your membership via email.
'
- question: Where is my member details page?
answer: 'Your member details link is sent to you when you first sign up. If you
need it to be sent again, you can do so here.
'
- question: How do I become a volunteer?
answer: 'Please either tick the box on your member details page, or put your email
in to this
page, you''ll then be sent further instructions :). Most of the volunteer
coordination happens via our chat forum (discord).
'
- question: How do you prevent people voting more than once on the Flux app?
answer: |
We validate every participant against the electoral role before we start
giving them votes. Additionally, all votes are public so if someone were to try
and vote twice it would be immediately obvious and can just be ignored by auditors.
Since auditing software will be publicly available, anyone can audit and verify
the result of any issue that goes through the Flux system.
- question: When can I download the app?
answer: |
The main app is still being developed. The core function is complete, with multiple
stress tests demonstrating that the blockchain can handle votes far larger than Flux will
ever realistically have to handle.
The user interface and in-app security measures are still being implemented. The app development
is (and will be) a long term project. Our code is hosted on Github (Flux & Secure Vote) and is open for
review, comment and contributions.
In the event of a candidate being elected, a simple version of the app will be expedited and released
prior to voting on the first bill of the new parliament.
- question: Why is it called Flux?
answer: |
Flux means ‘a state of constant change’. Instead of locking in your policies and preferences
once every three to four years, Flux lets you decide and re-decide on the fly.
Also, we think it’s short, catchy and pretty cool!
- question: Why do you believe “Politics is Broken”?
answer: |
We believe politicians get into politics because they want to do good, and make society a better place.
However, no matter how good a politician’s intentions and ethics, they can’t make any changes if they don’t
get elected. This means that the primary goal for a politician - no matter what side of the left/right divide -
is always to get elected, and then re-elected. As a result, we see promises that can’t be kept, donations
from businesses and lobby groups, and scoring political points getting in the way of passing good laws.
We believe democracy can be better.
---
Contents
{% for faq in page.faqs %}
{{faq.question}}
{{faq.answer}}
{% endfor %}
{% include components/hr-muted.html %}
For emails and other responses to various concerns see our:
Responses to common concernscall_made
{% include components/hr-muted.html %}


Hi, all! I thought I'd share my first experience of smoking Wild Dagga.
The package arrived in the mail this morning, and though I was exhausted from having worked the night before, the sound of the postman knocking at the door woke me, and I was unable to get back to sleep. 'Ok, let's see what this stuff is all about...'
I'd read the reports on this substance on this site, and was sufficiently curiosified (wow, new word) into ordering it online. As I measured out 1 gram of the very fluffy mixture (-shredded leaf and flower material; Looks like something you might find in a pillow), I noted the rather icky, weedy smell, and wondered if it really might be as disgusting a smoke as others on here had said it was...
I stuffed the puffy stuff into my little, grey marble pipe, shoved it in tight, and lit it, inhaling a rather tentative first hit...
To quote a previous poster: 'BLARGGH!'. This plant is, indeed, quite gross. I did begin to notice some mild effects, however, as I struggled through the 1st bowl, and after downing a couple of glasses of wine (to distract from the taste), I packed and smoked a second bowl with the remaining 1/2 gram.
Allow me to clarify: I am definitely not a 'psychonaut'; My experiences have been limited to the rare joint of grass and the odd bit of hash (Ahhhhh!) in my teens. I never wanted to risk acid or anything else, due to a lifelong tendency towards anxiety, which, even on hash, sometimes resulted in hallucinations. I could just imagine what heavier drugs would do to me..!
It is only in recent months that I've felt like gettng high once again. Enter 'psychotropic herbs', which I discovered when I actually read a 'junk' email message (which I normally never do). I then waded through tons of reports on Erowid's excellent site, discovered an online supplier, bought a pipe and scale, and some Wild Dagga (and Salvia for a different kind of trip), and voila: All set for an experience.
Too bad I didn't have one.
Menthol cigarettes came in handy for this forray; The minty smoke helped soothe the burning-throat sensation I'd quickly acquired. After the 2nd bowl of Dagga, I'd had enough, and was pretty nauseated at the idea of smoking any more of it then...
While the stuff does have a smell/taste that is a bit reminiscent of grass, it's effects are much, MUCH less potent, if you're hoping to compare the two at all. However, I'm going to continue experimenting with it, since I still want to get high, and prefer to do it without risking charges... ;p
I've heard I might be able to make a hash oil out of it - Definitely an idea; Anything that might taste and work better that this did!
Experience Reports are the writings and opinions of the individual authors who submit them.
Some of the activities described are dangerous and/or illegal and none are recommended by Erowid.


Cities across the United States are instituting energy benchmarking initiatives to understand how much energy their commercial buildings are using. By targeting the highest energy users with strategies to improve energy efficiency, they can progress towards their emissions reduction goals and reduce costs for building owners.
There are already over 20 cities, 20 districts, and 200 corporations managing benchmarking initiatives and the list is growing each month. In fact, every city in the State of California is required to begin benchmarking commercial buildings in 2018 and over 7,000 cities around the world are adopting similar commitments through the Global Covenant of Mayors.
US Cities with Benchmarking Initiatives:
In order to effectively develop energy efficiency strategies, cities begin by collecting data for all buildings of interest. The most common approach for managing the process of data collection is with the publically available EPA Portfolio Manager. Building owners create an account on EPA Portfolio Manager and populate the data fields required to comply with the city benchmarking program. Once building owners finish gathering the data, they share it with the city, which exports the data using a Portfolio Manager Report Template for analysis.
Since the first public benchmarking program in 2009, cities have established effective guidelines for standardizing the process of data collection using EPA Portfolio Manager. However, after collecting the data, each city has a different way of analyzing it for setting effective energy efficiency strategies.
Through our engagement with several cities (Chicago, DC, Tacoma, Eugene, Providence, and more…), Maalka has discovered a common need for ensuring benchmarking program data is accurate, complete, and interoperable. To address this need, we developed the Data Quality Tool to allow municipalities to easily and cost effectively:
The Maalka Data Quality Tool provides an essential free service for cities to assess the quality and completeness of their data before conducting significant analysis on possibly erroneous data. Cities can simply upload a standard EPA Portfolio Manager template and automatically observe which buildings may have bad data. The template provided in the link is based on the one used by the City of Chicago to manage data for over 3,000 commercial buildings in its energy benchmarking initiative.
The Data Quality tool analyzes data that is contained in Energy Star Portfolio Manager Custom XLS Report. For the purpose of demonstration, you can download a sample report with data errors that will be analyzed by the tool here. When you create your own Portfolio Manager Report Template you can use the sample file as a reference for choosing the fields to export.
Source: DataTrends: Energy Use in Office Buildings
The Data Quality Tool automatically identifies all the buildings in the uploaded Portfolio Manager template and assesses values for associated building and energy-use characteristics. For example, an office building will have data validation for fields related to:
Values for each building are compared against ranges that span the 5th and 95th percentiles of each parameter’s distribution for similar building types in the CBECS dataset, as observed in the above table above for office buildings. Buildings with data that falls outside of these ranges will be automatically flagged so that cities can review the data to ensure that it is accurate. This process prevents data entry errors and faulty information from being included in data analysis so cities can be confident in their energy efficiency improvement strategies.
After uploading the Portfolio Manager report to the Maalka Data Quality Tool, you will be presented with the data quality results for each building in your portfolio. A sample output is observed below.
With this output, users can see an overall review of the quality and completeness of data for all buildings contained in the EPA Portfolio Manager report, as well as which buildings have data that falls outside the normal range for similar buildings in the United States. Data that pass validation is marked with a . Data that is incomplete or falls out of the range of acceptable values is market with an X. From the output table above, we can see the status of data across all of the buildings simultaneously. By hovering over each X, we can find see why a data field fails validation.
For instance, the image below shows a user hovering over the X for Office 1 - which failed validation. The mouse overlay suggests that one of the reasons that Office 1 failed was because the value for "Office - Weekly Operating Hours", which is 205, falls outside the normal range of 40-105 hours for most office buildings in the United States.
Validation for each field is thus automated and presented to a user in this intuitive manner, so that users can instantly assess data quality and completeness for large portfolios of buildings. It is important to note, however, that the Maalka Data Quality Tool should be used as part of a broader process around data validation. A few important considerations for users:
Maalka Tip: Keep a note next to your workspace of any buildings that have special facilities so as you work through the validation process you can identify them quickly and move on.
Yes! In order to process the results of the Maalka Data Quality Tool independently, users can download an EXCEL compatible CSV file by clicking the button.
The Data Quality Tool CSV export serves two main purposes:
The public Data Quality Tool is fully open-source and can be downloaded here. With additional technical knowledge, users can extend the data validators and field types to better fit their program requirements.
The tool also sits within the Maalka platform as part of an integrated workflow that allows cities to customize validation fields and parameters through a user-friendly interface and to visualize trends of data validation across building portfolios of any size. Maalka also allows users to leverage CRM capabilities to manage email campaigns that enable program managers to contact building owners to confirm and update data fields when they do not pass validation. This provides cities with a way to continuously manage compliance across benchmarking programs.
To learn more about how Maalka enables your city to manage compliance and data validation as part of broader program management and reporting campaigns,please inquire here


| 060:009 Khan | : |
It is only as regards those who fought against you on account of religion, and have driven you out of your homes, and helped to drive you out, that Allah forbids you to befriend them. And whosoever will befriend them, then such are the Zalimun (wrong-doers those who disobey Allah). |
| 060:009 Maulana | : |
Allah forbids you only respecting those who fight you for religion, and drive you forth from your homes and help (others) in your expulsion, that you make friends of them; and whoever makes friends of them, these are the wrongdoers. |
| 060:009 Pickthal | : |
Allah forbiddeth you only those who warred against you on account of religion and have driven you out from your homes and helped to drive you out, that ye make friends of them. Whosoever maketh friends of them - (All) such are wrong-doers. |
| 060:009 Rashad | : |
GOD enjoins you only from befriending those who fight you because of religion, evict you from your homes, and band together with others to banish you. You shall not befriend them.   It is such as turn to them (in these circumstances), that do wrong. |
Concepts/Themes Covered: أركان الإسلام > التوحيد > الكافرون > النهي عن موالاة الكفار Pillars of Islam> Islamic> The Disbelievers> The Prohibition to Follow the Atheists الإنسان والعلاقات الأخلاقية > الأخلاق الحميدة > المودة Man and The Moral Relations> Good Morals>Intimacy الإنسان والعلاقات الاجتماعية > المجتمع > المودة Man and The Social Relations>The Society>Intimacy العلاقات القضائية > أحكام قانونية > النفي Judicial Relationships>Legal Rules>Negation
This tool uses eight English parallel translations for the Holy Quran imported from Mr. Clay Smith. You can also visit Qurany Concepts for browsing the Quran themes or topics. If you want to search the Holy Quran for keywords, please visit Qurany Keywords.


CS140 Midterm Exam -- October 5, 2004
The Exam
Grade Histograms
(This is a Tukey Plot, which has lines to the max and min, yellow box denoting
the 1st and 3rd quartiles, hash marks at the median, and dot at the mean).
Comments
I designed this to be an easy exam. Here is my breakdown of how I expected
points to go on each question:
- Question 1: B: 6 points. A: 6 Points.
- Question 2: B: 3 points. A: 5 Points.
- Question 3: B: 5 points. A: 6 Points.
- Question 4: B: 5 points. A: 6 Points.
- Question 5: B: 3 points. A: 4.5 Points.
- Question 6: B: 3 points. A: 4.5 Points.
That makes 25 for a B, 32 for an A. Here is the breakdown of assigning
letters to grades:
- A+: 34 and above
- A+: 32 to 34
- B: 25 to 32
- C: 19 to 25
- D: 17 to 19
- F: Below 17


Added a few more comments to the results part of the async example [b5361e087db3]
- sample/async_api.rb
-
Adding an asynchronous API example [cf4c3a05a380]
- ext/pg.c
-
Fixed a typo in PGconn#error_message's documentation [34fc8e167542]
2011-05-13¶ ↑
2011-05-13 rafal<EMAIL_ADDRESS>↑
- ext/pg.c
-
Memory leak fixed: Closing opened WSA event. [2bc78e46c1b6]
2011-05-04¶ ↑
2011-05-04 rafal<EMAIL_ADDRESS>↑
- ext/pg.c
-
Fixes for #66 Win32 asynchronous queries hang on connection error. Using Winsock events and rb_w32_wait_events() on WIN32 and Ruby 1.9 instead of rb_thread_select(). [fc4109b2ddba]
2011-05-04 Michael Granger<EMAIL_ADDRESS>↑
- ext/extconf.rb
-
Quote the path to pg_config, since now we're using backticks instead of pipe+exec. Closes #65. [3ec32bb496b9]
2011-04-22¶ ↑
2011-04-22 Aaron Patterson<EMAIL_ADDRESS>↑
- lib/pg.rb
-
fixing unused variable warnings for ruby 1.9.3 [37d40754ae58]
2011-04-18¶ ↑
2011-04-18 Michael Granger<EMAIL_ADDRESS>↑
- .hgtags
-
Added tag v0.11.0 for changeset 3cb8e57c6c80 [9e8896275efa]
- .hgsigs
-
Added signature for changeset 24aa7899c696 [3cb8e57c6c80] [v0.11.0]
- ext/pg.c, lib/pg.rb, spec/pgconn_spec.rb
-
Move connection-parameter parsing into Ruby, and make option- handling more flexible. No longer segfaults on no-option, <7-option array, and other combinations of arguments to ::connect and ::connect_start. Fixes #67. [24aa7899c696]
2011-04-14¶ ↑
2011-04-14 rafal<EMAIL_ADDRESS>↑
- ext/pg.c
-
Fixes #66 Win32 asynchronous queries hang on connection error [17a6a01c1725]
2011-03-30¶ ↑
2011-03-30 Michael Granger<EMAIL_ADDRESS>↑
- Automated merge with ssh
-
//bitbucket.org/larskanis/ruby-pg [b477174160c8]
2011-03-30 Michael Granger<EMAIL_ADDRESS>↑
- ext/pg.c
-
Comment the WIN32 console FD stuff so I remember what it does. [56098b479a23]
2011-03-15¶ ↑
2011-03-15 Lars Kanis<EMAIL_ADDRESS>↑
- README.windows, Rakefile.local
-
Update cross compilation tasks to use Ruby 1.8.7 instead of 1.8.6, since pg.gem requires at least 1.8.7 to get installed [cc3a7476465c]
2011-03-12¶ ↑
2011-03-12 Lars Kanis<EMAIL_ADDRESS>↑
- README.windows
-
Update readme for cross compile [b90f74cb11a5]
- Rakefile.local
-
Use RUBY_CC_VERSION from command line, if set [780650f201e3]
2011-03-11¶ ↑
2011-03-11 Lars Kanis<EMAIL_ADDRESS>↑
- Rakefile.local
-
update PG and OpenSSL version for cross compile [31089d6c9dde]
- Rakefile.local
-
always run “make libpq.a” for cross compilation [dfe3e7c1ea27]
- Rakefile.local, ext/extconf.rb
-
re-add required libs for cross compilation add ws2_32.dll because libpq of PostgreSQL 9.0 makes use of it to determine host IP addresses [06e17573b133]
2011-02-23¶ ↑
2011-02-23 Michael Granger<EMAIL_ADDRESS>↑
- ext/pg.c
-
Whitespace/line-ending fixes [1baa7a8e673e]
- ext/pg.c
-
Merged with 1c3a1ca9f0cd [fb7d22101adf]
2011-02-10¶ ↑
2011-02-10 Michael Granger<EMAIL_ADDRESS>↑
- ext/pg.c
-
Bump minor version. [18f413081e0c]
2011-01-31¶ ↑
2011-01-31 Michael Granger<EMAIL_ADDRESS>↑
- Contributors, ext/pg.c, spec/pgresult_spec.rb
-
Reformatting fixes for PGresult#[] and PGresult#values [739692aa8dd1]
2011-01-31 Jason Yanowitz<EMAIL_ADDRESS>↑
- ext/pg.c, spec/pgresult_spec.rb
-
added PGresult#values to get an array of arrays [59679aee98ee]
2011-01-22¶ ↑
2011-01-22 Greg Hazel<EMAIL_ADDRESS>↑
- ext/pg.c
-
for windows support, duplicate the sockets from libpq and create temporary CRT fds [1c3a1ca9f0cd]
2011-01-22 Michael Granger<EMAIL_ADDRESS>↑
2011-01-19¶ ↑
2011-01-19 Michael Granger<EMAIL_ADDRESS>↑
- .hgtags
-
Added tag v0.10.1 for changeset de10b5d8e442 [8ab3dd3c757b]
- .hgsigs
-
Added signature for changeset 230ea3e68db2 [de10b5d8e442] [v0.10.1]
- ext/pg.h
-
Add an include guard for pg.h [230ea3e68db2]
- lib/pg.rb
-
Simplify the common case require of the ext [f877d2d399cc]
- ext/compat.h
-
Include the extconf header [8e1707a90330]
2010-12-06¶ ↑
2010-12-06 Michael Granger<EMAIL_ADDRESS>↑
- ext/extconf.rb
-
Experimenting with a greatly-simplified extconf, since the complex one isn't solving any problems [89348c8bb6d1]
- ext/pg.c
-
Bumping version to 0.10.1. [aea173eec98a]
- ext/extconf.rb, ext/pg.c
-
Fixing compatibility with versions of PostgreSQL without PQgetCancel. (fixes #36) [d61e3310ea3d]
- .hgsubstate, lib/pg.rb
-
Fix require for natively-compiled extension under Windows. (fixes #55) [89979f184b22]
- ext/pg.c, spec/pgconn_spec.rb
-
Change rb_yield_splat() to rb_yield_values() for compatibility with Rubinius. (fixes #54) [9e11be78bfe4]
2010-12-01¶ ↑
2010-12-01 Michael Granger<EMAIL_ADDRESS>↑
- .hgtags
-
Removed tag 0.10.0 [eb0d4b1df418]
- .hgtags
-
Added tag v0.10.0 for changeset 1822a169c4fe [78a63dce1491]
- spec/pgconn_spec.rb
-
Fix deprecated expectation. [469211f606ea]
- .hgpatchinfo/pg90_notify_payload.dep, .hgpatchinfo/pg90_notify_payload.desc
-
Merged in Mahlon's wait_for_notify update for PostgreSQL 9's notification payload [857722663a6f]
- ext/pg.c, spec/pgconn_spec.rb
-
Finished the merge of default; fixed specs under 1.9.2. [de86dca00ad2] <pg90_notify_payload>
- .hgpatchinfo/pg90_notify_payload.dep, ext/extconf.rb, ext/pg.c, spec/lib/helpers.rb, spec/pgconn_spec.rb
-
merge of default [60664b2495cf] <pg90_notify_payload>
- .hgtags
-
Added tag 0.10.0 for changeset 1822a169c4fe [148d0cc3db4a]
- .hgsigs
-
Added signature for changeset 3993015a841e [1822a169c4fe] [v0.10.0]
- .hgignore, Rakefile.local
-
Ignore the yard cache, handle missing rake-compiler for non-compile- related tasks. [3993015a841e]
2010-11-11¶ ↑
2010-11-11 Michael Granger<EMAIL_ADDRESS>↑
- .hgsubstate, Rakefile, ext/pg.c, project.yml
-
Build/gem updates * Updated the build system with Rubygems suggestions from RubyConf 2010 * Bumped version to 0.10.0 to follow the Semantic Versioning spec
- (http
-
//semver.org/) [71786704391b]
- README, spec/pgconn_spec.rb
-
Added a spec for collapsed notifications. [899329ce1b4e]
2010-11-01¶ ↑
2010-11-01 Michael Granger<EMAIL_ADDRESS>↑
- Rakefile.local, ext/extconf.rb
-
More work trying to get the Windows-native gem to compile. No luck, but it's closer.
- Revert the 1.8 build back to 1.8.6 on the advice of Louis Lavena's blog
2010-10-31¶ ↑
2010-10-31 Michael Granger<EMAIL_ADDRESS>↑
- ext/compat.c, ext/pg.c, spec/lib/helpers.rb, spec/m17n_spec.rb, spec/pgconn_spec.rb
-
Fixed issue with PGconn#wait_for_notify that caused it to miss notifications that happened after the LISTEN but before the wait_for_notify. [3402babf2cdf]
2010-10-29¶ ↑
2010-10-29 Michael Granger<EMAIL_ADDRESS>↑
- .hgsubstate, Rakefile, project.yml, spec/m17n_spec.rb, spec/pgconn_spec.rb, spec/pgresult_spec.rb
-
Updated to RSpec 2.0 [9d8f82721f69]
2010-10-11¶ ↑
2010-10-11 Michael Granger<EMAIL_ADDRESS>↑
- Rakefile.local, ext/extconf.rb, misc/openssl-1.0.0a.mingw- nocapi.patch
-
Fixes for windows static build. * Disable capi engine in OpenSSL build until it's fixed
- (http
-
//rt.openssl.org/Ticket/Display.html?id=1747) * Rearrange some stuff in Rakefile.local to make the logic more obvious [b2df89600d95]
2010-10-08¶ ↑
2010-10-08 Michael Granger<EMAIL_ADDRESS>↑
- ext/extconf.rb, ext/pg.c, spec/lib/helpers.rb, spec/pgconn_spec.rb
-
Added support for the payload of NOTIFY events (w/Mahlon E. Smith) [193043bf2244] <pg90_notify_payload>
- .hgpatchinfo/pg90_notify_payload.dep, .hgpatchinfo/pg90_notify_payload.desc
-
start new patch on default [ce9b893ff824] <pg90_notify_payload>
- Rakefile.local, ext/extconf.rb
-
Fixes to get the static windows build to work with PostgreSQL 9.0 and OpenSSL 1.0.0a [49ff3442c2ee]
2010-09-28¶ ↑
2010-09-28 Michael Granger<EMAIL_ADDRESS>↑
- Rakefile.local
-
More work trying to get the native windows gem to compile under PostgreSQL 9.0 [1fa5cd6851e3]
- sample/copyfrom.rb
-
Adding a sample of how to use COPY FROM [c9fb855a7d50]
2010-09-24¶ ↑
2010-09-24 Michael Granger<EMAIL_ADDRESS>↑
- .hgsubstate, Rakefile, Rakefile.local, project.yml, spec/m17n_spec.rb, spec/pgconn_spec.rb, spec/pgresult_spec.rb
-
Fixes for Ruby 1.9.2. [d85ff87e5949]
- Rakefile, ext/pg.c, lib/pg.rb, spec/lib/helpers.rb, spec/pgconn_spec.rb
-
Version bump, updates for PostgreSQL 9.
2010-08-03¶ ↑
2010-08-03 Michael Granger<EMAIL_ADDRESS>↑
- .hgsubstate, Rakefile
-
Merged JRuby fix into the build system, pulled down other build- system updates. Thanks to timfel for the fix. [1f8dd92ca16c]
2010-08-03 Tim Felgentreff<EMAIL_ADDRESS>↑
- Rakefile
-
Fix to allow Rakefile to work on JRuby [4f705f605e51]
2010-08-02¶ ↑
2010-08-02 Michael Granger<EMAIL_ADDRESS>↑
- ext/pg.c, spec/m17n_spec.rb
-
Honor Ruby's default_internal encoding when connecting via the synchronous interface; fixes #33 [92cc211ef553]
- ext/extconf.rb
-
Don't treat the installed pg_config not having archflags as an error; fixes #39 [a2237e39d399]
- Rakefile.local, lib/pg.rb
-
Install extension under arch-specific directory (RPS fix) [14b882b7b88c]
2010-07-26¶ ↑
2010-07-26 Michael Granger<EMAIL_ADDRESS>↑
- .hgsub, .hgsubstate
-
Adding rake tasklibs as a sub-repo [b0a5ae858569]
2010-07-21¶ ↑
2010-07-21 Michael Granger<EMAIL_ADDRESS>↑
- spec/pgresult_spec.rb
-
Removed spec for issue #22, as the library is behaving the same as the underlying library; closes #22 [37835e3b8701]
- Merged with 168
-
dfaa59767b2e [86f238c12fa3]
- spec/pgconn_spec.rb
-
Reworded an example's description and added a specific transaction- abort spec [dfaa59767b2e]
2010-06-22¶ ↑
2010-06-22 Michael Granger<EMAIL_ADDRESS>↑
- Rakefile.local
-
Merged with 170:5418a1d86d91 [e756f8fb15d8]
- Rakefile.local, ext/pg.c, sample/test_binary_values.rb
-
Adding example of invalid binary data issue (refs #22), fixing EXT_SO path [8922f0a8ee44]
2010-06-22 Michael Granger<EMAIL_ADDRESS>↑
- Rakefile.local, ext/extconf.rb
-
Cross-compile tasks cleanup, extconf diagnostic improvement. * Cleaned up the cross-compilation task, factored stuff up into constants, used pure-ruby download, untar, etc. * Improved diagnostics of failed extconf runs (refs #32, #24) [5418a1d86d91]
- .hgignore
-
Adding some more stuff to the ignorefile [07502a793f3a]
- sample/losample.rb
-
Modified the large-object sample script to reflect the pg library's API (refs #35) [873867122e80]
2010-06-21¶ ↑
2010-06-21 Michael Granger<EMAIL_ADDRESS>↑
- .hgignore, Rakefile
-
Updating build system, adding .orig files to ignore list. [ea6eae59e917]
2010-06-14¶ ↑
2010-06-14 Michael Granger<EMAIL_ADDRESS>↑
- spec/m17n_spec.rb
-
Whitespace fix [bb8a3baad96e]
2010-05-26¶ ↑
2010-05-26 Michael Granger<EMAIL_ADDRESS>↑
- ext/extconf.rb
-
Actually, just use the cflags from pg_config, which should resolve both the -Wall and the -lsocket issue (refs #30) [45e6518b780d]
- ext/extconf.rb
-
Fixing compilation for non-GCC platforms (fixes #30) [730fb885ce08]
2010-03-16¶ ↑
2010-03-16 Michael Granger<EMAIL_ADDRESS>↑
- ext/extconf.rb
-
Fixed typo in ext/extconf.rb – thanks to Keith Cascio for spotting this. Closes #27. [a47ffe890970]
2010-02-28¶ ↑
2010-02-28 Michael Granger<EMAIL_ADDRESS>↑
- .hgtags
-
Added tag 0.9.0 for changeset da726282493c [9a296096f7e9]
- .hgsigs
-
Added signature for changeset 872063e42b12 [da726282493c] [0.9.0, v0.9.0]
2010-02-25¶ ↑
2010-02-25 Michael Granger<EMAIL_ADDRESS>↑
- spec/pgresult_spec.rb
-
Adding a spec to test bug #12 [cb92aa4b6599]
- project.yml
-
Adding rake-compiler to the dev dependencies [86026f5ecf70]
2010-02-19¶ ↑
2010-02-19 Michael Granger<EMAIL_ADDRESS>↑
- Rakefile.local, ext/extconf.rb, ext/pg.c, ext/pg.h, lib/pg.rb
-
Adding “fat gem” compatible loader, set the default RUBY_CC_VERSION. [872063e42b12]
- Rakefile, Rakefile.local
-
Updated the Rakefile so it includes itself in gems. (closes #15) Thanks to flameeyes@bitbucket for noticing this. [ab525ca90531]
2010-02-18¶ ↑
2010-02-18 Michael Granger<EMAIL_ADDRESS>↑
- ext/pg.c, spec/pgconn_spec.rb
-
Applied patch for PGconn#async_exec to make it have the same semantics as PGconn#exec (closes #19). Thanks again to Lars Kanis for the patch. [9c65eb905416]
2010-02-17¶ ↑
2010-02-17 Michael Granger<EMAIL_ADDRESS>↑
- Rakefile
-
Updated the Rakefile to always default the package version even if a version can't be read from the VERSION_FILE. [b0017ac0ecb5]
- spec/lib/helpers.rb
-
Improving spec database setup function (closes #18). Thanks to Lars Kanis for another fine patch. [c7d5458af696]
- spec/m17n_spec.rb
-
Ack! Removing typo [39b11474d035]
- spec/m17n_spec.rb
-
Adding a test to ensure the result encoding remains the same even when client_encoding in the connection changes. [9d54bbc98488]
2010-01-18¶ ↑
2010-01-18 Michael Granger<EMAIL_ADDRESS>↑
- ext/extconf.rb
-
Made the 'make_header' in the extconf more clear. [31afece7c203]
2010-01-13¶ ↑
2010-01-13 Jeff Davis<EMAIL_ADDRESS>↑
- spec/pgconn_spec.rb
-
Merged [d9c920068712]
- spec/pgconn_spec.rb
-
In rspec tests, replace the pattern: CREATE TABLE … INSERT … SELECT … with: VALUES … [294eb6d5530b]
2010-01-11¶ ↑
2010-01-11 Michael Granger<EMAIL_ADDRESS>↑
- ext/extconf.rb, ext/pg.c, spec/pgconn_spec.rb
-
A better fix for the PGconn#block weirdness on Win32 (closes #16).
2010-01-06¶ ↑
2010-01-06 Michael Granger<EMAIL_ADDRESS>↑
- README
-
Rearranged the sections of the README. [f8dfc1b6c51c]
2010-01-05¶ ↑
2010-01-05 Michael Granger<EMAIL_ADDRESS>↑
- README.OS_X
-
Updating MacOS X README. [0df792de2a19]
2010-01-04¶ ↑
2010-01-04 Michael Granger<EMAIL_ADDRESS>↑
- ext/pg.c
-
Work around broken rb_thread_select() on win32; thanks to Lars Kanis for the patch! [2894973bc63f]
- ext/pg.c, spec/pgresult_spec.rb
-
Reverted removal of PGresult::InvalidOid, fixed broken spec. [88dacdb9c97d]
- .hgignore, README, Rakefile, ext/pg.c, project.yml
-
Ignore some generated files, documentation work, removed type OID constants.
- README.windows, Rakefile.local, ext/extconf.rb
-
Applied patch for static cross-compilation of win32 gem from Lars Kanis with a few changes to support MacOS X as a host as well. Closes #13. Thanks Lars! [38a0d2a90664]
2010-01-03¶ ↑
2010-01-03 Michael Granger<EMAIL_ADDRESS>↑
- .irbrc, COPYING.txt, ChangeLog, MANIFEST, README, README.OS_X, Rakefile, Rakefile.local, ext/extconf.rb, ext/pg.h, ext_helper.rb
-
Updated build system
2010-01-02¶ ↑
2010-01-02 Michael Granger<EMAIL_ADDRESS>↑
- .hgtags
-
Added tag 0.8.0 for changeset 7fbe4187e9e5 [cc09390cb0a8]
2009-12-31¶ ↑
2009-12-31 Michael Granger<EMAIL_ADDRESS>↑
- ext/pg.c
-
Bumped version to 0.9.0 [05834d47aac3]
- ext/mkrf_config.rb
-
Merged i17n-19-patches branch [0997a0aa7624]
2009-12-28¶ ↑
2009-12-28 Michael Granger<EMAIL_ADDRESS>↑
- .hgignore, ext/pg.c, spec/pgconn_spec.rb
-
Make PGconn.connect_start use PQconnectStart instead of PQconnectdb so asynchronous connection works. Fixes #14; thanks to 'ibc' @bitbucket for submitting the test case that brought this to my attention. [f5af71167dea] <i17n-19-patches>
- ext/pg.c, spec/pgconn_spec.rb
-
Added column-selection methods to PGresult (#field_values and column_values). Closes #12. Thanks to Sugano Yoshihisa for the patch on which these methods were based. [42919e2a4ef8] <i17n-19-patches>
2009-12-23¶ ↑
2009-12-23 Michael Granger<EMAIL_ADDRESS>↑
- ext/pg.c, spec/pgconn_spec.rb
-
Fixed #11: encrypt_arguments doesn't receive password, thanks to Yuki Miyauchi for the patch. [39fdb2552163] <i17n-19-patches>
- .hgignore, ext/pg.c, spec/pgconn_spec.rb
-
Fixed infinite loop in async_exec(“COPY”), thanks to Mike Pomraning for the patch. Closes #9. [df770b6ad237] <i17n-19-patches>
2009-12-16¶ ↑
2009-12-16 Michael Granger<EMAIL_ADDRESS>↑
- .hgignore, Contributors, Rakefile, Rakefile.local, ext/extconf.rb, ext/pg.c, project.yml, spec/m17n_spec.rb, spec/pgconn_spec.rb, spec/pgresult_spec.rb
-
New build system, build with rake-compiler, added PGconn::VERSION.
- Added a PGconn
-
:VERSION constant (closes #4).
2009-12-15¶ ↑
2009-12-15 Michael Granger<EMAIL_ADDRESS>↑
- Rakefile, ext/pg.c, spec/lib/helpers.rb, spec/pgconn_spec.rb
-
Applied Rubyforge patch 26282; fixes #1. Thanks to Nikolai Lugovoi for the patch. [6ba661bbdb28] <i17n-19-patches>
2009-12-11¶ ↑
2009-12-11 Michael Granger<EMAIL_ADDRESS>↑
- Rakefile, ext/pg.c, spec/lib/helpers.rb, spec/pgconn_spec.rb
-
Notify spec fixes, cleanup, Rakefile clean task adjustments.
- .hgignore, spec/lib/helpers.rb, spec/pgconn_spec.rb
-
Simplified the spec for PGconn#notify, still segfaulting. [659d80221a45] <i17n-19-patches>
- ext/pg.c, spec/pgconn_spec.rb
-
Merged Mahlon's notify patch from default. [66234afab283] <i17n-19-patches>
2009-12-10¶ ↑
2009-12-10 Mahlon E. Smith<EMAIL_ADDRESS>↑
- sample/notify_wait.rb
-
Add a sample (usage example) for wait_for_notify(). [1e6349a799c3]
- ext/pg.c, sample/psql.rb, sample/psqlHelp.rb, spec/pgconn_spec.rb
2009-10-29¶ ↑
2009-10-29 Michael Granger<EMAIL_ADDRESS>↑
- ext/mkrf_config.rb
-
Remove old mkrf config file to avoid confusion [59549227d7c3] <i17n-19-patches>
2009-10-28¶ ↑
2009-10-28 Michael Granger<EMAIL_ADDRESS>↑
- .hgignore, ext/pg.c, spec/pgresult_spec.rb
-
Write specs for and applied patch #26283; thanks to Nikolai Lugovoi. [f30139fb0587] <i17n-19-patches>
- .hgignore, spec/data/expected_trace.out, spec/m17n_spec.rb, spec/pgconn_spec.rb
-
Fixups after conversion to Mercurial, fixing tests broken by the changes in the previous commit. * Fixed differences in expected trace output caused by every test being wrapped in a transaction. * Fixed require-order bug in two of the specs * Corrected a mis-paste in the m17n spec before:all block [a41d4291ffbb] <i17n-19-patches>
- Rakefile, spec/lib/helpers.rb, spec/m17n_spec.rb, spec/pgconn_spec.rb, spec/pgresult_spec.rb
2009-10-17¶ ↑
2009-10-17 Michael Granger<EMAIL_ADDRESS>↑
- .irbrc, Rakefile, ext/pg.c, ext/pg.h, spec/pgconn_spec.rb, spec/pgresult_spec.rb
-
Applied patch #26277; thanks to Nikolai Lugovoi. * fixed number of parameters in definition of PGresult#paramtype – expected 1 but was declared 0 * minor consistency update for range checks of column/tuple indices * PGconn#lo_read : fixed to return string with length of really read data, not provided length I also added: * Constants for paramtype Oids. * A couple of additional rake tasks * Append PQerrorMessage to some exception messages * Specs for the above patch [0b28f9bd8935] <i17n-19-patches>
2009-10-16¶ ↑
2009-10-16 Michael Granger<EMAIL_ADDRESS>↑
- Rakefile, ext/extconf.rb, ext/pg.c, ext/pg.h, spec/m17n_spec.rb, spec/pgconn_spec.rb, spec/pgresult_spec.rb
-
Build and warnings cleanup. * Added a :default task * Made spec execution quieter * Silenced warning about 'dup()' by including unistd.h if we have it. * Silenced warnings about generated exception messages by adding a format. [cb5335861c5d] <i17n-19-patches>
2009-08-28¶ ↑
2009-08-28 Michael Granger<EMAIL_ADDRESS>↑
- ext/pg.c, spec/m17n_spec.rb
-
Applied patch #26116; thanks to Nikolai Lugovoi. * apply client encoding to result of @conn.escape(string) * set ASCII_8BIT for results returned in binary format * fixed memory leak on exception in @conn.escape(string) for truncated multibyte [1d001b550715] <i17n-19-patches>
- ext/pg.c, spec/m17n_spec.rb, spec/pgconn_spec.rb, spec/pgresult_spec.rb
2009-08-25¶ ↑
2009-08-25 Michael Granger<EMAIL_ADDRESS>↑
- Rakefile, ext/pg.c, ext_helper.rb, spec/m17n_spec.rb, spec/pgconn_spec.rb, spec/pgresult_spec.rb
- Applied patch from (rubyforge
-
25931), fixes (rubyforge:22925). * Normalized indentation * Create all databases without locale to ensure consistency. * Fixed the gemspec to make copying of the .so to lib/ unnecessary. Extensions belong in ext/. [0524dd20fb0f] <i17n-19-patches>
2009-07-30¶ ↑
2009-07-30 Michael Granger<EMAIL_ADDRESS>↑
2009-03-28¶ ↑
2009-03-28 Jeff Davis<EMAIL_ADDRESS>↑
- Rakefile, spec/pgconn_spec.rb, spec/pgresult_spec.rb
-
Bump version to 0.8.0 Update tests. [7fbe4187e9e5] [0.8.0, v0.8.0]
2009-03-28 Charlie Savage<EMAIL_ADDRESS>↑
- spec/pgconn_spec.rb
-
Don't call file trace on windows. [39a19c65b0a0]
- ext/vc/pg.sln, ext/vc/pg_18/pg.vcproj, ext/vc/pg_19/pg_19.vcproj
-
Updated VC2008 project [c75883fb5979]
2009-03-28 Jeff Davis<EMAIL_ADDRESS>↑
- ext/pg.c
-
Fix socket leak when connection error occurs. Thanks to: Andrea Barisani<EMAIL_ADDRESS>Rob Holland<EMAIL_ADDRESS>[4192e6d1ccc0]
- ext/pg.c
-
PGconn#lo_close was calling lo_unlink. [03d6ef0de9ef]
- ext/pg.h
-
Change header so it builds correctly on 1.8 and 1.9. [b27b4b4a54eb]
2009-03-14¶ ↑
2009-03-14 Charlie Savage<EMAIL_ADDRESS>↑
- ext/pg.c
-
Oops - use ALLOC_N not ALLOC, fixes compile error with VC2008. [f7b97416c101]
- spec/pgconn_spec.rb
-
Ignore rdoc directory, pkg directory, nbproject directory. [c0fd7531850f]
- ext/mingw/Rakefile
-
This rakefile is just used for installing the windows gem. [c675c7534c4d]
- ext/mingw/build.rake
-
Split out building on mingw to a separate rake file. [c3329724ef5b]
- ext/vc/pg.sln, ext/vc/pg.vcproj, ext/vc/pg_18/pg.vcproj, ext/vc/pg_19/pg_19.vcproj
-
Updated VC2008 projects for Ruby 1.8 and Ruby 1.9 (1.9 not quite setup yet). [01e1dbb950c8]
- Rakefile
-
Added rdoc task so you can type rake rdoc. Makes it easier to debug rdoc documentation. [677d3eae5b16]
- spec/pgresult_spec.rb
-
Windows compatibility - use tcp/ip sockets, use full path names, read files in binary mode. [c33a73c14126]
- spec/pgconn_spec.rb
-
Ripple port change through text. Always full path to open spec file. [241d3410b875]
- spec/pgconn_spec.rb
-
First stab at getting test to work on Windows. Windows does not support unix-sockets, so have to use tcp/ip sockets. Also windows requires that command line parameters are quoted with “ and not '. [1bf29d30c16c]
- ext/pg.h
-
Export Init_pg in windows shared library. [4dae2cabb5ae]
- ext/pg.c
-
Fix up memory handling for Windows (match ALLOC with xfree). [4e9b028c55cd]
2009-03-06¶ ↑
2009-03-06 Jeff Davis<EMAIL_ADDRESS>↑
- ext/pg.c
-
1.9 compatibility fixes. [4a9ffd0aa913]
2008-12-03¶ ↑
2008-12-03 Jeff Davis<EMAIL_ADDRESS>↑
- Rakefile, ext/compat.c, ext/mingw/Rakefile, ext/mingw/build.rake, ext/mkrf_config.rb, ext/pg.c, ext/vc/pg.sln, ext/vc/pg.vcproj
-
Add better support for windows build. Big thanks to Charlie Savage. [7178d13749b7]
2008-10-14¶ ↑
2008-10-14 Jeff Davis<EMAIL_ADDRESS>↑
- ext/extconf.rb
-
Merged revisions 175 via svnmerge from<EMAIL_ADDRESS>.….… r175 | jdavis | 2008-10-13 22:25:00 -0700 (Mon, 13 Oct 2008) | 4 lines Revert r172. .….… [4c2ea65f2eb9] <stable>
- ext/extconf.rb
-
Revert r172. [3bf9ef75bae5]
2008-10-05¶ ↑
2008-10-05 Jeff Davis<EMAIL_ADDRESS>↑
- ext/extconf.rb, ext/pg.c, spec/pgconn_spec.rb
-
Merged revisions 169-173 via svnmerge from<EMAIL_ADDRESS>.….… r169 | jdavis | 2008-08-20 19:48:10 -0700 (Wed, 20 Aug 2008) | 6 lines Fixed option connection argument in the case of using 7 arguments. Thanks Erik Hollensbe (erikh) for the bug report. .….… r170 | jdavis | 2008-10-05 11:01:40 -0700 (Sun, 05 Oct 2008) | 4 lines Throw correct exception when result is NULL. .….… r171 | jdavis | 2008-10-05 11:47:01 -0700 (Sun, 05 Oct 2008) | 12 lines Fix PGconn#async_exec and PGconn#get_last_result to properly clear all results when an exception is raised. Before, the connection could be left in a state that is not ready for new commands. Also, change PGconn#get_result to not raise an exception when the result is in an error state. You can still check the result object for an error, but it's not appropriate to raise an exception, because that could prevent the caller from properly clearing all results. Thanks to Tarmo Tänav. .….… r172 | jdavis | 2008-10-05 12:04:45 -0700 (Sun, 05 Oct 2008) | 6 lines Include all libraries listed in “pg_config –libs” in the build. Thanks Hans-Thomas Mueller. .….… r173 | jdavis | 2008-10-05 12:18:58 -0700 (Sun, 05 Oct 2008) | 4 lines Update spec tests. .….… [7e7c22be0302] <stable>
- spec/pgconn_spec.rb
-
Update spec tests. [cdf306d84adf]
- ext/extconf.rb
-
Include all libraries listed in “pg_config –libs” in the build. Thanks Hans-Thomas Mueller. [0386537bd139]
- ext/pg.c
-
Fix PGconn#async_exec and PGconn#get_last_result to properly clear all results when an exception is raised. Before, the connection could be left in a state that is not ready for new commands. Also, change PGconn#get_result to not raise an exception when the result is in an error state. You can still check the result object for an error, but it's not appropriate to raise an exception, because that could prevent the caller from properly clearing all results. Thanks to Tarmo Tänav. [68473ee45e28]
- ext/pg.c
-
Throw correct exception when result is NULL. [622eec9c6b0b]
2008-08-21¶ ↑
2008-08-21 Jeff Davis<EMAIL_ADDRESS>↑
- ext/pg.c
-
Fixed option connection argument in the case of using 7 arguments. Thanks Erik Hollensbe (erikh) for the bug report. [8e8045947a9c]
2008-08-17¶ ↑
2008-08-17 Jeff Davis<EMAIL_ADDRESS>↑
- ext/pg.c
-
Merged revisions 166 via svnmerge from<EMAIL_ADDRESS>.….… r166 | jdavis | 2008-08-17 13:35:51 -0700 (Sun, 17 Aug 2008) | 4 lines Typo fix. .….… [3e9dda291ef3] <stable>
- ext/pg.c
-
Typo fix. [c5c44a6267f7]
- ext_helper.rb
-
Add ext_helper.rb [3686c9944fe1] <stable>
- Rakefile, ext/extconf.rb, ext/pg.c, pg.gemspec, spec/data/expected_trace.out, spec/data/random_binary_data, spec/pgconn_spec.rb, spec/pgresult_spec.rb
-
Merged revisions 149-160 via svnmerge from<EMAIL_ADDRESS>.….… r149 | jdavis | 2008-03-19 14:17:20 -0700 (Wed, 19 Mar 2008) | 5 lines This commmit just cleans up indenting and coding conventions. It's a big patch, but does nothing meaningful. .….… r150 | jdavis | 2008-03-19 14:19:53 -0700 (Wed, 19 Mar 2008) | 5 lines * forgot to add the expected output to the repository, so one test was failing. Corrected now. .….… r151 | jdavis | 2008-03-20 11:20:25 -0700 (Thu, 20 Mar 2008) | 12 lines * added PGconn.connect_start(…) -> PGconn * added test for PGconn.connect_start() * refactored to separate the complexity of parsing the connection arguments * Removed some superfluous code for old versions of Ruby that don't support rb_define_alloc_func(). Those versions of Ruby most likely don't work anyway, and I'm not testing them. .….… r152 | jdavis | 2008-03-20 12:16:06 -0700 (Thu, 20 Mar 2008) | 5 lines * added PGconn#cancel() -> String * added test for PGconn#cancel() .….… r153 | jdavis | 2008-04-21 10:13:39 -0700 (Mon, 21 Apr 2008) | 4 lines * added some tests for binary data .….… r154 | jdavis | 2008-04-21 10:24:05 -0700 (Mon, 21 Apr 2008) | 5 lines * applied patch from Louis Lavena to improve the build process
- (particularly for windows). .….… r155 | jdavis | 2008-04-21 10
-
41:04 -0700 (Mon, 21 Apr 2008) | 6 lines * backtracked a small piece of the patch, to catch the condition where pg_config is not in the PATH on posix platforms. .….… r156 | jdavis | 2008-07-07 23:21:07 -0700 (Mon, 07 Jul 2008) | 6 lines Fix oversight in connect arguments for options and connect_timeout when passed in a hash. (Thanks Rob Holland for the bug report). .….… r157 | jdavis | 2008-07-23 22:33:26 -0700 (Wed, 23 Jul 2008) | 10 lines Changed all temporary allocations to use ALLOC_N (heap allocation) rather than ALLOCA_N (stack allocation). In particular, this allows PGconn#escape_string to accept larger input strings without fear of exceeding the stack size. Thanks to Brett Neumeier. .….… r158 | jdavis | 2008-07-23 22:46:34 -0700 (Wed, 23 Jul 2008) | 6 lines Fixed PGconn#setnonblocking Thanks to Mohammad Ali (oldmoe) for the report. .….… r159 | jdavis | 2008-08-17 11:19:09 -0700 (Sun, 17 Aug 2008) | 4 lines Applied build patch from Brett Neumeier. Thanks! .….… r160 | jdavis | 2008-08-17 12:26:33 -0700 (Sun, 17 Aug 2008) | 7 lines Properly protect variables from garbage collection, preventing possible memory corruption. Big thanks to Peter Seebach for reporting and clearly diagnosing the problem. .….… [ed3294b76bf7] <stable>
- Initialized merge tracking via “svnmerge” with revisions “1-146” from svn+ssh
-
<EMAIL_ADDRESS>[ff6af5fc4dc3] <stable>
- Initialized merge tracking via “svnmerge” with revisions “1-146” from svn+ssh
-
<EMAIL_ADDRESS>146 at pg/trunk [1a7b63bacfee] <stable>
- ext/pg.c
-
Properly protect variables from garbage collection, preventing possible memory corruption. Big thanks to Peter Seebach for reporting and clearly diagnosing the problem. [ed8927d7f45d]
- Rakefile
-
Applied build patch from Brett Neumeier. Thanks! [c7c5d25c851c]
2008-07-24¶ ↑
2008-07-24 Jeff Davis<EMAIL_ADDRESS>↑
- ext/pg.c
-
Fixed PGconn#setnonblocking Thanks to Mohammad Ali (oldmoe) for the report. [48d2bdfcc630]
- ext/pg.c
-
Changed all temporary allocations to use ALLOC_N (heap allocation) rather than ALLOCA_N (stack allocation). In particular, this allows PGconn#escape_string to accept larger input strings without fear of exceeding the stack size. Thanks to Brett Neumeier. [b2e1bc03aca5]
2008-07-08¶ ↑
2008-07-08 Jeff Davis<EMAIL_ADDRESS>↑
- ext/pg.c
-
Fix oversight in connect arguments for options and connect_timeout when passed in a hash. (Thanks Rob Holland for the bug report). [c775c24a75f9]
2008-04-21¶ ↑
2008-04-21 Jeff Davis<EMAIL_ADDRESS>↑
- ext/extconf.rb, pg.gemspec
- Rakefile, ext/extconf.rb, ext_helper.rb, pg.gemspec
- spec/data/random_binary_data, spec/pgconn_spec.rb, spec/pgresult_spec.rb
2008-03-20¶ ↑
2008-03-20 Jeff Davis<EMAIL_ADDRESS>↑
- ext/pg.c, spec/pgconn_spec.rb
- ext/pg.c, spec/pgconn_spec.rb
2008-03-19¶ ↑
2008-03-19 Jeff Davis<EMAIL_ADDRESS>↑
- spec/data/expected_trace.out
- ext/pg.c
-
This commmit just cleans up indenting and coding conventions. It's a big patch, but does nothing meaningful. [661ed2fea9e2]
2008-03-18¶ ↑
2008-03-18 Jeff Davis<EMAIL_ADDRESS>↑
- BSD, README, ext/compat.c, ext/compat.h, ext/extconf.rb, ext/mkrf_config.rb, ext/pg.c, ext/pg.h, pg.gemspec, spec/pgconn_spec.rb, spec/pgresult_spec.rb
-
merged ruby-pg/trunk rev 123:146 with ruby-pg/branches/stable [f9cd915ea427] <stable>
2008-03-17¶ ↑
2008-03-17 Jeff Davis<EMAIL_ADDRESS>↑
- ext/mkrf_config.rb
-
re-adding mkrf_config.rb [d821d50b7d95]
- ext/mkrf_config.rb
-
temporarily removing mkrf_config.rb and will re-add it in the next revision. This is an attempt to fix what may be a repository problem. [a66f44648857]
- COPYING, README.windows, ext/extconf.rb, ext/pg.c, ext/pg.h, spec/pgconn_spec.rb, spec/pgresult_spec.rb
-
merged ruby-pg/trunk rev 123:125 with ruby-pg/branches/stable [bae01401c92b] <stable>
- ext/compat.c, ext/compat.h, ext/extconf.rb, ext/pg.c, pg.gemspec
- ext/pg.c
2008-03-12¶ ↑
2008-03-12 Jeff Davis<EMAIL_ADDRESS>↑
- spec/pgconn_spec.rb
- README
2008-03-11¶ ↑
2008-03-11 Jeff Davis<EMAIL_ADDRESS>↑
- BSD, COPYING, README, ext/pg.c
2008-03-10¶ ↑
2008-03-10 Jeff Davis<EMAIL_ADDRESS>↑
- ext/pg.c, spec/pgconn_spec.rb, spec/pgresult_spec.rb
- ext/pg.c
- ext/pg.c
- ext/pg.c
2008-03-07¶ ↑
2008-03-07 Jeff Davis<EMAIL_ADDRESS>↑
- ext/extconf.rb, ext/mkrf_config.rb
2008-02-22¶ ↑
2008-02-22 Jeff Davis<EMAIL_ADDRESS>↑
- ext/pg.c, ext/pg.h
2008-02-21¶ ↑
2008-02-21 Jeff Davis<EMAIL_ADDRESS>↑
- ext/pg.c
2008-02-19¶ ↑
2008-02-19 Jeff Davis<EMAIL_ADDRESS>↑
- ext/mkrf_config.rb
-
quick change [8a6e663a70f7]
- ext/mkrf_config.rb
-
fix escaping of paths on windows (another try) [5fc41a8f71f0]
2008-02-18¶ ↑
2008-02-18 Jeff Davis<EMAIL_ADDRESS>↑
- ext/mkrf_config.rb, ext/pg.c
2008-02-13¶ ↑
2008-02-13 Jeff Davis<EMAIL_ADDRESS>↑
- ext/mkrf_config.rb
- ext/mkrf_config.rb
-
quote include and library paths [5289d5034472]
- ext/mkrf_config.rb
2008-02-11¶ ↑
2008-02-11 Jeff Davis<EMAIL_ADDRESS>↑
- README.windows, ext/extconf.rb, ext/pg.h
- spec/pgconn_spec.rb, spec/pgresult_spec.rb
2008-02-08¶ ↑
2008-02-08 Jeff Davis<EMAIL_ADDRESS>↑
- ext/pg.c
2008-02-05¶ ↑
2008-02-05 Jeff Davis<EMAIL_ADDRESS>↑
- Rakefile, ext/compat.h, ext/pg.c, pg.gemspec, ruby-pg.gemspec, sample/losample.rb, sample/psql.rb, sample/test1.rb, sample/test2.rb, sample/test4.rb, spec/pgconn_spec.rb, spec/pgresult_spec.rb, tests/pg_spec.rb
-
merged ruby-pg/trunk rev 109:121 with ruby-pg/branches/stable [83e5013eccc8] <stable>
- ext/compat.h
-
fixed bug caused by a typo. HAVE_LOCREATE should have been HAVE_LO_CREATE [295c477ed74f]
2008-02-01¶ ↑
2008-02-01 Jeff Davis<EMAIL_ADDRESS>↑
- ext/pg.c, spec/pgresult_spec.rb
- ext/pg.c, sample/losample.rb, sample/psql.rb, sample/test1.rb, sample/test2.rb, sample/test4.rb
2008-01-31¶ ↑
2008-01-31 Jeff Davis<EMAIL_ADDRESS>↑
- ext/pg.c
- spec/pgconn_spec.rb, spec/pgresult_spec.rb, tests/pgconn_spec.rb, tests/pgresult_spec.rb
-
more test improvements [ce9c0e52eec6]
- Rakefile, tests/pg_spec.rb, tests/pgconn_spec.rb
-
renamed pg_spec to pgconn_spec [97cbdebaeb11]
- Rakefile, tests/pg_spec.rb, tests/pgresult_spec.rb
2008-01-30¶ ↑
2008-01-30 Jeff Davis<EMAIL_ADDRESS>↑
- ext/pg.c
2008-01-29¶ ↑
2008-01-29 Jeff Davis<EMAIL_ADDRESS>↑
- ext/pg.c
-
corrected the tainting of some strings returned by the database [c18f38225bc7]
- ruby-pg.gemspec
-
changed gem name from 'ruby-pg' to just 'pg' [56cd8c6ee046]
2008-01-28¶ ↑
2008-01-28 Jeff Davis<EMAIL_ADDRESS>↑
- pg.gemspec
-
made a pg.gemspec so that people can build 'pg' gem [a9097dead780]
- ext/pg.c
-
merged ruby-pg/trunk rev 104 with ruby-pg/branches/stable [abfe9a457946] <stable>
2008-01-26¶ ↑
2008-01-26 Jeff Davis<EMAIL_ADDRESS>↑
- ext/pg.c
-
changed exception type for empty data structures [cfdcfcd445ab]
2008-01-25¶ ↑
2008-01-25 Jeff Davis<EMAIL_ADDRESS>↑
- ext/pg.c
- ext/pg.c
-
added PGresult#cmdtuples as alias for PGresult#cmd_tuples This is for better compatibility with ActiveRecord. [29d775393e88]
- ext/pg.c
-
Added: * PGresult#num_tuples as alias for PGresult#ntuples * PGresult#num_fields as alias for PGresult#nfields This should result in easier compatibility with ActiveRecord [eac7df0aa291]
2008-01-24¶ ↑
2008-01-24 Jeff Davis<EMAIL_ADDRESS>↑
- README.OS_X, README.windows, ext/extconf.rb
-
moved a few minor changes over before release [c7ddb58579d3] <stable>
- README.OS_X, README.windows, ext/extconf.rb
-
Added README.windows and README.OS_X Changed special case in extconf.rb from '/ms/libpq.lib' to '/ms/libpq' [7908e778e7c3]
- ext/compat.c, ext/compat.h, ext/extconf.rb, ext/pg.c, ext/pg.h, tests/pg_spec.rb, tests/tc_postgres.rb
-
merged revision 77:HEAD of ruby-pg/trunk to ruby-pg/branches/stable [8df9da92380e] <stable>
- ext/extconf.rb
-
Another change to improve windows compatibility. Thanks to Laurent Francioli. [7cc13a1f3010]
- ext/extconf.rb
-
fixed typo [ee0577472b67]
- ext/extconf.rb
-
My previous fix for OS X compatibility didn't work well enough. The only effective solution is to generate a warning message and tell the user what to do. That's what this commit does. [eaf3b1825d56]
2008-01-23¶ ↑
2008-01-23 Jeff Davis<EMAIL_ADDRESS>↑
- ext/compat.h, ext/pg.h
- ext/pg.h
- ext/extconf.rb, ext/pg.c
2008-01-22¶ ↑
2008-01-22 Jeff Davis<EMAIL_ADDRESS>↑
- ext/pg.c
- ext/extconf.rb, ext/pg.c
2008-01-21¶ ↑
2008-01-21 Jeff Davis<EMAIL_ADDRESS>↑
- ext/pg.c
-
made conn.block cleaner and it should be more portable. [204f4b591614]
2008-01-18¶ ↑
2008-01-18 Jeff Davis<EMAIL_ADDRESS>↑
- ext/extconf.rb, ext/pg.c
-
Miscellaneous changes: * in 'pg' module, added PGconn#close as an alias for PGconn#finish, for easier compatibility with AR adapter. * removed extra CFLAGS because they were causing portability problems. [449d54289f07]
2008-01-17¶ ↑
2008-01-17 Jeff Davis<EMAIL_ADDRESS>↑
- tests/pg_spec.rb, tests/tc_postgres.rb
-
started creating a rspec test, more tests to come later [aadd4008d2e3]
- ext/pg.c
-
properly free memory in conn.get_copy_data [4f276bb9c4b1]
2008-01-15¶ ↑
2008-01-15 Jeff Davis<EMAIL_ADDRESS>↑
- ext/pg.c, ext/pg.h
-
Added conn.block( [ timeout ] ) -> Boolean [95d9ff13c269]
2008-01-14¶ ↑
2008-01-14 Jeff Davis<EMAIL_ADDRESS>↑
- ext/pg.c
-
Added conn.transaction{ |conn| … } [4cefa3b1ecbb]
- ext/compat.c, ext/compat.h, ext/extconf.rb, ext/pg.c, ext/pg.h
-
Support for PostgreSQL 7.3. [ae8c3b66c48d]
2008-01-09¶ ↑
2008-01-09 Jeff Davis<EMAIL_ADDRESS>↑
- compat-ruby-postgres/extconf.rb, compat-ruby-postgres/libpq- compat.c, compat-ruby-postgres/postgres.c, compat-ruby-postgres /type-oids.h
-
removed extra directory that was left in the merge [8eb1346cb9aa] <stable>
- README, ext/compat.c, ext/compat.h, ext/extconf.rb, ext/pg.c, ruby- pg.gemspec
-
merged ruby-pg/trunk rev 69 to ruby-pg/branches/stable [d6d19e5371d4] <stable>
2008-01-08¶ ↑
2008-01-08 Jeff Davis<EMAIL_ADDRESS>↑
- ext/pg.c
-
Added: * conn.set_client_encoding * conn.get_client_encoding get_client_encoding returns a string, and the PQclientEncoding function returns an encoding ID, which is why I didn't use the name client_encoding. That leaves room later to add a wrapper for the libpq PQclientEncoding if there is a need, without a name conflict. [1fd8b2aaac4c]
- ext/pg.c
-
Added: * conn.make_empty_pgresult(status) * conn.flush * conn.set_error_verbosity [5c0a63028583]
2008-01-07¶ ↑
2008-01-07 Jeff Davis<EMAIL_ADDRESS>↑
- ext/pg.c
-
fixed a few method defines for async query processing [40270de77f48]
- ext/pg.c
-
Change conn.exec to use PQexec if no parameters are passed, and use PQexecParams if optional parameters are passed. Change conn.send_query to use PQsendQuery if no parameters are passed, and use PQsendQueryParams if optional parameters are passed. [d05d9f2042d7]
- compat-ruby-postgres/extconf.rb, compat-ruby-postgres/libpq- compat.c, compat-ruby-postgres/postgres.c, compat-ruby-postgres /type-oids.h, ruby-pg.gemspec
-
Cleanup after the repository reorganization. [a531a7bc9241]
- COPYING, COPYING.txt, ChangeLog, Contributors, GPL, LICENSE, MANIFEST, README, README.ja, compat-ruby-postgres/extconf.rb, compat-ruby-postgres/libpq-compat.c, compat-ruby- postgres/postgres.c, compat-ruby-postgres/type-oids.h, doc/postgres.html, doc/postgres.jp.html, ext/compat.c, ext/compat.h, ext/extconf.rb, ext/pg.c, ext/pg.h, ruby-pg.gemspec, sample/losample.rb, sample/psql.rb, sample/psqlHelp.rb, sample/test1.rb, sample/test2.rb, sample/test4.rb, tests/tc_postgres.rb
-
Split 'ruby-pg' module and 'postgres' module into separate parts of the repository. They will be maintained separately, and be released as separate gems from this point forward. One reason for this change is because we need separate gems. If we distribute both modules as one gem, the documentation is not properly generated due to class name conflicts. Another reason is to reduce confusion between the two modules. Also, I don't plan on making many improvements (aside from bugfixes and portability issues) to the old 'postgres' code. I'd like to get it to a stable state, and leave it alone. Meanwhile, the 'pg' module can be developed on a faster timeline. [aafc8cf17567]
- COPYING, COPYING.txt, ChangeLog, Contributors, GPL, LICENSE, MANIFEST, README, README.ja, compat-ruby-postgres/extconf.rb, compat-ruby-postgres/libpq-compat.c, compat-ruby- postgres/postgres.c, compat-ruby-postgres/type-oids.h, doc/postgres.html, doc/postgres.jp.html, ext/compat.c, ext/compat.h, ext/extconf.rb, ext/pg.c, ext/pg.h, ruby-pg.gemspec, sample/losample.rb, sample/psql.rb, sample/psqlHelp.rb, sample/test1.rb, sample/test2.rb, sample/test4.rb, tests/tc_postgres.rb
-
Split 'ruby-pg' module and 'postgres' module into separate parts of the repository. They will be maintained separately, and be released as separate gems from this point forward. One reason for this change is because we need separate gems. If we distribute both modules as one gem, the documentation is not properly generated due to class name conflicts. Another reason is to reduce confusion between the two modules. Also, I don't plan on making many improvements (aside from bugfixes and portability issues) to the old 'postgres' code. I'd like to get it to a stable state, and leave it alone. Meanwhile, the 'pg' module can be developed on a faster timeline. [7716d24a143b] <stable>


{{#if featureId}} {{else}} {{/if}} {{#if featureId}}
Can I rely on the Web Platform features to build my app?
An overview of the device integration HTML5 APIs


Chapter 4 Datasets
Below are two public (open-access) and real datasets that we will use for the analyses. For each dataset, you will find its description, minor data wrangling (or data manipulation), and descriptive statistics in both numeric and visual formats.
4.1 Salaries Dataset
One of the datasets that we’ll use is the Salaries
dataset within the carData
package. The dataset consists of nine-month salaries collected from 397 collegiate professors in the U.S. during 2008 to 2009. In addition to salaries, the professor’s rank, sex, discipline, years since Ph.D., and years of service was also collected. Thus, there is a total of 6 variables, which are described below.
| Variable | Variable Type | Description |
|---|---|---|
| rank | Categorical | Professor’s rank of either assistant professor, associate professor, or professor |
| discipline | Categorical | Type of department the professor works in, either applied or theoretical |
| yrs.since.phd | Continuous | Number of years since the professor has obtained their PhD |
| yrs.service | Continuous | Number of years the professor has served the department and/or university |
| sex | Categorical | Professor’s sex of either male or female |
| salary | Continuous | Professor’s nine-month salary (USD) |
4.1.1 Data Wrangling
Before running these analyses within the GLM context, let’s clean up the dataset so that it’s readable for us rather than computers.
# spell out rank variables
# rename discipline variables to its meaningful name
# ensure both rank and discipline are factors
datasetSalaries <- datasetSalaries %>%
mutate(
rank = case_when(
rank == "AssocProf" ~ "Associate Professor",
rank == "AsstProf" ~ "Assistant Professor",
rank == "Prof" ~ "Professor"
),
discipline = case_when(
discipline == "A" ~ "Theoretical",
discipline == "B" ~ "Applied"
)
) %>%
mutate(
rank = as.factor(rank),
discipline = as.factor(discipline)
)
4.1.2 Descriptive Statistics
It’s also always a good idea to examine the data numerically and visually. Let’s first look at the categorical variables then the continuous variables.
<IP_ADDRESS> Categorical Variables
## Assistant Professor Associate Professor Professor
## 67 64 266
To visualize our data, we will be using the function ggplot()
. We won’t be going into detail about plotting since data visualization is out of the book’s scope. However, if interested, check out Grolemund’s and Wickham’s data visualization chapter to learn more about ggplot()
.
ggplot(data = datasetSalaries, mapping = aes(x = rank)) +
geom_bar(aes(y = stat(count) / sum(stat(count))), color = "black", fill = "#3182bd") +
theme_classic() +
labs(y = "Proportion", x = "", title = "rank")
In this dataset, there are a lot more professors than assistant and associate professors combined.
## Applied Theoretical
## 216 181
ggplot(data = datasetSalaries, mapping = aes(x = discipline)) +
geom_bar(aes(y = stat(count) / sum(stat(count))), color = "black", fill = "#3182bd") +
theme_classic() +
labs(y = "Proportion", x = "", title = "discipline")
There are slightly more professors within the applied than the theoretical discipline (i.e., 35 more).
## Female Male
## 39 358
ggplot(data = datasetSalaries, mapping = aes(x = sex)) +
geom_bar(aes(y = stat(count) / sum(stat(count))), color = "black", fill = "#3182bd") +
theme_classic() +
labs(y = "Proportion", x = "", title = "sex")
There is a little over 9x as many male professors as there are female professors.
<IP_ADDRESS> Continuous Variables
datasetSalaries %>%
select(yrs.since.phd, yrs.service, salary) %>%
describe(.) %>%
select(-n, -vars, -trimmed, -mad, -range) %>%
round(., 2)
## mean sd median min max skew kurtosis se
## yrs.since.phd 22.31 12.89 21 1 56 0.30 -0.81 0.65
## yrs.service 17.61 13.01 16 0 60 0.65 -0.34 0.65
## salary 113706.46 30289.04<PHONE_NUMBER>0 231545 0.71 0.18 1520.16
ggplot(datasetSalaries, mapping = aes(yrs.since.phd)) +
geom_vline(
xintercept = describe(datasetSalaries)["yrs.since.phd", "mean"],
alpha = .5,
linetype = "dashed"
) +
geom_dotplot(binwidth = 1, fill = "#3182bd") +
geom_text(aes(
x = describe(datasetSalaries)["yrs.since.phd", "mean"],
label = paste("M =", round(describe(datasetSalaries)["yrs.since.phd", "mean"], 2)),
y = -.05
), angle = 0) +
theme_classic() +
scale_y_continuous(NULL, breaks = NULL) +
labs(x = "", y = "Frequency", title = "Years since PhD")
On average, professors have had their Ph.D. for about 22 years.
ggplot(data = datasetSalaries, mapping = aes(yrs.service)) +
geom_vline(
xintercept = describe(datasetSalaries)["yrs.service", "mean"],
alpha = .5,
linetype = "dashed"
) +
geom_dotplot(binwidth = 1, fill = "#3182bd") +
geom_text(aes(
x = describe(datasetSalaries)["yrs.service", "mean"],
label = paste("M =", round(describe(datasetSalaries)["yrs.service", "mean"], 2)),
y = -.05
), angle = 0) +
theme_classic() +
scale_y_continuous(NULL, breaks = NULL) +
labs(x = "", y = "Frequency", title = "Years of service")
On average, professors have provided a service to either the department or university for about 17 years and 7 months.
ggplot(data = datasetSalaries, mapping = aes(x = salary)) +
geom_vline(
xintercept = describe(datasetSalaries)["salary", "mean"],
alpha = .5,
linetype = "dashed"
) +
geom_dotplot(binwidth = 3000, fill = "#3182bd") +
geom_text(aes(
x = describe(datasetSalaries)["salary", "mean"],
label = paste("M =", scales::dollar(round(describe(datasetSalaries)["salary", "mean"], 2))),
y = -.05
), angle = 0) +
theme_classic() +
scale_y_continuous(NULL, breaks = NULL) +
scale_x_continuous(labels = scales::dollar) +
labs(x = "", y = "Frequency", title = "salary")
On average, a professor’s 9-month annual income is $113,706.46.
4.2 Anorexia Dataset
Another dataset that we’ll use is the anorexia
dataset within the MASS
package. The dataset consists of the weight (in lbs.) of 72 female patients with anorexia before and after either cognitive behavioral therapy, family therapy, or no therapy (control condition).
| Variable | Variable Type | Description |
|---|---|---|
| Treatment | Categorical | Treatment of female patient with anorexia, either cognitive behavioral therapy (CBT), family therapy (FT), or no therepy (CONT) |
| PreWeight | Continuous | Weight of female patient with anorexia before treatment in lbs. |
| PostWeight | Continuous | Weight of female patient with anorexia after treatment in lbs. |
4.2.1 Data Wrangling
Again, we can make the dataset slightly more readable for us.
# spell out variable names
# re-order levels to be CBT, FT, then Cont rather than alphabetical order
datasetAnorexia <- datasetAnorexia %>%
mutate(
Treatment = Treat,
PreWeight = Prewt,
PostWeight = Postwt,
Treatment = case_when(
Treatment == "Cont" ~ "Control",
TRUE ~ as.character(Treatment)
),
Treatment = factor(Treatment, levels = c("CBT", "FT", "Control"))
)
4.2.2 Descriptive Statistics
<IP_ADDRESS> Categorical Variables
## CBT FT Control
## 29 17 26
ggplot(data = datasetAnorexia, mapping = aes(x = Treatment)) +
geom_bar(aes(y = stat(count) / sum(stat(count))), color = "black", fill = "#3182bd") +
theme_classic() +
labs(y = "Proportion", x = "", title = "Treatment")
There are more participants within the CBT condition compared to either the FT condition or control group.
<IP_ADDRESS> Continuous Variables
datasetAnorexia %>%
select(PreWeight, PostWeight) %>%
describe(.) %>%
select(-vars, -trimmed, -mad, -range) %>%
round(., 2)
## n mean sd median min max skew kurtosis se
## PreWeight 72 82.41 5.18 82.30 70.0 94.9 -0.05 -0.16 0.61
## PostWeight 72 85.17 8.04 84.05 71.3 103.6 0.36 -0.81 0.95
ggplot(data = datasetAnorexia, mapping = aes(x = PreWeight)) +
geom_vline(
xintercept = describe(datasetAnorexia)["PreWeight", "mean"],
alpha = .5,
linetype = "dashed"
) +
geom_dotplot(binwidth = 1, fill = "#3182bd") +
geom_text(aes(
x = describe(datasetAnorexia)["PreWeight", "mean"],
label = paste("M =", round(describe(datasetAnorexia)["PreWeight", "mean"], 2)),
y = -.05
),
angle = 0
) +
theme_classic() +
scale_y_continuous(NULL, breaks = NULL) +
labs(x = "", y = "Frequency", title = "Weight Before Study (lbs)")
On average, women with anorexia before treatment weighed 82.41 lbs.
ggplot(data = datasetAnorexia, mapping = aes(x = PostWeight)) +
geom_vline(
xintercept = describe(datasetAnorexia)["PostWeight", "mean"],
alpha = .5,
linetype = "dashed"
) +
geom_dotplot(binwidth = 1, fill = "#3182bd") +
geom_text(aes(
x = describe(datasetAnorexia)["PostWeight", "mean"],
label = paste("M =", round(describe(datasetAnorexia)["PostWeight", "mean"], 2)),
y = -.05
),
angle = 0
) +
theme_classic() +
scale_y_continuous(NULL, breaks = NULL) +
labs(x = "", y = "Frequency", title = "Weight After Study (lbs)")
On average, women with anorexia after treatment weighed 85.17 lbs, which is about a 2.76 lbs weight gain compared to before treatment.
4.3 Use Your Own Dataset
However, if you have an interesting dataset of your own, we encourage you to also try using that dataset alongside ours.


This inspection reports functions that were overloading operators according to pre-M14 naming conventions but are not annotated with the 'operator' modifier. The quickfix for the inspection adds the modifier.


powered by:
Suggestions for you:
Based on the community
Naive Bayes classifier
http://scikit-learn.org/stable/modules/generated/sklearn.naive_bayes.GaussianNB.html
https://www.quora.com/What-is-the-decision-boundary-for-Naive-Bayes
Why does Naive Bayes use gaussian pf rather than Student's t?
http://stats.stackexchange.com/questions/197116/why-does-naive-bayes-use-gaussian-pf-rather-than-students-t/197131
http://scikit-learn.org/stable/modules/tree.html
Based your searches
Classification naïve bayésienne
https://fr.wikipedia.org/wiki/Classification_na%C3%AFve_bay%C3%A9sienne
http://scikit-learn.org/stable/auto_examples/calibration/plot_calibration.html#sphx-glr-auto-examples-calibration-plot-calibration-py
Gaussian Naive Bayes, Logistic Regression
http://www.cs.cmu.edu/~epxing/Class/10701-10s/Lecture/lecture5.pdf
Update
Relevant videos
Please rate how relevant this page is for you
Send
Thanks!