Skip to content

Commit

Permalink
fast: generando .yaml
Browse files Browse the repository at this point in the history
  • Loading branch information
diegoefe committed Oct 12, 2016
1 parent 4f37b3c commit 012d4e6
Show file tree
Hide file tree
Showing 3 changed files with 45 additions and 28 deletions.
29 changes: 19 additions & 10 deletions bin/txt-to-sql-run.js
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,16 @@ function readConfigData(configFile) {
});
};

function createParams(params, preparedParams) {
var res = {
tableName:params.tableName,
rawTable:params.rawTable,
opts: changing(params.opts, preparedParams.opts),
};
res.opts.columns = preparedParams.columns;
return res;
}

function doPrepare(params, inputYaml, create) {
// PARCHE hasta resolver #16
if(params.opts) {
Expand All @@ -73,12 +83,7 @@ function doPrepare(params, inputYaml, create) {
var res;
return txtToSql.prepare(params).then(function(result) {
if(result.errors) { throw new Error(result.errors); }
res = {
tableName:params.tableName,
rawTable:params.rawTable,
opts: changing(params.opts, result.opts),
};
res.opts.columns = result.columns;
res = createParams(params, result);
if(create) {
return fs.writeFile(inputYaml, jsYaml.safeDump(res), {encoding:'utf8'});
}
Expand Down Expand Up @@ -147,6 +152,7 @@ function fastAnalyzeLines(info) {
txtToSql.quoteNames(info);
txtToSql.generateDropTable(info);
txtToSql.generateCreateScript(info);
return txtToSql.generatePrepareResult(info);
}

function fastInsert(info, row) {
Expand Down Expand Up @@ -188,6 +194,7 @@ function fastFinalize(info, outStream) {
function doFast(params, inputBase) {
var inStream, outStream;
var rl;
var preparedResult;
return Promise.resolve().then(function() {
return txtToSql.verifyInputParams(params);
}).then(fastProcessEncodingOptions)
Expand All @@ -212,8 +219,8 @@ function doFast(params, inputBase) {
fastProcessLine(info, line);
if(info.lines) {
if(info.lines.length===info.fastMaxLines) {
fastAnalyzeLines(info);
fastFinalize(info, outStream);
preparedResult = fastAnalyzeLines(info);
//fastFinalize(info, outStream);
delete info.lines;
}
} else { // more than info.fastMaxLines
Expand All @@ -224,9 +231,11 @@ function doFast(params, inputBase) {
rl.on('close', function() {
if(info.lines && info.lines.length<info.fastMaxLines) {
fastProcessLine(info);
fastAnalyzeLines(info);
preparedResult = fastAnalyzeLines(info);
fastFinalize(info, outStream);
}
//console.log("preparedResult", preparedResult);
fsSync.writeFile(inputBase+'.yaml', jsYaml.safeDump(createParams(params, preparedResult)), {encoding:'utf8'});
//console.log("info", info);
});
});
Expand Down Expand Up @@ -261,7 +270,7 @@ getOutputDir(cmdParams.input).then(function(dir) {
return doGenerate(params, inputYaml, createInputYaml, inputBase);
}
}).catch(function(err){
process.stderr.write("ERROR\n"+err.stack);
process.stderr.write("ERROR\n"+err.message+"\n"+err.stack);
});
}).catch(function(err) {
process.stderr.write("ERROR: "+err.message);
Expand Down
22 changes: 13 additions & 9 deletions lib/txt-to-sql.js
Original file line number Diff line number Diff line change
Expand Up @@ -568,17 +568,20 @@ function catchErrors(info, err) {
return { errors: errors, opts:info.opts};
}

function generatePrepareResult(info) {
var columns = info.columnsInfo.map(function(columnInfo) {
var col = Object.assign({type:columnInfo.typeInfo.typeName}, columnInfo);
delete col.typeInfo;
delete col.columnLength;
return col;
});
return {opts:info.opts, columns:columns, inputEncodingDetected:info.inputEncoding||null};
}

function prepare(info) {
return setup(info)
.then(function(info) {
var columns = info.columnsInfo.map(function(columnInfo) {
var col = Object.assign({type:columnInfo.typeInfo.typeName}, columnInfo);
delete col.typeInfo;
delete col.columnLength;
return col;
});
return {opts:info.opts, columns:columns, inputEncodingDetected:info.inputEncoding||null};
}).catch(catchErrors.bind(null, info));
.then(generatePrepareResult)
.catch(catchErrors.bind(null, info));
}

function generateScripts(info){
Expand Down Expand Up @@ -620,5 +623,6 @@ txtToSql.generateInsertScript = generateInsertScript;
txtToSql.createAdaptedRows = createAdaptedRows;
txtToSql.createInsertInto = createInsertInto;
txtToSql.createInsertValues = createInsertValues;
txtToSql.generatePrepareResult = generatePrepareResult;

module.exports = txtToSql;
22 changes: 13 additions & 9 deletions web/txt-to-sql.js
Original file line number Diff line number Diff line change
Expand Up @@ -568,17 +568,20 @@ function catchErrors(info, err) {
return { errors: errors, opts:info.opts};
}

function generatePrepareResult(info) {
var columns = info.columnsInfo.map(function(columnInfo) {
var col = Object.assign({type:columnInfo.typeInfo.typeName}, columnInfo);
delete col.typeInfo;
delete col.columnLength;
return col;
});
return {opts:info.opts, columns:columns, inputEncodingDetected:info.inputEncoding||null};
}

function prepare(info) {
return setup(info)
.then(function(info) {
var columns = info.columnsInfo.map(function(columnInfo) {
var col = Object.assign({type:columnInfo.typeInfo.typeName}, columnInfo);
delete col.typeInfo;
delete col.columnLength;
return col;
});
return {opts:info.opts, columns:columns, inputEncodingDetected:info.inputEncoding||null};
}).catch(catchErrors.bind(null, info));
.then(generatePrepareResult)
.catch(catchErrors.bind(null, info));
}

function generateScripts(info){
Expand Down Expand Up @@ -620,5 +623,6 @@ txtToSql.generateInsertScript = generateInsertScript;
txtToSql.createAdaptedRows = createAdaptedRows;
txtToSql.createInsertInto = createInsertInto;
txtToSql.createInsertValues = createInsertValues;
txtToSql.generatePrepareResult = generatePrepareResult;

module.exports = txtToSql;

0 comments on commit 012d4e6

Please sign in to comment.