Commit Graph

172 Commits

Author SHA1 Message Date
Jan Mercl
2ba81b032f update dependencies, closes #49 2021-04-09 11:54:40 +02:00
Jan Mercl
4800b08a35 update dependencies 2021-04-08 12:18:25 +02:00
cznic
a3b3662248 Merge branch 'libc-load-environ' into 'master'
driver: set libc environment in init

Closes #49

See merge request cznic/sqlite!24
2021-04-08 09:50:47 +00:00
Jan Mercl
aa302889ea update dependencies 2021-04-07 12:43:37 +02:00
Dan Peterson
e2b915c98c driver: set libc environment in init
modernc.org/libc.Start does this when wrapping funcs main to seed data
for libc.Xgetenv and friends.

However, sqlite doesn't use libc.Start. It sets libc bits up in an
init func. This leaves the libc view of the enivorment empty/null.

When the sqlite "localtime" modifier used with datetime/strftime/etc,
sqlite eventually calls libc.Xlocaltime which wants to read TZ from
the environment. With an empty/null libc enivornment, this segfaults.

To fix that, call libc.SetEnviron in func init like libc.Start
does.

Fixes https://gitlab.com/cznic/sqlite/-/issues/49
2021-04-05 20:35:19 -03:00
Jan Mercl
9ffbf7a0e1 update dependencies 2021-03-23 22:48:00 +01:00
Jan Mercl
fae63b194d linux/amd64: enable pthreads 2021-03-23 00:17:08 +01:00
Jan Mercl
188cc2d36d windows/amd64: regenerate 2021-03-18 17:12:08 +01:00
Dan Peterson
798bbeb9bb driver: support scanning more formats into time.Time
Fixes https://gitlab.com/cznic/sqlite/-/issues/46
2021-03-14 16:07:07 -03:00
Dan Peterson
ceed017ea1 Merge branch 'no-rows-column-info' into 'master'
driver: return column info even when no rows

Closes #32

See merge request cznic/sqlite!22
2021-03-14 17:54:31 +00:00
Dan Peterson
77ccaf71ff driver: return column info even when no rows
Fixes https://gitlab.com/cznic/sqlite/-/issues/32
2021-03-14 13:09:25 -03:00
Jason DeBettencourt
6f3d099498 merged, re-fixed windows get_pwd. 2021-03-14 12:07:03 -04:00
Dan Peterson
c3e4c13784 changelog: v1.10.0 2021-03-14 10:46:32 -03:00
Jan Mercl
b272f0d24f 3.35: regenerate linux/arm64 2021-03-13 18:22:00 +01:00
Jan Mercl
872162fe45 3.35: regenerate linux/arm 2021-03-13 18:20:36 +01:00
Jan Mercl
9204906192 3.35: regenerate linux/386 2021-03-13 18:17:36 +01:00
Dan Peterson
c22ee6e16d regenerate linux/amd64 2021-03-13 14:42:27 +00:00
Dan Peterson
4d0d114b6e regenerate darwin/amd64 2021-03-13 09:29:18 -04:00
Dan Peterson
39d4e071e1 regenerate darwin/arm64 2021-03-13 09:14:00 -04:00
Dan Peterson
f2abd009c3 generator: use sqlite 3.35.0 2021-03-13 09:13:28 -04:00
Dan Peterson
63f10003aa changelog: fix version 2021-03-11 13:11:31 -04:00
Dan Peterson
ea11878379 prepare for release
* mention darwin/arm64 support in changelog and support list
* use released versions of dependencies
2021-03-11 13:10:20 -04:00
Dan Peterson
e11960029f generator: use ccgo/v3/lib
Instead of running a ccgo binary, use ccgo/v3/lib directly.

This makes the generation process more contained since the dependency
on ccgo/v3/lib can be tracked in go.mod.
2021-03-08 18:53:41 -04:00
Dan Peterson
2d6e462ccf add darwin/arm64 support 2021-03-08 08:58:12 -04:00
Jason DeBettencourt
9132cd04c3 Translate line endings for test reference output (*nix -> windows), as git changes by default to windows 2021-02-27 18:57:14 -05:00
Jan Mercl
6976024d57 update Tcl 2021-02-26 12:13:39 +01:00
Jan Mercl
6d96c26f32 fix build 2021-02-25 12:43:38 +01:00
Jan Mercl
fd25d4ee7f update dependencies 2021-02-24 22:29:52 +01:00
Jan Mercl
35e14d337f linux/amd64: regenerate 2021-02-21 22:21:30 +01:00
Jan Mercl
0e81b55ef9 update dependencies 2021-02-17 22:45:16 +01:00
Jan Mercl
5ab7e771a8 enable memgrind 2021-02-17 18:42:44 +01:00
Jan Mercl
612508d1d3 update dependencies 2021-02-17 12:39:37 +01:00
Jan Mercl
139b2c6271 release v1.8.7: split production and testing
goos: linux
goarch: amd64
pkg: modernc.org/sqlite

