Introducing SQL+ Dot Net

  • ALAN.H.HYNEMAN - Thursday, March 7, 2019 9:30 AM

    g.britton - Thursday, March 7, 2019 9:18 AM

    In my current shop, we rely heavily on dynamic SQL.  How does this tool deal with that?

    This is a tool that is geared towards people who prefer writing stored procedures and is probably not the best option for you current approach.

    There are plenty of alternatives to dynamic sql, and plenty of good articles on sql server central, but again, this is a different kind of tool.

    We write tons of stored procs that need to use dynamic sql  (table and column names passed in as args).  Tradeoff of between one generic proc to maintain vs dozens that are specific with some overlap.  Just wanted to understand the boundaries or your tool set better.

    Gerald Britton, Pluralsight courses

  • g.britton - Thursday, March 7, 2019 2:34 PM

    ALAN.H.HYNEMAN - Thursday, March 7, 2019 9:30 AM

    g.britton - Thursday, March 7, 2019 9:18 AM

    In my current shop, we rely heavily on dynamic SQL.  How does this tool deal with that?

    This is a tool that is geared towards people who prefer writing stored procedures and is probably not the best option for you current approach.

    There are plenty of alternatives to dynamic sql, and plenty of good articles on sql server central, but again, this is a different kind of tool.

    We write tons of stored procs that need to use dynamic sql  (table and column names passed in as args).  Tradeoff of between one generic proc to maintain vs dozens that are specific with some overlap.  Just wanted to understand the boundaries or your tool set better.

    My understanding of this plugin is that it will look at your parameters and set up the appropriate ADO parameters in .NET. It doesn't care what your procedure does and if you totally changed the functionality of the proc once you generated the .NET code, you should not need to regenerate it. It shouldn't care what your proc does. It will generate code based on parameters you've defined.

  • I take it that your Visual Studio plugin talks to a web service that you're hosting, and that it sends the SQL code up for conversion?

    And I assume each call to your webservice constitutes a 'file generation'?

    Do you retain that code, and if so for how long?

    And  does that mean that if I'm offline, that I can't use your product?

  • doug.bishop - Thursday, March 7, 2019 2:40 PM

    g.britton - Thursday, March 7, 2019 2:34 PM

    ALAN.H.HYNEMAN - Thursday, March 7, 2019 9:30 AM

    g.britton - Thursday, March 7, 2019 9:18 AM

    In my current shop, we rely heavily on dynamic SQL.  How does this tool deal with that?

    This is a tool that is geared towards people who prefer writing stored procedures and is probably not the best option for you current approach.

    There are plenty of alternatives to dynamic sql, and plenty of good articles on sql server central, but again, this is a different kind of tool.

    We write tons of stored procs that need to use dynamic sql  (table and column names passed in as args).  Tradeoff of between one generic proc to maintain vs dozens that are specific with some overlap.  Just wanted to understand the boundaries or your tool set better.

    My understanding of this plugin is that it will look at your parameters and set up the appropriate ADO parameters in .NET. It doesn't care what your procedure does and if you totally changed the functionality of the proc once you generated the .NET code, you should not need to regenerate it. It shouldn't care what your proc does. It will generate code based on parameters you've defined.

    It wraps the proc yes, but that is only part of it.

    There are tutorial videos:
    https://vimeo.com/316151386

    There is a free plan.
    If it works for you, you win, if it only works partially for you, you win, if it never ever works for you, you waste 10 minutes and maybe it works for someone else, in which you pass the information along. You still win by helping someone out.

    Alan Hyneman

  • Ryan C. Price - Thursday, March 7, 2019 3:05 PM

    I take it that your Visual Studio plugin talks to a web service that you're hosting, and that it sends the SQL code up for conversion?

    And I assume each call to your webservice constitutes a 'file generation'?

    Do you retain that code, and if so for how long?

    And  does that mean that if I'm offline, that I can't use your product?

    All hosted in azure, file generated is what makes its way into your visual studio project.
    it sends only the information to the service that it needs to do the work for that component - input, output, service, retries, enums, etc to minimize bandwidth
    We do not keep anything on the server except counts by user and teams.
    Downside is I have to pay azure every time I render a file or call a function,
    upside is if anyone discovers a bug or optimization it can quickly be added at the single source and everyone wins instantly, making this more of a community effort to code bliss.

    Alan Hyneman

  • ALAN.H.HYNEMAN - Thursday, March 7, 2019 9:16 AM

    roby 44391 - Thursday, March 7, 2019 8:57 AM

    ALAN.H.HYNEMAN - Thursday, March 7, 2019 8:19 AM

    roby 44391 - Thursday, March 7, 2019 8:14 AM

    Hate to break it to you but ado.net code generators are not new (T4 templates anyone?) and unfortunately there's nothing innovative about this.
    e.g. https://github.com/aeslinger0/sqlsharpener

    Semantic tags in your SQL are completely new sir. Please read the full article, and give it fair review.


    :doze: back to the drawing board if you want to claim "the first real innovation in data access for quite some time"

    I find it interesting that you joined 2 hours ago, seemingly to point people to an alternative.

    Adding tags to your SQL is new, I know this cause I came with the idea myself, and have the patent for it.
    Clearly you didn't read the article since there is a considerable difference between simply using a T4 template, and creating a language extension in addition to code generation so that validation of parameters is consolidated to a single point.
    Also, since code generation happens in the cloud, those templates are easily updated and changes propagate out immediately, swapping a template simply means changing your configuration.

    That patent sounds interesting! Can you post a link or number? I'm not finding any in the US with your name

  • patrickmcginnis59 10839 - Thursday, March 7, 2019 5:34 PM

    ALAN.H.HYNEMAN - Thursday, March 7, 2019 9:16 AM

    roby 44391 - Thursday, March 7, 2019 8:57 AM

    ALAN.H.HYNEMAN - Thursday, March 7, 2019 8:19 AM

    roby 44391 - Thursday, March 7, 2019 8:14 AM

    Hate to break it to you but ado.net code generators are not new (T4 templates anyone?) and unfortunately there's nothing innovative about this.
    e.g. https://github.com/aeslinger0/sqlsharpener

    Semantic tags in your SQL are completely new sir. Please read the full article, and give it fair review.


    :doze: back to the drawing board if you want to claim "the first real innovation in data access for quite some time"

    I find it interesting that you joined 2 hours ago, seemingly to point people to an alternative.

    Adding tags to your SQL is new, I know this cause I came with the idea myself, and have the patent for it.
    Clearly you didn't read the article since there is a considerable difference between simply using a T4 template, and creating a language extension in addition to code generation so that validation of parameters is consolidated to a single point.
    Also, since code generation happens in the cloud, those templates are easily updated and changes propagate out immediately, swapping a template simply means changing your configuration.

    That patent sounds interesting! Can you post a link or number? I'm not finding any in the US with your name

    bump

  • Tim Johnstone - Thursday, March 7, 2019 3:36 AM

    The website for this product indicates you can "try" for free. Presumably then there's a cost, but no published pricing or explanation of what features are cost. I'm interested, but I'm not investing time looking in to it without knowing what it'll ultimately cost or when the cost will kick in. Can you elaborate?

    https://www.sqlplus.net/Home/Pricing

    Alan Hyneman

  • The Entity Framework benchmark is misleading; you should really compare to EFPlus by ZzzProjects.  - This has the added benefit of reusing your Entity Framework Entity Model Mappings so that Bulk Insert does not fail on column name capitalization issues.
    Also, please add a benchmark for RepoDB.BulkInsert
    Other possible benchmarks would be Tortuga Chain : https://github.com/docevaad/Chain - but I would expect this one to come in last place.

    Also look into BenchmarkDotNet for benchmarking.  It is more reliable, with way more data.

    Most people in the ORM / sql abstraction community are also very familiar with Franz Bouma's RawDataAccessBencher utility.  In this sense, we don't have to deal with a principle-agent problem of you designing benchmarks for your own utility software.  An independent third party has designed the benchmark, and your job is to beat the benchmark.  Here is an example for RepoDB: https://www.reddit.com/r/csharp/comments/9aa33y/repodb_performs_faster_than_any_other_orm_using/

  • patrickmcginnis59 10839 - Friday, March 8, 2019 8:45 AM

    patrickmcginnis59 10839 - Thursday, March 7, 2019 5:34 PM

    ALAN.H.HYNEMAN - Thursday, March 7, 2019 9:16 AM

    roby 44391 - Thursday, March 7, 2019 8:57 AM

    ALAN.H.HYNEMAN - Thursday, March 7, 2019 8:19 AM

    roby 44391 - Thursday, March 7, 2019 8:14 AM

    Hate to break it to you but ado.net code generators are not new (T4 templates anyone?) and unfortunately there's nothing innovative about this.
    e.g. https://github.com/aeslinger0/sqlsharpener

    Semantic tags in your SQL are completely new sir. Please read the full article, and give it fair review.


    :doze: back to the drawing board if you want to claim "the first real innovation in data access for quite some time"

    I find it interesting that you joined 2 hours ago, seemingly to point people to an alternative.

    Adding tags to your SQL is new, I know this cause I came with the idea myself, and have the patent for it.
    Clearly you didn't read the article since there is a considerable difference between simply using a T4 template, and creating a language extension in addition to code generation so that validation of parameters is consolidated to a single point.
    Also, since code generation happens in the cloud, those templates are easily updated and changes propagate out immediately, swapping a template simply means changing your configuration.

    That patent sounds interesting! Can you post a link or number? I'm not finding any in the US with your name

    bump

    I'm not a lawyer, but "Adding tags to your SQL is new" is a dubious claim, regardless of whether the author has a patent for it. Here is an example of tagging an INTO clause with "TRIM" or "NOTRIM" as well as special "THROUGH/THRU" operators for pivoting data into generic column1, column2, ..., columnN column lists. https://support.sas.com/documentation/cdl/en/mcrolref/61885/HTML/default/viewer.htm#a000543554.htm

    SAS Macro Language has had similar sounding features for a long time.
    Further, in some sense, SqlCmd allows for tagging SQL with "GO" to delineate batches of statements, and the prior art extends past just T-SQL: PL/SQL is basically built on tagging to do foreign function interface calls similar to SQLCLR.

  • ALAN.H.HYNEMAN - Thursday, March 7, 2019 9:16 AM

    roby 44391 - Thursday, March 7, 2019 8:57 AM

    ALAN.H.HYNEMAN - Thursday, March 7, 2019 8:19 AM

    roby 44391 - Thursday, March 7, 2019 8:14 AM

    Hate to break it to you but ado.net code generators are not new (T4 templates anyone?) and unfortunately there's nothing innovative about this.
    e.g. https://github.com/aeslinger0/sqlsharpener

    Semantic tags in your SQL are completely new sir. Please read the full article, and give it fair review.


    :doze: back to the drawing board if you want to claim "the first real innovation in data access for quite some time"

    I find it interesting that you joined 2 hours ago, seemingly to point people to an alternative.

    Adding tags to your SQL is new, I know this cause I came with the idea myself, and have the patent for it.
    Clearly you didn't read the article since there is a considerable difference between simply using a T4 template, and creating a language extension in addition to code generation so that validation of parameters is consolidated to a single point.
    Also, since code generation happens in the cloud, those templates are easily updated and changes propagate out immediately, swapping a template simply means changing your configuration.

    I do agree that SQL+ is much nicer experience than SQLSharpener and T4 templats, but SAS macros have existed for a long time.  781 Q&As on StackOverflow tagged with sas-macro: https://stackoverflow.com/questions/tagged/sas-macro
    I think if you could simply take existing SQL Stored procedure definition files and infer a data type it returns, that would solve a lot of problems for many people looking to modernize their code bases with EF or NHibernate.

  • johnzabroski - Monday, March 18, 2019 6:15 PM

    patrickmcginnis59 10839 - Friday, March 8, 2019 8:45 AM

    patrickmcginnis59 10839 - Thursday, March 7, 2019 5:34 PM

    ALAN.H.HYNEMAN - Thursday, March 7, 2019 9:16 AM

    roby 44391 - Thursday, March 7, 2019 8:57 AM

    ALAN.H.HYNEMAN - Thursday, March 7, 2019 8:19 AM

    roby 44391 - Thursday, March 7, 2019 8:14 AM

    Hate to break it to you but ado.net code generators are not new (T4 templates anyone?) and unfortunately there's nothing innovative about this.
    e.g. https://github.com/aeslinger0/sqlsharpener

    Semantic tags in your SQL are completely new sir. Please read the full article, and give it fair review.


    :doze: back to the drawing board if you want to claim "the first real innovation in data access for quite some time"

    I find it interesting that you joined 2 hours ago, seemingly to point people to an alternative.

    Adding tags to your SQL is new, I know this cause I came with the idea myself, and have the patent for it.
    Clearly you didn't read the article since there is a considerable difference between simply using a T4 template, and creating a language extension in addition to code generation so that validation of parameters is consolidated to a single point.
    Also, since code generation happens in the cloud, those templates are easily updated and changes propagate out immediately, swapping a template simply means changing your configuration.

    That patent sounds interesting! Can you post a link or number? I'm not finding any in the US with your name

    bump

    I'm not a lawyer, but "Adding tags to your SQL is new" is a dubious claim, regardless of whether the author has a patent for it. Here is an example of tagging an INTO clause with "TRIM" or "NOTRIM" as well as special "THROUGH/THRU" operators for pivoting data into generic column1, column2, ..., columnN column lists. https://support.sas.com/documentation/cdl/en/mcrolref/61885/HTML/default/viewer.htm#a000543554.htm

    SAS Macro Language has had similar sounding features for a long time.
    Further, in some sense, SqlCmd allows for tagging SQL with "GO" to delineate batches of statements, and the prior art extends past just T-SQL: PL/SQL is basically built on tagging to do foreign function interface calls similar to SQLCLR.

    Yeah he's essentially saying he invented programming language directives. His lack of replies isn't reassuring either, without knowing more, my first instinct is that he got caught pretending he has a patent.

    https://en.wikipedia.org/wiki/Directive_(programming)

  • ALAN.H.HYNEMAN - Thursday, March 7, 2019 5:43 AM

    Tim Johnstone - Thursday, March 7, 2019 3:36 AM

    The website for this product indicates you can "try" for free. Presumably then there's a cost, but no published pricing or explanation of what features are cost. I'm interested, but I'm not investing time looking in to it without knowing what it'll ultimately cost or when the cost will kick in. Can you elaborate?

    Pricing is tiered as follows:

    Free     0.00  Includes 2,000 file generations first month, 100 thereafter.
    Individual 19.95 Includes 2,000 file generations per month. Does not support teams.
    Small Team 49.95 Includes 5,000 file generations per month. Supports teams up to 5 users.
    Enterprise 99.95 Includes 10,000 file generations per month. Supports teams up to 100 users.

    It would be real nice to give this away, but it has to be self sustaining.

    What exactly is a "file generation"; is that a single source code CRUD module?

    "Do not seek to follow in the footsteps of the wise. Instead, seek what they sought." - Matsuo Basho

Viewing 13 posts - 31 through 42 (of 42 total)

You must be logged in to reply to this topic. Login to reply