1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- var common = require('../../test/common');
- var connection = common.createConnection();
- var assert = require('assert');
- var Faker = require('charlatan');
- var fs = require('fs');
- var createSql = fs.readFileSync('./schema.sql').toString();
- // use seed to make it consistent between runs
- // copy-paste from http://stackoverflow.com/questions/521295/javascript-random-seeds
- var m_w = 123456789;
- var m_z = 987654321;
- var mask = 0xffffffff;
- // Takes any integer
- function seed(i) {
- m_w = i;
- }
- // Returns number between 0 (inclusive) and 1.0 (exclusive),
- // just like Math.random().
- function rand()
- {
- m_z = (36969 * (m_z & 65535) + (m_z >> 16)) & mask;
- m_w = (18000 * (m_w & 65535) + (m_w >> 16)) & mask;
- var result = ((m_z << 16) + m_w) & mask;
- result /= 4294967296;
- return result + 0.5;
- }
- seed(123);
- connection.query(createSql);
- connection.query("DELETE FROM mysql2_test");
- function insertRow(r) {
- connection.query("INSERT INTO mysql2_test SET ? ", r);
- }
- var num_rows = 10000;
- var five_words, twenty5_paragraphs;
- for (var i = 0; i < num_rows; ++i)
- {
- five_words = Faker.Lorem.words(1 + rand(4)).join(' ').slice(0, 10);
- twenty5_paragraphs = Faker.Lorem.paragraphs(1 + rand(24)).join(' ');
- insertRow({
- bit_test: 1,
- tiny_int_test: rand(128),
- small_int_test: rand(32767),
- medium_int_test: rand(8388607),
- int_test: rand(2147483647),
- big_int_test: rand(9223372036854775807),
- float_test: rand(32767)/1.87,
- float_zero_test: 0.0,
- double_test: rand(8388607)/1.87,
- decimal_test: rand(8388607)/1.87,
- decimal_zero_test: 0,
- date_test: '2010-4-4',
- date_time_test: '2010-4-4 11:44:00',
- timestamp_test: '2010-4-4 11:44:00',
- time_test: '11:44:00',
- year_test: 14,
- char_test: five_words,
- varchar_test: five_words,
- binary_test: five_words,
- varbinary_test: five_words,
- tiny_blob_test: five_words,
- tiny_text_test: Faker.Lorem.paragraph(rand(5)),
- blob_test: twenty5_paragraphs,
- text_test: twenty5_paragraphs,
- medium_blob_test: twenty5_paragraphs,
- medium_text_test: twenty5_paragraphs,
- long_blob_test: twenty5_paragraphs,
- long_text_test: twenty5_paragraphs,
- enum_test: ['val1', 'val2'][rand(2)],
- set_test: ['val1', 'val2', 'val1,val2'][rand(3)]
- });
- }
- connection.end();
|