benchmark                                           old ns/op      new ns/op      delta
BenchmarkInsertComparative/sqliteInMemory1e2-24     429571         377501         -12.12%
BenchmarkInsertComparative/sqliteInMemory1e1-24     48237          42821          -11.23%
BenchmarkInsertComparative/sqliteOnDisk1e6-24       4154225001     3700442279     -10.92%
BenchmarkInsertComparative/sqliteInMemory1e3-24     4159909        3706782        -10.89%
BenchmarkInsertComparative/sqliteInMemory1e5-24     413908251      371288884      -10.30%
BenchmarkInsertComparative/sqliteInMemory1e6-24     4115347177     3716848025     -9.68%
BenchmarkInsertComparative/sqliteInMemory1e4-24     40789173       36868407       -9.61%
BenchmarkInsertComparative/sqliteOnDisk1e4-24       42562798       38656452       -9.18%
BenchmarkInsertComparative/sqliteOnDisk1e5-24       402785172      369788052      -8.19%
BenchmarkInsertComparative/sqliteOnDisk1e3-24       5458279        5074514        -7.03%
BenchmarkReading1/sqliteOnDisk1e5-24                43129144       41231015       -4.40%
BenchmarkInsertComparative/sqliteOnDisk1e2-24       1941170        1862031        -4.08%
BenchmarkReading1/sqliteInMemory1e2-24              37453          36098          -3.62%
BenchmarkReading1/sqliteInMemory1e6-24              425087394      412138650      -3.05%
BenchmarkReading1/sqliteInMemory1e3-24              433789         420847         -2.98%
BenchmarkReading1/sqliteInMemory1e5-24              43580631       44920215       +3.07%
BenchmarkInsertComparative/sqliteOnDisk1e1-24       1424724        1383383        -2.90%
BenchmarkReading1/sqliteOnDisk1e3-24                420967         408792         -2.89%
BenchmarkReading1/sqliteInMemory1e4-24              4141184        4246119        +2.53%
BenchmarkReading1/sqliteOnDisk1e6-24                427200030      416698349      -2.46%
BenchmarkReading1/sqliteInMemory1e1-24              4155           4214           +1.42%
BenchmarkReading1/sqliteOnDisk1e1-24                4244           4293           +1.15%
BenchmarkReading1/sqliteOnDisk1e4-24                4191184        4148692        -1.01%
BenchmarkReading1/sqliteOnDisk1e2-24                35719          35661          -0.16%

benchmark                                           old MB/s       new MB/s       speedup
BenchmarkInsertComparative/sqliteInMemory1e2-24     232790.51      264899.97      1.14x
BenchmarkInsertComparative/sqliteInMemory1e1-24     207307.71      233530.55      1.13x
BenchmarkInsertComparative/sqliteOnDisk1e6-24       240718.79      270237.97      1.12x
BenchmarkInsertComparative/sqliteInMemory1e3-24     240389.86      269775.81      1.12x
BenchmarkInsertComparative/sqliteInMemory1e5-24     241599.44      269332.06      1.11x
BenchmarkInsertComparative/sqliteInMemory1e6-24     242992.86      269045.17      1.11x
BenchmarkInsertComparative/sqliteInMemory1e4-24     245163.10      271234.94      1.11x
BenchmarkInsertComparative/sqliteOnDisk1e4-24       234946.96      258689.03      1.10x
BenchmarkInsertComparative/sqliteOnDisk1e5-24       248271.30      270425.18      1.09x
BenchmarkInsertComparative/sqliteOnDisk1e3-24       183207.93      197063.22      1.08x
BenchmarkReading1/sqliteOnDisk1e5-24                2318617.77     2425358.70     1.05x
BenchmarkInsertComparative/sqliteOnDisk1e2-24       51515.33       53704.79       1.04x
BenchmarkReading1/sqliteInMemory1e2-24              2669989.49     2770256.42     1.04x
BenchmarkReading1/sqliteInMemory1e6-24              2352457.44     2426367.92     1.03x
BenchmarkReading1/sqliteInMemory1e3-24              2305266.63     2376161.60     1.03x
BenchmarkReading1/sqliteInMemory1e5-24              2294597.33     2226169.21     0.97x
BenchmarkInsertComparative/sqliteOnDisk1e1-24       7018.90        7228.65        1.03x
BenchmarkReading1/sqliteOnDisk1e3-24                2375484.11     2446234.47     1.03x
BenchmarkReading1/sqliteInMemory1e4-24              2414768.40     2355092.06     0.98x
BenchmarkReading1/sqliteOnDisk1e6-24                2340823.81     2399817.53     1.03x
BenchmarkReading1/sqliteInMemory1e1-24              2406780.42     2372802.98     0.99x
BenchmarkReading1/sqliteOnDisk1e1-24                2356337.86     2329103.03     0.99x
BenchmarkReading1/sqliteOnDisk1e4-24                2385960.79     2410398.31     1.01x
BenchmarkReading1/sqliteOnDisk1e2-24                2799619.97     2804187.40     1.00x

