GoogleCloudPlatform/gcloud-node — pull request #262 by ryanseys (2014-10-18 06:54:23+00:00)
Title: DO NOT MERGE: BigQuery API stubs

In this PR, I'd like to propose the stubs for BigQuery. In general, the API has been broken into four different pieces:

- `bigquery/index.js` - The main BigQuery API. You create a `bigquery` object much like we already have for `storage`, `datastore` and `pubsub`.
- `bigquery/dataset.js` - A Dataset holds Tables. You cannot have Tables without a Dataset, so this abstraction is necessary.
- `bigquery/dataset.table.js` - The table holds all the data. Using jobs, you insert data into the Table, run queries on data in Tables, and can even export data to Cloud Storage or copy data from one Table to another.
- `bigquery/job.js` - A job is some computation/data heavy task that is running on BigQuery. The results of jobs are stored in BigQuery and can only be accessed if you know the Job id. For the most part, jobs will be started through helper methods on Table and BigQuery itself, but this abstraction also gives developers flexibility.

I haven't used this style of proposal before, but wanted to get a feel that I'm on the right track. Please let me know if you see any issues regarding general design, big missing details, something smells :fish:y, or you're amazed by something and want to send me :moneybag: or :gift:.

Any feedback is greatly appreciated. :)

PS: Don't merge this, that'd be silly as it only contains stubs. :see_no_evil: