# A new fiddle for dba.se

SQLFiddle has been an essential tool and a great complement to dba.se for a very long time, but it has gone downhill a bit in the last year or two.

I have also wondered for some time what a 'fiddle' designed specifically with dba.se and markdown in mind might look like, and over the last few days I've put together a prototype of how I think it should be.

Please have a play with the site and let me know here if you have suggestions for improvements or design changes.

The current list of supported databases is:

• Db2 Developer-C 11.1 (with lots of thanks to @mustaccio)
• Firebird 3.0
• MariaDB 10.2, 10.3 and 10.4
• MySQL 5.6, 5.7 and 8.0
• Oracle 11.2 and 18
• Postgres 8.4, 9.4, 9.5, 9.6, 10, 11 and 12
• SQL Server 2012, 2014, 2016, 2017, 2017 Linux and 2019 Linux RC1
• SQLite 3.8, 3.16 and 3.27 (but 3.16 is currently offline for security reasons)

Here's an example (the image links to the fiddle):

I've edited some of my answers (e.g. this one) to use db<>fiddle.

As of Apr 2018 the site uses ssl by default — there are some benefits even for a site like db<>fiddle and it's free now so why not?

As of Apr 2019 you can now hide batches selectively.

• +1, +10, +1000000000000000000 – ypercubeᵀᴹ Feb 16 '17 at 18:28
• ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑ – MDCCL Feb 16 '17 at 21:14
• +2 also. It would be a welcome addition. As wishes are cheap: having several versions (i.e.: PostgreSQL 9.4, 9.5, 9.6...) of the same DB would be a plus. Sometimes you don't know when your problem is just version specific... and you'd better upgrate quickly. – joanolo Feb 19 '17 at 6:38
• @joanolo "As wishes are cheap" not at all, thanks for the suggestion. I've added 9.5 and 9.4, and will add others at some point! – Jack Douglas Feb 19 '17 at 18:16
• As sqlfiddle is an established site, and you seem to have already invested time and effort in to it according to the about page, couldn't SE just adopt it and make sql fiddle great again, by pushing some resources towards it's development? – Tanner Feb 21 '17 at 10:34
• @Tanner when I saw the writing on the wall a couple of years ago, I asked that question, but although help was offered, it wasn't the sort that Jake needed. – Jack Douglas Feb 21 '17 at 10:37
• @JackDouglas fair enough, just thought I'd ask... you know, reinventing the wheel n all. good luck, would be interested to see how it develops. – Tanner Feb 21 '17 at 10:54
• @Tanner thanks, feel free to post feature requests here if you have ideas. – Jack Douglas Feb 21 '17 at 11:10
• Forgive my ignorance, but what are SQLfiddle/DBFiddle? I followed the links but they didn't have any explanatory text. I also couldn't find any reference on DBA.SE about them. – BradC Feb 23 '17 at 16:37
• @BradC Try this one: dbfiddle.uk/… the point is that you can make a reproducible test case demonstrating a question or problem, and then others can tinker with it (try changing the sql in the link in this comment) – Jack Douglas Feb 23 '17 at 17:12
• @BradC also, there is a bit of documentation on the home page for each RDBMS: dbfiddle.uk/?rdbms=sqlserver_next – Jack Douglas Feb 23 '17 at 17:13
• @JackDouglas: Others who don't have the target dbms installed can tinker. That's the big deal for me. I'd usually rather see the SQL in the question, myself. There's no reason people can't include SQL in the question and in a fiddle, but that's not as common as I would like it to be. – Mike Sherrill 'Cat Recall' Feb 28 '17 at 16:49
• The site has evolved. By now, in all modesty, I'd like to say it's absolutely marvellous. – Erwin Brandstetter Apr 10 '17 at 1:18
• @lad2025 thanks for spotting that bug, now fixed. Regarding db support, pg11 will be added soon, but Oracle 12c probably never as there is no XE version. 18c XE is thought to be coming up (possibly in July) and if that materializes I will add it. – Jack Douglas May 28 '18 at 8:36
• @Mitch both dbfiddle and my church are intended to help people, and both are the product of a lot of effort. I don't push either on anyone — and I hope to have the same respect shown to me by those who believe differently. – Jack Douglas May 30 '18 at 9:39

First, thank you for the site, it's a very useful tool.

