<commit_before>// Copyright 2012 <NAME>. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

/*
Package sqlstruct provides some convenience functions for using structs with
the standard library's sql package. 

The package works with structs that are tagged with a "sql" tag that identifies
which column of a SQL query the field corresponds to.

For example:

	type T struct {
		F1 string `sql:"f1"`
		F2 string `sql:"f2"`
	}

	r, err := db.Query(fmt.Sprintf("SELECT %s FROM tablename", sqlstruct.Columns(T)))
	...

	for rows.Next() {
		var t T
		err = sqlstruct.Scan(&t, rows)<commit_msg>Fixed example in header.<commit_after>// Copyright 2012 <NAME>. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

/*
Package sqlstruct provides some convenience functions for using structs with
the Go standard library's database/sql package.

The package works with structs that are tagged with a "sql" tag that identifies
which column of a SQL query the field corresponds to.

For example:

	type T struct {
		F1 string `sql:"f1"`
		F2 string `sql:"f2"`
	}

	rows, err := db.Query(fmt.Sprintf("SELECT %s FROM tablename", sqlstruct.Columns(T)))
	...

	for rows.Next() {
		var t T
		err = sqlstruct.Scan(&t, rows)
{'fraction_non_alphanumeric': 0.09622501850481126, 'fraction_numerical': 0.011843079200592153, 'mean_word_length': 3.727272727272727, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 5, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4172854', 'n_tokens_mistral': 422, 'n_tokens_neox': 391, 'n_words': 185}