benchmark                                           old allocs     new allocs     delta
BenchmarkInsertComparative/sqliteInMemory1e2-24     604            504            -16.56%
BenchmarkInsertComparative/sqliteOnDisk1e2-24       616            516            -16.23%
BenchmarkInsertComparative/sqliteInMemory1e1-24     64             54             -15.62%
BenchmarkInsertComparative/sqliteInMemory1e3-24     6748           5748           -14.82%
BenchmarkInsertComparative/sqliteOnDisk1e3-24       6760           5760           -14.79%
BenchmarkInsertComparative/sqliteInMemory1e4-24     69748          59748          -14.34%
BenchmarkInsertComparative/sqliteOnDisk1e4-24       69760          59760          -14.33%
BenchmarkInsertComparative/sqliteInMemory1e5-24     699748         599748         -14.29%
BenchmarkInsertComparative/sqliteOnDisk1e5-24       699760         599760         -14.29%
BenchmarkInsertComparative/sqliteOnDisk1e6-24       6999761        5999760        -14.29%
BenchmarkInsertComparative/sqliteInMemory1e6-24     6999748        5999749        -14.29%
BenchmarkInsertComparative/sqliteOnDisk1e1-24       76             66             -13.16%

benchmark                                           old bytes     new bytes     delta
BenchmarkInsertComparative/sqliteInMemory1e1-24     1360          1200          -11.76%
BenchmarkInsertComparative/sqliteInMemory1e2-24     12880         11376         -11.68%
BenchmarkInsertComparative/sqliteOnDisk1e2-24       12960         11472         -11.48%
BenchmarkInsertComparative/sqliteOnDisk1e1-24       1440          1296          -10.00%
BenchmarkInsertComparative/sqliteInMemory1e3-24     134032        124224        -7.32%
BenchmarkInsertComparative/sqliteOnDisk1e3-24       134113        124336        -7.29%
BenchmarkInsertComparative/sqliteInMemory1e4-24     1358038       1276229       -6.02%
BenchmarkInsertComparative/sqliteOnDisk1e4-24       1358122       1276343       -6.02%
BenchmarkInsertComparative/sqliteInMemory1e5-24     13598144      12796272      -5.90%
BenchmarkInsertComparative/sqliteOnDisk1e5-24       13598197      12796405      -5.90%
BenchmarkInsertComparative/sqliteOnDisk1e6-24       135998816     127996608     -5.88%
BenchmarkInsertComparative/sqliteInMemory1e6-24     135998544     127996640     -5.88%
BenchmarkReading1/sqliteInMemory1e4-24              156432        156440        +0.01%
BenchmarkReading1/sqliteOnDisk1e4-24                156433        156432        -0.00%
BenchmarkReading1/sqliteInMemory1e5-24              1596439       1596434       -0.00%
BenchmarkReading1/sqliteOnDisk1e5-24                1596439       1596435       -0.00%
BenchmarkReading1/sqliteInMemory1e6-24              15996522      15996490      -0.00%
BenchmarkReading1/sqliteOnDisk1e6-24                15996485      15996506      +0.00%
2021-01-31 12:07:26 +01:00
Jan Mercl
f5bcea6543 split production and testing 2021-01-30 01:09:04 +01:00
Jan Mercl
ec87829717 -volatile: add saved_cnt 2021-01-26 22:32:10 +01:00
Jan Mercl
8ee5bd03d8 volatile: regenerate all targetets, updates #43
Solving the date race rooted in testfixture comes with a price tag on
some benchmarks. The separation of test and production builds has to be
reconsidered probably.