Recently MySQL 8.0 introduced JSON_TABLE, however, it's currently not possible to use it in dbfiddle.uk.

See dbfiddle.

• Thanks wchiquito, after a bit of digging I found there is a bug fixed in 8.0.13, which is not yet released. See on bugs.mysql.com (last comment in particular) and the 8.0.13 changelog — If you ping me here when 8.0.13 is released I'll update the back-end! – Jack Douglas Sep 5 '18 at 13:44
• I've upgraded to 8.0.13 and it's all working now :) – Jack Douglas Oct 23 '18 at 15:22
• @JackDouglas: Everything working as expected. Thanks for the quick update. – wchiquito Oct 25 '18 at 22:02
• @JackDouglas: It seems that MySQL 8.0 has some problem, it does not execute sentences. Thanks. – wchiquito Nov 9 '18 at 11:50
• apologies it was down for a while — but now working again. – Jack Douglas Nov 19 '18 at 18:12
• @JackDouglas: Excellent, thanks. – wchiquito Nov 24 '18 at 9:16

There are problems in the display of space / empty string / NULL value:

 VALUES
(1, 'foo')
, (2, '')
, (3, NULL)
, (4, '   ')
, (5, '|   |');

/*
column1 | column2
------: | :------
1 | foo
2 |
3 |
4 |
5 | |   |
*/

VALUES
('foo')
, ('')
, (NULL)
, ('   ')
, ('|   |');

/*
| column1 |
| :------ |
| foo     |
|         |
|         |
|         |
| |   |   |
*/


dbfiddle here

In the online display:

• Note the collapsed row 2 for the empty string in the second SQL field - in the fiddle, not here.

In the markup:

• Some way to distinguish rows 2, 3 and 4 would be useful.

I sharpened the demo to include single quotes and <tag>):

VALUES
('<tag>')
, (NULL)
, ('')      -- empty string
, ('''''')  -- actual single quotes
, ('   ');  -- spaces

/*
| column1 |
| :------ |
| <tag>   |
|         |
|         |
| ''      |
|         |
*/


dbfiddle here

Maybe rendering with a <pre> block would be an improvement? Would also take care of the comments you mentioned.

| column1 |
| :------ |
| <tag>   |
| null    |
| ''      |
| ''      |
|         |


You'd have to escape <. I used &lt; above ...

Included your italic null, added italic single quotes for empty string. May be hard to distinguish from literal single quotes. But still an improvement, because the distinction between empty string and space is more important because it's a more common problem.

All spaces remain to be solved ... Some corner cases are hard to solve. Most clients have a hard time to get it right.

The only change I am convinced is good is the italic null. The rest is just ideas ...

See this related meta-post:

• I can put an italic *null* in row 3 for the markdown too, but I can't think of a good way of distinguishing rows 2 and 4, do you have a suggestion? – Jack Douglas Mar 16 '17 at 8:24
• @JackDouglas: Italic null sounds like a good idea. I added some more above. – Erwin Brandstetter Mar 16 '17 at 12:44
• I found this was much harder than I anticipated due to the way SE handles code blocks and syntax highlighting. The only solutions I found that retained syntax highlighting also separated the SQL and result table into two block visually which I think isn't good. In the end, all I've done is add a plain 'null' for nulls in the markdown (no way of disambiguating the text "null"), and added a &nbsp; where there is an empty string in the tabular output to prevent rows collapsing: dbfiddle.uk/… – Jack Douglas Mar 16 '17 at 17:00
• @JackDouglas: I expected this to be harder than it looks ... Separating code and results does not seem so bad to me. I often do that on purpose in my answers. – Erwin Brandstetter Mar 16 '17 at 17:11
• What do you think of this output? i.stack.imgur.com/GJ0Xu.png – Jack Douglas Mar 16 '17 at 17:22
• I mean just from the POV of the blockquote to separate the statement/result pairs – Jack Douglas Mar 16 '17 at 17:23
• I think that's good. – Erwin Brandstetter Mar 16 '17 at 22:16
• OK, I've implemented that on a trial basis, we'll see if others agree it is an improvement. I think it is, and I'm delighted that the syntax highlighting works, there is no need for the /* */ commenting, and we can have italic null in the markdown output, all at once. Thanks a lot for the input Erwin. – Jack Douglas Mar 17 '17 at 9:54

