X-Authentication-Warning: delorie.com: mail set sender to geda-user-bounces using -f X-Recipient: geda-user AT delorie DOT com X-Original-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=m0n5t3r.info; s=m0n5t3r; h=subject:to:references:from:message-id:date:user-agent:mime-version :in-reply-to:content-type; bh=4R0TsbpaBVAoSYMucpqAF5fIh8jSMCFJsR0QlUEpQes=; b=H50J+UnNyvljwyHG84SlCiGiFtNGs//pXwsS6IDH78+2oamQNs7n8L/TJcJVy7mf57 +kU3hmBFAPkYiJPkv81m3mNYQ8lC7azLi5YRvwT7Knup0maLBEWT0cRFc5UCXtFmsANN Kh1elDaMksa9ri5jZWl2IRX0kWVxyyyeYdKxg= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:subject:to:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-type; bh=4R0TsbpaBVAoSYMucpqAF5fIh8jSMCFJsR0QlUEpQes=; b=bWWoUNoK6htIMhFnhABfQfj7ZSBCG7n2ags4DLJHT/faUhHsayGPin6E1MUe1EaVwk x0NKKNCVGOU5+hY7jx7B88zJgZq8XOWaddTfitFKItN0lf/+6Wn0VT2gs6h4OwMTigFA 4Y3qKNf3CRstjz3hFljymsMx7lXK9BtxIXDoKHYdhXinj+mT0iJD1KsWWW0ClnXx/wT8 nyaM4hl1/oDn+uDCyEyq7reM1ca5IvvnpuIHnClZodaQiVlKEAkVSAeevD4/nTLX3AN2 gUDO8ucSD8Y1SmdqGHjn4He9w62kDt6mIMWWCxTuDI+GSXLpKSTfTWHVHlPJadG+mwQP H62A== X-Gm-Message-State: ALoCoQlcyTtttvwjZXpB3x0o5O7MtOaSudGrgQdPPgqQPjQl6oySVcz0Y3kZwJJNiPCq+0iY5VVZRGjpCJDz+IHkKTEoE7WDlQ== X-Received: by 10.28.183.132 with SMTP id h126mr14973926wmf.6.1452149231207; Wed, 06 Jan 2016 22:47:11 -0800 (PST) Subject: Re: [geda-user] (SQL file open/save) To: geda-user AT delorie DOT com References: <1512221837 DOT AA25291 AT ivan DOT Harhan DOT ORG> <20160106091006 DOT 5F67B809D7A1 AT turkos DOT aspodata DOT se> <20160106133049 DOT 5A0E9809D79B AT turkos DOT aspodata DOT se> <20160106143629 DOT 4D39D809D79B AT turkos DOT aspodata DOT se> <20160106164022 DOT D0D4E809D79B AT turkos DOT aspodata DOT se> <20160106180912 DOT 42ddf4079d91384f206b7c35 AT gmail DOT com> <20160106191433 DOT 5dc5cb59 AT jive DOT levalinux DOT org> <20160106202817 DOT 56197b2c539d426a1b724c9e AT gmail DOT com> From: "Sabin Iacob (iacobs AT m0n5t3r DOT info) [via geda-user AT delorie DOT com]" X-Enigmail-Draft-Status: N1110 Message-ID: <568E09ED.1080508@m0n5t3r.info> Date: Thu, 7 Jan 2016 08:47:09 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.4.0 MIME-Version: 1.0 In-Reply-To: <20160106202817.56197b2c539d426a1b724c9e@gmail.com> Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="jJhGr8BxlRWBmtnQSqlUc7Bm9gSpNNLP8" Reply-To: geda-user AT delorie DOT com Errors-To: nobody AT delorie DOT com X-Mailing-List: geda-user AT delorie DOT com X-Unsubscribes-To: listserv AT delorie DOT com Precedence: bulk This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --jJhGr8BxlRWBmtnQSqlUc7Bm9gSpNNLP8 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable On 01/06/2016 09:28 PM, Nicklas Karlsson (nicklas DOT karlsson17 AT gmail DOT com) [via geda-user AT delorie DOT com] wrote: >> On Wed, 6 Jan 2016 18:09:12 +0100 >> "Nicklas Karlsson (nicklas DOT karlsson17 AT gmail DOT com) [via >> geda-user AT delorie DOT com]" wrote: >> >>> Then it come to SQL can you solve file open and save as usual? Or do >>> you have to make connection to some kind of database? >> Yes. SQLite. >> >> https://www.sqlite.org/ >> >> Using server/client architectured database engin like postgresql is IM= HO >> overkill. >> >> Lev > I used SQL once to write a small database application but I used an SQL= server and even though it works and could be done it will be rather comp= licated for ordinary use. With a simple library binding it could be worth= a try. > > all right, can't stand it any more, I've been eating my words for a while now: please, please, please, stop with this SQL nonsense... I know that once you find a new shiny hammer everything looks like a nail, but schematics and PCBs are graphs at the core, and SQL databases are a pretty bad fit for storing graphs (yes, you can shoehorn them in - see mptt - but the results are more often than not awful); I too would like to see a more comprehensible file format for PCB, but SQL will be anything but comprehensible (source: used SQL extensively for the last 15 or so years as a developer and a server babysitter). as far as file formats go, while something standard like json or (cringe) yaml or (cringe even harder) xml would have advantages (ubiquitous library support, easy-ish to parse and modify with awk & friends for people who are so inclined), it will degenerate into unproductive holy wars (see previous pushes for lua as the file format, or various bickering about which text format is best); the way I see it, the process looks like this: * decide on data model; this is where you think hard about what you need to do, how it maps to the physical world, etc. * decide on syntax, write formal grammar; this is where you take into account parse-ability with standard text tools and human brains (I, for one, am a big fan of "design for humans first, computers later") * have a parser generator generate parsers for every language you use, generate some more as they are requested problem solved, you get canonical parsers for all languages that are needed and no extra layers of FFI (which can be needlessly heavy) --jJhGr8BxlRWBmtnQSqlUc7Bm9gSpNNLP8 Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQIcBAEBCAAGBQJWjgntAAoJEIIekQf3ltoLOWgP/1TR6i01EOlQc8rM81rooTbj ymEklqV4Iqq1kkZEBMQYfecAiCSXZ9SdkkeWLFGWAZblO4YymQOEe7DDZDgqdPF2 n3FYwTOuRhJIp+SHSOLItwGxrxGxbGcJaE9k7CbJ10dsydeayxuNtG0aQq6Qw4v5 +ItkHM01smVjxCjg4JMcFQLgOiN4Jbph/2WF65IwD4qCHROXDDvvwBb7fwPplhIF o8bpJSk6k8pKCp7G2qZW6cmEjP9MuTrv6iaM8Onl12Bj3rBSpsBgDWfrs6AXNDRd QbtoUvjSbnrc/Ie0rda4iHcLqASnh6inEG8GmKzw2ONJBcVCUZi5KeHkVC9EEcyz CZSD68sJya46X76n0o+8y6LiDDk8++NRonJPpTQOESNdwlQ/fH8IQn3CaX92FNfQ eaSugsZrpKBvnn2StskhK/WmBJy+hO/DjRtk3f4ZkbcwpBXPF4/I6sx7imohop0+ 5WB03p3D2Uedx+HIzVADzcMB+kAB6nSpz0KhvI4BqM+/7NY4Yld91rrUPkYIEOew klyz7jkveJar87PuRlh5yeaAaQCpcC05fAGCLGXzPitJir/JerzBcm61uP5OHBD0 +9N+GJCOSZgq8HUjCvunh2z+wNuffex+tyJVgBloiZeihe140+bXL8/cF+J+5Q3V 8pIaaAxDqSLsSWwaEyYe =Ujig -----END PGP SIGNATURE----- --jJhGr8BxlRWBmtnQSqlUc7Bm9gSpNNLP8--