benchmark                                           old ns/op      new ns/op      delta
BenchmarkInsertComparative/sqliteOnDisk1e2-24       1895381        9582508        +405.57%
BenchmarkInsertComparative/sqliteOnDisk1e3-24       5335603        23483554       +340.13%
BenchmarkInsertComparative/sqliteOnDisk1e4-24       41443434       62321908       +50.38%
BenchmarkReading1/sqliteInMemory1e1-24              4164           3954           -5.04%
BenchmarkReading1/sqliteOnDisk1e5-24                41833294       40412312       -3.40%
BenchmarkInsertComparative/sqliteOnDisk1e5-24       409706232      423913432      +3.47%
BenchmarkInsertComparative/sqliteInMemory1e3-24     4038611        4121762        +2.06%
BenchmarkReading1/sqliteOnDisk1e2-24                35478          34835          -1.81%
BenchmarkInsertComparative/sqliteInMemory1e5-24     393955115      400514447      +1.66%
BenchmarkInsertComparative/sqliteOnDisk1e6-24       4075058065     4129740614     +1.34%
BenchmarkReading1/sqliteOnDisk1e6-24                420696738      425759864      +1.20%
BenchmarkInsertComparative/sqliteInMemory1e6-24     4061846465     4025592721     -0.89%
BenchmarkInsertComparative/sqliteOnDisk1e1-24       1374103        1363824        -0.75%
BenchmarkInsertComparative/sqliteInMemory1e1-24     47396          47134          -0.55%
BenchmarkReading1/sqliteOnDisk1e4-24                4089560        4072859        -0.41%
BenchmarkReading1/sqliteInMemory1e5-24              41018960       41178057       +0.39%
BenchmarkReading1/sqliteInMemory1e3-24              413754         412557         -0.29%
BenchmarkReading1/sqliteOnDisk1e1-24                4105           4116           +0.27%
BenchmarkReading1/sqliteOnDisk1e3-24                406788         407602         +0.20%
BenchmarkReading1/sqliteInMemory1e4-24              4083458        4091301        +0.19%
BenchmarkReading1/sqliteInMemory1e2-24              35648          35586          -0.17%
BenchmarkInsertComparative/sqliteInMemory1e4-24     40525081       40486065       -0.10%
BenchmarkReading1/sqliteInMemory1e6-24              416605953      416801419      +0.05%
BenchmarkInsertComparative/sqliteInMemory1e2-24     418877         419052         +0.04%

benchmark                                           old MB/s       new MB/s       speedup
BenchmarkInsertComparative/sqliteOnDisk1e2-24       52759.83       10435.68       0.20x
BenchmarkInsertComparative/sqliteOnDisk1e3-24       187420.25      42582.99       0.23x
BenchmarkInsertComparative/sqliteOnDisk1e4-24       241292.75      160457.22      0.66x
BenchmarkReading1/sqliteInMemory1e1-24              2401715.49     2528774.04     1.05x
BenchmarkReading1/sqliteOnDisk1e5-24                2390440.47     2474493.44     1.04x
BenchmarkInsertComparative/sqliteOnDisk1e5-24       244077.32      235897.22      0.97x
BenchmarkInsertComparative/sqliteInMemory1e3-24     247609.90      242614.72      0.98x
BenchmarkReading1/sqliteOnDisk1e2-24                2818677.25     2870644.72     1.02x
BenchmarkInsertComparative/sqliteInMemory1e5-24     253836.02      249678.88      0.98x
BenchmarkInsertComparative/sqliteOnDisk1e6-24       245395.28      242145.96      0.99x
BenchmarkReading1/sqliteOnDisk1e6-24                2377009.16     2348741.82     0.99x
BenchmarkInsertComparative/sqliteInMemory1e6-24     246193.45      248410.62      1.01x
BenchmarkInsertComparative/sqliteOnDisk1e1-24       7277.47        7332.32        1.01x
BenchmarkInsertComparative/sqliteInMemory1e1-24     210986.33      212161.04      1.01x
BenchmarkReading1/sqliteOnDisk1e4-24                2445250.84     2455277.48     1.00x
BenchmarkReading1/sqliteInMemory1e5-24              2437897.03     2428477.88     1.00x
BenchmarkReading1/sqliteInMemory1e3-24              2416893.93     2423908.77     1.00x
BenchmarkReading1/sqliteOnDisk1e1-24                2435771.89     2429343.61     1.00x
BenchmarkReading1/sqliteOnDisk1e3-24                2458284.16     2453375.13     1.00x
BenchmarkReading1/sqliteInMemory1e4-24              2448904.99     2444210.29     1.00x
BenchmarkReading1/sqliteInMemory1e2-24              2805169.43     2810106.83     1.00x
BenchmarkInsertComparative/sqliteInMemory1e4-24     246760.76      246998.56      1.00x
BenchmarkReading1/sqliteInMemory1e6-24              2400349.76     2399224.08     1.00x
BenchmarkInsertComparative/sqliteInMemory1e2-24     238733.61      238633.69      1.00x