I have to say it once again: db<>fiddle is simply the best.

I have a small request. Could you add traceflag 460 to startup parameters after you patch SQL Server with the newest cumulative update?

Current CU of SQL Server 2017 is CU9.

db<>fiddle demo

SELECT SERVERPROPERTY('ProductUpdateLevel'),@@version;
-- CU9


I would like to be able to use:

Improvement: Optional replacement for "String or binary data would be truncated" message with extended information in SQL Server 2017

Which was previously intended to be SQL Server 2019 feature Truncation error message improved to include table and column names, and truncated value (CTP 2.1)

• We've applied CU12 and added traceflag 460; here is a demo fiddle – James Douglas Dec 3 '18 at 22:21
• @JamesDouglas Once again, huge kudos for all your efforts and help. – lad2025 Dec 4 '18 at 20:19
• @JamesDouglas see how this error is displayed in Firebird: dbfiddle.uk/… - I mean, the error is supposed to be on two or maybe three separate lines, but it was fused into one continuous line, and without separators it is harder to read... – Arioch 'The Sep 26 at 16:18

On SO in the PostgreSQL section there are often PostGIS questions. At the moment I don't know any fiddle engine which supports this framework. So as a suggestion: Wouldn't it be great to install the PostGIS frame along with your PostgreSQL instances?

• I've not done this before but it turns out it's reasonably straightforward as the same PG repo for postgres also contains PostGIS. Please try it out on pg11: dbfiddle.uk/… – Jack Douglas Oct 31 '18 at 10:55
• Great, works like charm :) Will you activate it on previous versions too? – S-Man Oct 31 '18 at 12:05
• We added it to 10 and 9.6 too — I don't think we'll add it to any of the older versions though. – Jack Douglas Mar 19 at 17:02

Bug for MySQL-8.0

SELECT
json_tb.item_id,
json_tb.model_number,
json_tb.quantity
FROM JSON_TABLE
(
'[{"item_id":1,"model_number":"MFJA53","quantity":4},{"item_id":2,"model_number":"HSRHJN5","quantity":null},{"item_id":3,"model_number":"FAFAF1","quantity":345}]'
, "$[*]" COLUMNS ( item_id int PATH "$.item_id",
model_number varchar(100) PATH "$.model_number", quantity int PATH "$.quantity"
)
) json_tb


Returns:

SELECT command denied to user 'fiddle_SMYHCBMIQRDQGWHKBNDS'@'localhost' for table 'json_table'


json_table is a function more than a table (ref: JSON_TABLE function manual)

• This was reported earlier and we were waiting for MySQL to release a fix, but thanks for bringing it up again as it prompted me to check back and discover the release was ready. It should all be working now. – Jack Douglas Oct 23 '18 at 15:24

Attempting to run the following two SQL Server batches on any available db<>fiddle version:

SET LANGUAGE Italiano;
SELECT CONVERT(datetime, '2019.06.30', 0);

SET LANGUAGE Italiano;
SET DATEFORMAT YMD;
SELECT CONVERT(datetime, '2019.06.30', 0);


Produces an error:

The code runs 'successfully' in SSMS producing the expected message and error for the first statement:

L'impostazione della lingua è stata sostituita con Italiano.
Msg 242, Level 16, State 3, Line 2
La conversione di un tipo di dati varchar in datetime ha generato un valore non compreso nell'intervallo dei valori consentiti.


The second statement does not produce an error, but does produce the informational message:

L'impostazione della lingua è stata sostituita con Italiano.

• Running just the first one fails on most but shows an error on 2017: dbfiddle.uk/…. Do you get the same error in SSMS? – Jack Douglas Jul 5 at 9:07
• Yes the error is expected - answer updated to clarify (sorry about that) – Paul White Jul 5 at 9:13

For Postgres please add the ltree extension :) That would be great. Sometimes there are SO questions referencing it.

• I've added ltree for versions 10,11 and 12 :) – Jack Douglas Jul 18 at 9:43
• Great! Thank you! – S-Man Jul 18 at 10:02

Would it be possible to show multiple outputs in one SQL field? At the moment if you have two SELECT statements only one will be shown in the results. https://dbfiddle.uk/?rdbms=postgres_9.6&fiddle=c17a17e3a448a08adc851b21d0bea5d2

