Skip to content

Instantly share code, notes, and snippets.

@acmiyaguchi
Created July 12, 2019 00:23
Show Gist options
  • Save acmiyaguchi/fbbea6cdb04b964336b8f75185ad68a0 to your computer and use it in GitHub Desktop.
Save acmiyaguchi/fbbea6cdb04b964336b8f75185ad68a0 to your computer and use it in GitHub Desktop.
original java rust
AAAA a_a_a_a aaaa
AAAa a_a_aa aa_aa
AAA7 a_a_a7 aaa7
AAA_ a_a_a_ aaa
AAa_ a_aa_ a_aa
AA7A a_a7_a aa7a
AA7a a_a7a aa7a
AA77 a_a77 aa77
AA7_ a_a7_ aa7
AA_A a_a__a aa_a
AA_a a_a_a aa_a
AA_7 a_a_7 aa_7
AA__ a_a__ aa
AaAA aa_a_a aa_aa
AaA_ aa_a_ aa_a
Aaa_ aaa_ aaa
Aa7_ aa7_ aa7
Aa_A aa__a aa_a
Aa__ aa__ aa
A7AA a7_a_a a7aa
A7A7 a7_a7 a7a7
A7A_ a7_a_ a7a
A7a_ a7a_ a7a
A77A a77_a a77a
A77_ a77_ a77
A7_A a7__a a7_a
A7__ a7__ a7
A_AA a__a_a a_aa
A_Aa a__aa a_aa
A_A7 a__a7 a_a7
A_A_ a__a_ a_a
A_a_ a_a_ a_a
A_7A a_7_a a_7a
A_7_ a_7_ a_7
A__A a___a a_a
A__a a__a a_a
A__7 a__7 a_7
A___ a___ a
aAAA a_a_a_a a_aaa
aAA7 a_a_a7 a_aa7
aAA_ a_a_a_ a_aa
aAa_ a_aa_ a_aa
aA7A a_a7_a a_a7a
aA7_ a_a7_ a_a7
aA_A a_a__a a_a_a
aA__ a_a__ a_a
aaAA aa_a_a aa_aa
aaA_ aa_a_ aa_a
aaa_ aaa_ aaa
aa7_ aa7_ aa7
aa_A aa__a aa_a
aa__ aa__ aa
a7AA a7_a_a a7_aa
a7A_ a7_a_ a7_a
a7a_ a7a_ a7a
a77_ a77_ a77
a7_A a7__a a7_a
a7__ a7__ a7
a_AA a__a_a a_aa
a_Aa a__aa a_aa
a_A7 a__a7 a_a7
a_A_ a__a_ a_a
a_a_ a_a_ a_a
a_7A a_7_a a_7a
a_7_ a_7_ a_7
a__A a___a a_a
a__a a__a a_a
a__7 a__7 a_7
a___ a___ a
7AAA 7_a_a_a 7aaa
7AAa 7_a_aa 7a_aa
7AA7 7_a_a7 7aa7
7AA_ 7_a_a_ 7aa
7AaA 7_aa_a 7aa_a
7Aaa 7_aaa 7aaa
7Aa7 7_aa7 7aa7
7Aa_ 7_aa_ 7aa
7A7A 7_a7_a 7a7a
7A7a 7_a7a 7a7a
7A77 7_a77 7a77
7A7_ 7_a7_ 7a7
7A_A 7_a__a 7a_a
7A_a 7_a_a 7a_a
7A_7 7_a_7 7a_7
7A__ 7_a__ 7a
7aAA 7a_a_a 7a_aa
7aA_ 7a_a_ 7a_a
7aa_ 7aa_ 7aa
7a7_ 7a7_ 7a7
7a_A 7a__a 7a_a
7a__ 7a__ 7a
77AA 77_a_a 77aa
77Aa 77_aa 77aa
77A7 77_a7 77a7
77A_ 77_a_ 77a
77a_ 77a_ 77a
777A 777_a 777a
777_ 777_ 777
77_A 77__a 77_a
77__ 77__ 77
7_AA 7__a_a 7_aa
7_Aa 7__aa 7_aa
7_A7 7__a7 7_a7
7_A_ 7__a_ 7_a
7_a_ 7_a_ 7_a
7_7A 7_7_a 7_7a
7_7_ 7_7_ 7_7
7__A 7___a 7_a
7__a 7__a 7_a
7__7 7__7 7_7
7___ 7___ 7
_AAA __a_a_a aaa
_AAa __a_aa a_aa
_AA7 __a_a7 aa7
AA _a_a aa
_AaA __aa_a aa_a
_Aaa __aaa aaa
_Aa7 __aa7 aa7
Aa _aa aa
_A7A __a7_a a7a
_A7a __a7a a7a
_A77 __a77 a77
A7 _a7 a7
_A_A __a__a a_a
_A_a __a_a a_a
_A_7 __a_7 a_7
A_ a a
_aAA _a_a_a a_aa
_aAa _a_aa a_aa
_aA7 _a_a7 a_a7
aA a_a a_a
_aaA _aa_a aa_a
_aaa _aaa aaa
_aa7 _aa7 aa7
aa aa aa
_a7A _a7_a a7_a
_a7a _a7a a7a
_a77 _a77 a77
a7 a7 a7
_a_A _a__a a_a
_a_a _a_a a_a
_a_7 _a_7 a_7
a_ a_ a
_7AA _7_a_a 7aa
_7Aa _7_aa 7aa
_7A7 _7_a7 7a7
7A 7_a 7a
_7aA _7a_a 7a_a
_7aa _7aa 7aa
_7a7 _7a7 7a7
7a 7a 7a
_77A _77_a 77a
_77a _77a 77a
_777 _777 777
77 77 77
_7_A _7__a 7_a
_7_a _7_a 7_a
_7_7 _7_7 7_7
7_ 7_ 7
__AA ___a_a aa
__Aa ___aa aa
__A7 ___a7 a7
_A __a a
__aA __a_a a_a
__aa __aa aa
__a7 __a7 a7
_a _a a
__7A __7_a 7a
__7a __7a 7a
__77 __77 77
_7 _7 7
___A ____a a
___a ___a a
___7 ___7 7
@jklukas
Copy link

