private void populateTables() {
		// We will now query the system views (i.e. the information_schema)
		// to see what is in the user provided schema.
		try {
			// see what tables are in the schema
			// (note that the user schema is called PUBLIC by default)
			ResultSet rsTab = this.stmt.executeQuery("SELECT table_name "
					+ "FROM information_schema.tables "
					+ "WHERE table_schema = 'PUBLIC'");

			List<String> tableNames = new ArrayList<String>();
			while (rsTab.next()) {
				// note that column indexing starts from 1
				tableNames.add(rsTab.getString(1));
			}
			rsTab.close();

			for (String tableName : tableNames) {

				int numInserts = this.tableSizes.get(tableName);
				this.numRows += numInserts;
				for (; numInserts > 0; numInserts--) {
					// for each table in the schema,
					// we will generate an INSERT statement to create a tuple
					StringBuilder insertSb = new StringBuilder();
					insertSb.append("INSERT INTO ");
					insertSb.append(tableName);
					insertSb.append(" VALUES (");

					// query for the columns of the current table
					ResultSet rsCol = this.stmt.executeQuery("SELECT column_name, data_type "
							+ "FROM information_schema.columns "
							+ "WHERE table_schema = 'PUBLIC' "
							+ "  AND table_name = '" + tableName + "'"
							+ "ORDER BY ordinal_position");
					int colNum = 1;
					while (rsCol.next()) {
						String columnName = rsCol.getString(1);
						int dataType = rsCol.getInt(2);


						if (colNum++ != 1) {
							insertSb.append(", ");
						}

						if (QueryProcessor.usefulColumns.contains(columnName.toLowerCase())) {

							// generate a value appropriate for the column's
							// type
							insertSb.append(this.tableConstraints.get(tableName)
									.getColumnConstraints(columnName)
									.getValueString());
						} else{
							insertSb.append(this.defaultValue(dataType));
						}
					}
					insertSb.append(")");
					rsCol.close();

					try {
						// execute the INSERT statement to add a tuple to the
						// table
						this.stmt.executeUpdate(insertSb.toString());
					} catch (Exception ex) {
					}
				}
			}

		} catch (SQLException e) {
			System.err.println("Unable to generate instance");
			e.printStackTrace();
		}
	}