For my Postgres answers I like to do these steps: CREATE TABLE, INSERT data and SELECT * FROM new_table to show how the origin table and its content look like. For multiple tables I have to use two section only for the SELECT part.

It's nothing critical, I know. But it would be nice candy I think!

• I'm afraid I don't think that's an easy thing to do with the postgres PHP driver we are using. It works fine with SQL Server: dbfiddle.uk/…. You can split the batch automatically with one of the icons inside the hamburger on the right but I'm not sure that is what you want. – Jack Douglas Oct 31 '18 at 14:43
• btw this works now — I forgot to mention I found a bug in the driver and realised there was a workaround – Jack Douglas Jul 18 at 10:10

It seems there is a bug with DB-fiddle regarding detecting or reporting of Firebird errors.

Last query should generate an internal Firebird error (as Numeric is capped with 18 digits in FB 2/3 and 18-4*4=2 is not enough to contain the calculation result of 1875).

DB fiddle displays neither error nor query result.

• This looks like a Firebird bug to me as a resultset is returned (albeit empty) rather than an error generated: dbfiddle.uk/… – Jack Douglas Sep 26 at 14:05
• @JackDouglas the error IS generated, try local tools like FlameRobin or IBExpert or even console iSQL tool of the Firebird package. The resultset is not a static object, it is a vessel to be filled with data, as you fetch next rows. It is fetching the specific row that leads to overflow and error generation. You may avoid fetching all/any rows, but you still will have some rows and the resultset itself usable as meta-data. So, I see no bag on FB part there. – Arioch 'The Sep 26 at 14:15
• Imagine fetching f1 / f2 from a table having rows like 1; 1, 2; 2, 3; 3, 0; 0, 4; 4 - obviously only fetching the 4th row will trigger the error, prior rows can be perfectly fetched! Think about Firebird as a lazy evaluator, which only makes actual actions (and has chance to trigger errors) when (whether) was actually asked by client to do it. Before the erratic row was fetched - there was no condition of error, thus no reason to deny creating the yet empty resultset. – Arioch 'The Sep 26 at 14:16
• ah, it looks like it is exposed as a PHP warning row by row by ibase_fetch_row, thanks. – Jack Douglas Sep 26 at 14:22
• yep, in my division by zero example you might even both display the starting part of the output and THEN display an error. It is not either-or :-) – Arioch 'The Sep 26 at 14:25
• WEIRD result: I just clicked yours then my link, and the tab with my link acted weirdly. It had "ok" mark on the #1 query and sensible result on #3 query, but "error table does not exist" on #2 and #4. Then I manually pressed "run" and it went all ok. I reloaded page, and (I suppose being cached now) it loaded ok again. But, be it because I clicked both your and mine links in almost the same time, or be it because I did not clicked my own link for hourse and it needed warming up, dunno, but initial load was the errors... – Arioch 'The Sep 26 at 14:29
• because Firebird isn't heavily used I'm making changes to the code in prod — that will explain the weird results. If bad results are cached the 'run' should clear them. – Jack Douglas Sep 26 at 14:30
• ah, ok, could be then, just did not expected so tight a race conditions :-D – Arioch 'The Sep 26 at 14:31
• I think the issue is now fixed, though I think we expected this to produce a good row and then an error but it does not: dbfiddle.uk/…. – Jack Douglas Sep 26 at 14:31
• OT: notice how I had to inject a "hackish" query to learn the Firebird version. Perhaps it might make sense to always report the server version somewhere at [age bottom after "run" pressed ? – Arioch 'The Sep 26 at 14:36
• This works: dbfiddle.uk/… - so I guess the case is about datatypes: integer being up-lifted to the same Numeric, and then we have the same problem of too few digits left. Your site does not report data types in result sets, i'll try this locally in FB 2.1.7/IBExpert – Arioch 'The Sep 26 at 14:38
• Oh, sorry, pal, I am really really stupid with this issue! consider this: dbfiddle.uk/… The trouble is obvious, as all union-ed queries share the same result set - the datatypes are stretched for every columns according to the most needy query. In your link - the LAST one was forcing the 6-digits (before dot) wide Numeric(18, 4*3) - which was not enough for 60^4 albeit was enough for 60^3. Remove the last query - and the datatype falls back to Numeric(18,3*3) which has 9-digits and is enough for 60^4 to fit – Arioch 'The Sep 26 at 14:39
• Yeah, here goes another proof :-) - dbfiddle.uk/… – Arioch 'The Sep 26 at 14:45
• Ok thanks that makes sense now. So it stops at the first error: dbfiddle.uk/… – Jack Douglas Sep 26 at 19:20

SQLFormat has an API (and code) to clean up syntax to make it readable.

I am missing the possibility to copy the table results for the SO editor. If I simply copy the table I end up with things like that:

user_id     check_date  day     time_in     time_out    hours   status
53  2018-07-16 00:00:00+01  Monday      08:15:17    09:38:03    25.3794444444444    present
53  2018-07-17 00:00:00+01  Tuesday                 absent
53  2018-07-18 00:00:00+01  Wednesday   06:34:13    08:05:17    1.51777777777778    present


The columns and values are not really aligned together. So I always have to append a manual formatting step (e.g. converting tabs into spaces):

user_id   check_date               day         time_in    time_out   hours              status
53        2018-07-16 00:00:00+01   Monday      08:15:17   09:38:03   25.3794444444444   present
53        2018-07-17 00:00:00+01   Tuesday                                              absent
53        2018-07-18 00:00:00+01   Wednesday   06:34:13   08:05:17   1.51777777777778   present


In SQLFiddle you can chose the output between (table, plaintext, markdown). Even plaintext looks much better and can be taken for copying into SO without any addional work:

| user_id |           check_date |       day |  time_in | time_out |                hours |  status |
|---------|----------------------|-----------|----------|----------|----------------------|---------|
|      53 | 2018-07-16T00:00:00Z | Monday    | 08:15:17 | 09:38:03 |   25.379444444444445 | present |
|      53 | 2018-07-17T00:00:00Z | Tuesday   |   (null) |   (null) |               (null) |  absent |
|      53 | 2018-07-18T00:00:00Z | Wednesday | 06:34:13 | 08:05:17 |   1.5177777777777777 | present |


Edit: dbfiddle markdown syntax

> user_id | check_date             | day       | time_in  | time_out | hours               | status
> ------: | :--------------------- | :-------- | :------- | :------- | :------------------ | :------
>      53 | 2018-07-16 00:00:00+01 | Monday    | 08:15:17 | 09:38:03 | 25.3794444444444    | present
>      53 | 2018-07-17 00:00:00+01 | Tuesday   | <em>null</em>     | <em>null</em>     | <em>null</em>                | absent
>      53 | 2018-07-18 00:00:00+01 | Wednesday | 06:34:13 | 08:05:17 | 1.51777777777778    | present


As you can see, the second row is not really aligned. Furthermore you can find the <em> tags and things like that.

select 1, null;

?column? | ?column?
-------: | :-------
1 | null

• have you tried the 'markdown' link at the top? – Jack Douglas Oct 31 '18 at 14:41
• Yes, of course. But it creates markdown syntax which is not a really good result (appending example) – S-Man Oct 31 '18 at 14:45
• The <em> tag is the only one — and it's there to distinguish between "null" (the string) and an actual null result. I guess it would be nice if the alignment took that into account, but does it really matter for SO? Also, when I paste in the markdown directly from db<>fiddle to an SO answer it doesn't look like yours: I'll edit an example into your question. – Jack Douglas Oct 31 '18 at 15:12
• Yours is indented and missing the <pre> tags – Jack Douglas Oct 31 '18 at 15:14
• @JackDouglas Thanks for you great tool. But I still miss the feature of a plain text output. I have different use cases where I need a good text style as in the psql console. The only fiddle engine that has it integrated is SQL Fiddle (as shown above). I really don't need markdown, just simple table lines. That's one of the last reasons when I have to use SQL Fiddle instead of your great tool. I would be really appreciated and it would really really help me a lot if you could integrate such an output option as well. SQL Fiddle also offers the 3 versions. – S-Man Jan 20 at 9:08
• Is there any news on this one? Although I love your tool, but for textual representation without markdown syntax I have to use another tool which is quite frustrating. DBeaver improved its support for great text output in version 6. – S-Man Jul 18 at 8:24
• still thinking about this — you can paste the markdown into SO and then copy the text output from there (just like you can copy the "added by Jack" table directly from the output above). Does that give you the kind of text output you need (albeit with an extra step)? – Jack Douglas Jul 18 at 9:46
• Hm, yes this could be a work around... But the extra step does not feel very good imho :D – S-Man Jul 18 at 10:03