benchmark                                           old allocs     new allocs     delta
BenchmarkInsertComparative/sqliteInMemory1e6-24     6999753        6999749        -0.00%
BenchmarkInsertComparative/sqliteOnDisk1e6-24       6999762        6999761        -0.00%

benchmark                                           old bytes     new bytes     delta
BenchmarkInsertComparative/sqliteOnDisk1e2-24       12960         12962         +0.02%
BenchmarkReading1/sqliteInMemory1e4-24              156432        156440        +0.01%
BenchmarkInsertComparative/sqliteInMemory1e6-24     136003776     135998736     -0.00%
BenchmarkInsertComparative/sqliteOnDisk1e3-24       134113        134115        +0.00%
BenchmarkReading1/sqliteOnDisk1e5-24                1596446       1596438       -0.00%
BenchmarkInsertComparative/sqliteInMemory1e4-24     1358039       1358033       -0.00%
BenchmarkInsertComparative/sqliteOnDisk1e4-24       1358120       1358125       +0.00%
BenchmarkInsertComparative/sqliteOnDisk1e5-24       13598160      13598202      +0.00%
BenchmarkReading1/sqliteOnDisk1e6-24                15996506      15996549      +0.00%
BenchmarkReading1/sqliteInMemory1e6-24              15996504      15996528      +0.00%
BenchmarkInsertComparative/sqliteInMemory1e5-24     13598090      13598074      -0.00%
BenchmarkInsertComparative/sqliteOnDisk1e6-24       135998848     135998800     -0.00%
2021-01-26 20:59:32 +01:00
Jan Mercl
323938a11f linux/amd64: regenerate 2021-01-25 21:51:46 +01:00
Jan Mercl
3c751e6fc6 fix memory leak caused by returning noRows{}/II, updates #43 2021-01-25 13:30:37 +01:00
Jan Mercl
168943b08a fix memory leak caused by returning noRows{}, updates #43 2021-01-25 12:22:10 +01:00
Jan Mercl
ac62cee27c tweak Makefile 2021-01-25 09:24:40 +01:00
Jan Mercl
5e0cb7e925 bump libc,tcl version 2021-01-21 12:20:43 +01:00
Jan Mercl
faa19d3a03 bump libc,tcl version 2021-01-19 14:34:43 +01:00
Dan Peterson
03e5ee98b3 Merge branch 'binding-roundtripping' into 'master'
driver: support ?NNN and $NNN parameters, add tests

See merge request cznic/sqlite!21
2021-01-18 15:25:23 +00:00
Dan Peterson
2d062fa148 driver: support ?NNN and $NNN parameters, add tests
Fix a bug around ensuring each index matches a corresponding
argument.

Support ?NNN parameters by checking for a match between NNN and
Ordinal. Do the same for $NNN even though $NNN should technically
require sql.Named.

Updates https://gitlab.com/cznic/sqlite/-/issues/42.
2021-01-18 11:23:00 -04:00
Jason DeBettencourt
c1357b87cd cleanup get working dir on windows: "echo /c %CD%" -> "/c cd " 2021-01-18 09:59:38 -05:00
Jan Mercl
0a7471a043 Makefile: add regression_check target 2021-01-17 21:34:54 +01:00
Jan Mercl
132978c738 bump libc,tcl version 2021-01-17 11:38:58 +01:00
Jason DeBettencourt
7555a8537c Merge branch 'master' of https://gitlab.com/cznic/sqlite 2021-01-16 13:01:28 -05:00
Jason DeBettencourt
aabaed09c7 get_pwd fix for windows 2021-01-16 13:01:07 -05:00
Jan Mercl
4666409875 fix ccgo_test.build 2021-01-16 18:19:24 +01:00