Releases: googleapis/nodejs-bigquery
v0.9.0
Update
$ npm install @google-cloud/[email protected]
⚠️ Breaking Changes!
Dropped support for Node v0.12.x
(googleapis/google-cloud-node#2171)
We've officially dropped support for Node v0.12.x in all of our APIs. It may still work, but it is not officially supported and may stop working at any time.
v0.8.0
$ npm install @google-cloud/[email protected]
Fixes
- (googleapis/google-cloud-node#2027, googleapis/google-cloud-node#2030): Fixes race condition when auto-creating resources.^M
- (googleapis/google-cloud-node#1984, googleapis/google-cloud-node#1990): Fix project ID detection bug.
v0.6.0
Update
$ npm install @google-cloud/[email protected]
Features
- (#1653, #1656): Auto-detect
projectId
. See Authentication for more. - (#1787, #1854, #1868, #1869): Support SQL parameters. (Thanks for all of the help, @c0b!)
Fixes
- (#1812, #1853): Confirm
apiResponse
argument presence. (Thanks, @BlackSonic!)
v0.5.0
Update
$ npm install @google-cloud/[email protected]
⚠️ Breaking Changes!
Partial failures are now treated as errors
Previously, when inserting multiple rows of data into a table, if any of them failed to insert, the failed insertion errors were passed in a separate argument to the callback. We've since introduced a custom error type called PartialFailureError
, which is returned as the first err
argument to your callback.
Before
table.insert(data, function(err, insertErrors, apiResponse) {
if (err) {
// An API error occurred.
}
if (insertErrors.length > 0) {
// Some rows failed to insert, while others may have succeeded.
//
// insertErrors[].row (original row object passed to `insert`)
// insertErrors[].errors[].reason
// insertErrors[].errors[].message
}
});
After
table.insert(data, function(err, apiResponse) {
if (err) {
// An API error or partial failure occurred.
if (err.name === 'PartialFailureError') {
// Some rows failed to insert, while others may have succeeded.
// err.errors[].row (original row object passed to `insert`)
// err.errors[].errors[].reason
// err.errors[].errors[].message
}
}
});
Fixes
v0.4.0
Updating
$ npm install @google-cloud/[email protected]
⚠️ Breaking Changes
Promises have arrived!
It's been a long time coming, but we're finally here. We've shipped promise support in the Google Cloud BigQuery module!
Do I have to use promises?
Nope, carry on. (But keep reading if you use streams)
How do I use promises?
Don't pass a callback:
var bigquery = require('@google-cloud/bigquery')();
bigquery.getDatasets()
.then(function(data) {
var datasets = data[0];
})
.catch(function(err) {});
How do I use a method as a stream?
All of the streaming functionality from our methods have been moved to their own method.
var bigquery = require('@google-cloud/bigquery')();
- bigquery.getDatasets()
+ bigquery.getDatasetsStream()
.on('data', function(dataset) {})
- bigquery.getJobs()
+ bigquery.getJobsStream()
.on('data', function(job) {})
- bigquery.query('SELECT ...')
+ bigquery.createQueryStream('SELECT ...')
.on('data', function(row) {})
var dataset = bigquery.dataset('my-dataset-name');
- dataset.getTables()
+ dataset.getTablesStream()
.on('data', function(table) {})
- dataset.query('SELECT ...')
+ dataset.createQueryStream('SELECT ...')
.on('data', function(row) {})
var table = dataset.table('my-table-name');
- table.getRows()
+ table.createReadStream()
.on('data', function(row) {})
- table.query('SELECT ...')
+ table.createQueryStream('SELECT ...')
.on('data', function(row) {})