Could you make the default number of lines to something like 10 instead of 1?

• I don't think that's an improvement — I prefer to see more batches on the page if they fit. – Jack Douglas Sep 24 at 11:40

Few UI notes.

1. MS IE 11 rendering is garbled (who would have thought :-D ) - the first vertical splitter is too high, and the "run" button is too narrow.

If anything, "MSIE6 compatibility mode" is not fixing it but makes a total mess :-)

1. Feature Request, can you make the vertical splitter (when it is vertical) to be user-draggable left and right? Perhaps it is to be a fiddle-global (page-global) thing, affecting all the queries at once - less flexible, but more eye-candish and simple to control. Perhaps something like this: http://cross-browser.com/x/examples/xsplitter.php

Feature request: Firebird Query plans

The topic post features a screenshot with MS SQL query with the query plan rendered. Firebird also has plan output feature, and it was enhanced in Firebird 3 to be more human-readable.

I wonder if PHP FB library has or can be modified to have support for fetching query plan as well as resulting data.

• I think this is only going to happen if Firebird exposes a 'pure sql' means of retrieving the plan. None of the other backends have any special code to achieve this. – Jack Douglas Sep 26 at 19:28
• @JackDouglas you mean like "all other backends expose plans to db<>fiddle already" or like "db<>fiddle only displays plans for those back-ends, that have SQL-level acccess to it" ? – Arioch 'The Sep 26 at 20:38
• I mean the latter — db<>fiddle has a very simple codebase, for example it does not parse SQL at all (except in the front end when splitting batches). Adding specialised code for query plans would go against that philosophy. There'd have to be a very strong reason to persuade me to do it. – Jack Douglas Sep 27 at 6:59
• An example case where I've already done something 'against my rule' is for the graphical query plan for SQL Server. However SQL Server is the most popular database on db<>fiddle and I take that into account too. – Jack Douglas Sep 27 at 7:01
• i hoped you could submit a patch updtream, to PHP itself :-D – Arioch 'The Oct 5 at 18:26

Feature Request: display server version. Sometimes tools like db<>fiddle are used to test some edgy query on different server versions, like looking for a bug in either query or server.

Usually database engines have some means to query version, but they may be not exposed to SQL or may require some in-depth knowledge.

It would be nice if after pressing "Run" button the DBMS version, as detailed as reasonable, was displayed for example in left bottom corner of the page.

In case of Firebird it can be obtained:

• Firebird's idiomatic way of showing the version is a bit odd but good enough for the rare cases when you want to draw attention to it I think. – Jack Douglas Sep 26 at 19:29
• i think it actually to be useful for every server, notice the question about MS SQL ans specific Cumulative Update, etc. And "idiomatic way" does not make differences between different builds of 3.0.5.x, which perhaps does matter for not yet released work-in-progress software – Arioch 'The Sep 26 at 20:10
• @JackDouglas I see you finally did it, though in quite a different way! What can I say - great option! I did not think of such an implementation :-D – Arioch 'The Oct 4 at 16:44
• Sorry, I'm not sure what you mean? – Jack Douglas Oct 4 at 16:48
• Now when you open new fiddle for any RDBMS - it starts not with a clean slate but with a RDBMS-specific version query. For the "end-user" of the new query the result is mostly the same. For readers of already existing fiddles it might be different, depending on the fiddle developer. – Arioch 'The Oct 4 at 16:53
• Actually that's always how it worked — but only if you go to the home page and don't press 'run'. Not 100% intuitive I admit – Jack Douglas Oct 4 at 17:38
• maybe then add button "check rdbms version" that would explicitly do it ? – Arioch 'The Oct 5 at 18:21

When working with Firebird, you cannot create a VIEW.

Error:

unsuccessful metadata update CREATE VIEW VW_TEST failed There is no privilege for this operation

DB Fiddle

New contributor
Anton Shchyrov is a new contributor to this site. Take care in asking for clarification, commenting, and answering. Check out our Code of Conduct.
• Thanks Anton, that's fixed — but there are probably other privileges we should consider granting, please let me know if you run into any. – Jack Douglas Oct 11 at 19:28