jklukas commented Jul 15, 2019

Here's the output for the guava CaseFormat and for a new hand-coded function in Java.

The custom convertFieldNameForBq handles appending an underscore if the name starts with a digit. The only other difference I'm seeing from the rust results is that the rust lib removes leading and trailing underscores, which we don't do here. I also don't know that we have any actual field names that start or end with underscores, so this doesn't particularly matter.

original guava new
AAAA a_a_a_a aaaa
AAAa a_a_aa aa_aa
AAA7 a_a_a7 aaa7
AAA_ a_a_a_ aaa_
AAaA a_aa_a a_aa_a
AAaa a_aaa a_aaa
AAa7 a_aa7 a_aa7
AAa_ a_aa_ a_aa_
AA7A a_a7_a aa7a
AA7a a_a7a aa7a
AA77 a_a77 aa77
AA7_ a_a7_ aa7_
AA_A a_a__a aa_a
AA_a a_a_a aa_a
AA_7 a_a_7 aa_7
AA__ a_a__ aa__
AaAA aa_a_a aa_aa
AaAa aa_aa aa_aa
AaA7 aa_a7 aa_a7
AaA_ aa_a_ aa_a_
AaaA aaa_a aaa_a
Aaaa aaaa aaaa
Aaa7 aaa7 aaa7
Aaa_ aaa_ aaa_
Aa7A aa7_a aa7_a
Aa7a aa7a aa7a
Aa77 aa77 aa77
Aa7_ aa7_ aa7_
Aa_A aa__a aa_a
Aa_a aa_a aa_a
Aa_7 aa_7 aa_7
Aa__ aa__ aa__
A7AA a7_a_a a7aa
A7Aa a7_aa a7_aa
A7A7 a7_a7 a7a7
A7A_ a7_a_ a7a_
A7aA a7a_a a7a_a
A7aa a7aa a7aa
A7a7 a7a7 a7a7
A7a_ a7a_ a7a_
A77A a77_a a77a
A77a a77a a77a
A777 a777 a777
A77_ a77_ a77_
A7_A a7__a a7_a
A7_a a7_a a7_a
A7_7 a7_7 a7_7
A7__ a7__ a7__
A_AA a__a_a a_aa
A_Aa a__aa a__aa
A_A7 a__a7 a_a7
A_A_ a__a_ a_a_
A_aA a_a_a a_a_a
A_aa a_aa a_aa
A_a7 a_a7 a_a7
A_a_ a_a_ a_a_
A_7A a_7_a a_7a
A_7a a_7a a_7a
A_77 a_77 a_77
A_7_ a_7_ a_7_
A__A a___a a__a
A__a a__a a__a
A__7 a__7 a__7
A___ a___ a___
aAAA a_a_a_a a_aaa
aAAa a_a_aa a_a_aa
aAA7 a_a_a7 a_aa7
aAA_ a_a_a_ a_aa_
aAaA a_aa_a a_aa_a
aAaa a_aaa a_aaa
aAa7 a_aa7 a_aa7
aAa_ a_aa_ a_aa_
aA7A a_a7_a a_a7a
aA7a a_a7a a_a7a
aA77 a_a77 a_a77
aA7_ a_a7_ a_a7_
aA_A a_a__a a_a_a
aA_a a_a_a a_a_a
aA_7 a_a_7 a_a_7
aA__ a_a__ a_a__
aaAA aa_a_a aa_aa
aaAa aa_aa aa_aa
aaA7 aa_a7 aa_a7
aaA_ aa_a_ aa_a_
aaaA aaa_a aaa_a
aaaa aaaa aaaa
aaa7 aaa7 aaa7
aaa_ aaa_ aaa_
aa7A aa7_a aa7_a
aa7a aa7a aa7a
aa77 aa77 aa77
aa7_ aa7_ aa7_
aa_A aa__a aa_a
aa_a aa_a aa_a
aa_7 aa_7 aa_7
aa__ aa__ aa__
a7AA a7_a_a a7_aa
a7Aa a7_aa a7_aa
a7A7 a7_a7 a7_a7
a7A_ a7_a_ a7_a_
a7aA a7a_a a7a_a
a7aa a7aa a7aa
a7a7 a7a7 a7a7
a7a_ a7a_ a7a_
a77A a77_a a77_a
a77a a77a a77a
a777 a777 a777
a77_ a77_ a77_
a7_A a7__a a7_a
a7_a a7_a a7_a
a7_7 a7_7 a7_7
a7__ a7__ a7__
a_AA a__a_a a_aa
a_Aa a__aa a__aa
a_A7 a__a7 a_a7
a_A_ a__a_ a_a_
a_aA a_a_a a_a_a
a_aa a_aa a_aa
a_a7 a_a7 a_a7
a_a_ a_a_ a_a_
a_7A a_7_a a_7a
a_7a a_7a a_7a
a_77 a_77 a_77
a_7_ a_7_ a_7_
a__A a___a a__a
a__a a__a a__a
a__7 a__7 a__7
a___ a___ a___
7AAA 7_a_a_a _7aaa
7AAa 7_a_aa _7a_aa
7AA7 7_a_a7 _7aa7
7AA_ 7_a_a_ 7aa
7AaA 7_aa_a _7_aa_a
7Aaa 7_aaa _7_aaa
7Aa7 7_aa7 _7_aa7
7Aa_ 7_aa_ 7_aa
7A7A 7_a7_a _7a7a
7A7a 7_a7a _7a7a
7A77 7_a77 _7a77
7A7_ 7_a7_ 7a7
7A_A 7_a__a _7a_a
7A_a 7_a_a _7a_a
7A_7 7_a_7 _7a_7
7A__ 7_a__ 7a_
7aAA 7a_a_a _7a_aa
7aAa 7a_aa _7a_aa
7aA7 7a_a7 _7a_a7
7aA_ 7a_a_ 7a_a
7aaA 7aa_a _7aa_a
7aaa 7aaa _7aaa
7aa7 7aa7 _7aa7
7aa_ 7aa_ 7aa
7a7A 7a7_a _7a7_a
7a7a 7a7a _7a7a
7a77 7a77 _7a77
7a7_ 7a7_ 7a7
7a_A 7a__a _7a_a
7a_a 7a_a _7a_a
7a_7 7a_7 _7a_7
7a__ 7a__ 7a_
77AA 77_a_a _77aa
77Aa 77_aa _77_aa
77A7 77_a7 _77a7
77A_ 77_a_ 77a
77aA 77a_a _77a_a
77aa 77aa _77aa
77a7 77a7 _77a7
77a_ 77a_ 77a
777A 777_a _777a
777a 777a _777a
7777 7777 _7777
777_ 777_ 777
77_A 77__a _77_a
77_a 77_a _77_a
77_7 77_7 _77_7
77__ 77__ 77_
7_AA 7__a_a _7_aa
7_Aa 7__aa _7__aa
7_A7 7__a7 _7_a7
7_A_ 7__a_ 7_a
7_aA 7_a_a _7_a_a
7_aa 7_aa _7_aa
7_a7 7_a7 _7_a7
7_a_ 7_a_ 7_a
7_7A 7_7_a _7_7a
7_7a 7_7a _7_7a
7_77 7_77 _7_77
7_7_ 7_7_ 7_7
7__A 7___a _7__a
7__a 7__a _7__a
7__7 7__7 _7__7
7___ 7___ 7__
_AAA __a_a_a _aaa
_AAa __a_aa _a_aa
_AA7 __a_a7 _aa7
AA _a_a aa
_AaA __aa_a __aa_a
_Aaa __aaa __aaa
_Aa7 __aa7 __aa7
Aa _aa _aa
_A7A __a7_a _a7a
_A7a __a7a _a7a
_A77 __a77 _a77
A7 _a7 a7
_A_A __a__a _a_a
_A_a __a_a _a_a
_A_7 __a_7 _a_7
A_ a a_
_aAA _a_a_a _a_aa
_aAa _a_aa _a_aa
_aA7 _a_a7 _a_a7
aA a_a a_a
_aaA _aa_a _aa_a
_aaa _aaa _aaa
_aa7 _aa7 _aa7
aa aa aa
_a7A _a7_a _a7_a
_a7a _a7a _a7a
_a77 _a77 _a77
a7 a7 a7
_a_A _a__a _a_a
_a_a _a_a _a_a
_a_7 _a_7 _a_7
a_ a_ a_
_7AA _7_a_a _7aa
_7Aa _7_aa _7_aa
_7A7 _7_a7 _7a7
7A 7_a 7a
_7aA _7a_a _7a_a
_7aa _7aa _7aa
_7a7 _7a7 _7a7
7a 7a 7a
_77A _77_a _77a
_77a _77a _77a
_777 _777 _777
77 77 77
_7_A _7__a _7_a
_7_a _7_a _7_a
_7_7 _7_7 _7_7
7_ 7_ 7_
__AA ___a_a __aa
__Aa ___aa ___aa
__A7 ___a7 __a7
_A __a _a
__aA __a_a __a_a
__aa __aa __aa
__a7 __a7 __a7
_a _a _a
__7A __7_a __7a
__7a __7a __7a
__77 __77 __77
_7 _7 _7
___A ____a ___a
___a ___a ___a
___7 ___7 ___7
____ ____ ____

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment