Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:98409 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 32399 invoked from network); 6 Mar 2017 15:29:58 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 6 Mar 2017 15:29:58 -0000 Authentication-Results: pb1.pair.com header.from=adam.baratz@gmail.com; sender-id=pass Authentication-Results: pb1.pair.com smtp.mail=adam.baratz@gmail.com; spf=pass; sender-id=pass Received-SPF: pass (pb1.pair.com: domain gmail.com designates 209.85.214.43 as permitted sender) X-PHP-List-Original-Sender: adam.baratz@gmail.com X-Host-Fingerprint: 209.85.214.43 mail-it0-f43.google.com Received: from [209.85.214.43] ([209.85.214.43:37514] helo=mail-it0-f43.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 81/F9-10274-5708DB85 for ; Mon, 06 Mar 2017 10:29:58 -0500 Received: by mail-it0-f43.google.com with SMTP id 203so52204820ith.0 for ; Mon, 06 Mar 2017 07:29:57 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=Aluyg37LdWWzwxzNlDINyImu9Ca0wPAlS9cJB64t3dY=; b=liyA1HRKrue+se4bNs2xvVqVkFVixEZ5NVZ9ndpXBulQggjg1L7d2ATh5nD6zAqawB GjJIYP3/7uYRPplkorZ2+mqZAmpnWnjXwJCUU+ZhFDb/Rom09dCg1ORyvD/7FqCmS3Z0 GltVlQzIpIpNPeBvYXk7wWOmLgkKTpQL2ltx8tjQ86VkFy83bpHRNrBJA4XxJdZUbn4J F9Uz0PkiZr7iVreZ4nL4XC8gLmXNv2iARy8GmiUbhM2SbaGLarBcqinqrzc9xxNxUbrt apBM6SxVKHMFA2vDwys+s5umaOhPYLzH7sgl07AjCmlQ/I7CSvCOoa/Abu9jBHwYOxjR 9nFQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=Aluyg37LdWWzwxzNlDINyImu9Ca0wPAlS9cJB64t3dY=; b=W+atE9RSb3rQ+1j1BC8vRfrz22ldC7XRuU1x78n9U4RyHjvZcZ0RCxLOIEkCXNpgij s9MoZdI/j5j2oAig6ZG7e/MM4vwr7R6eh1ZbQbey0eoDqQREuGNxLEgMaZENJpXC4Nef hk5P/c0okggsUTTWowvEtPeSH7R4t0M3B2jCOV/XRMnHT4OJrrFrTqDNtN9EfXxG2I9K buOUMfKwuaH4uOIg00ValfJaWgvFyOWRfLNQ/trV6IUcBTF3kT7pH+ty2L7rcMK4z78g eP1EwEjORdCUM33cqYNTnrhNkqhXK8YqSZfipUAej3QJSZUl6wu2Z/rqZrMiR0QYesyp E3tQ== X-Gm-Message-State: AMke39mi8fU4XVeuOVpQgRw85FEMV/nHwnIJVecja32RjcHg5JT1Cg7FxWW5LncRTrmFF59eps5Xi5fLuL3nTg== X-Received: by 10.36.122.131 with SMTP id a125mr15199525itc.3.1488814195113; Mon, 06 Mar 2017 07:29:55 -0800 (PST) MIME-Version: 1.0 Received: by 10.64.82.3 with HTTP; Mon, 6 Mar 2017 07:29:54 -0800 (PST) In-Reply-To: References: Date: Mon, 6 Mar 2017 10:29:54 -0500 Message-ID: To: Marco Pivetta Cc: PHP Internals List Content-Type: multipart/alternative; boundary=001a114051263c8cb9054a119154 Subject: Re: [PHP-DEV] Re: [RFC] Extended String Types For PDO From: adam.baratz@gmail.com (Adam Baratz) --001a114051263c8cb9054a119154 Content-Type: text/plain; charset=UTF-8 > > Reading some random documents online (bear with me, doing it from the > phone), this seems to be irrelevant for MySQL, and an edge case dealing > with MSSQL. Is there a runnable functional test case demonstrating the > practical issue behind this addition? > I wouldn't characterize this as edge case for MSSQL. Implicit casts have very real costs: https://www.sqlskills.com/blogs/jonathan/implicit-conversions-that-cause-index-scans/ Part of my day job is supporting hundreds of engineers who use PHP to query MSSQL. Our DBAs are very adamant about making sure we quote strings correctly. We have a hackish solution for this. Since other pdo_dblib users have asked for a solution, I wanted to work out a non-hackish solution that could make it into master. Since these column types are part of SQL-92 and the issue could also affect pdo_mysql, I wanted to make it a generic solution. I'm admittedly less familiar with MySQL than MSSQL, but this blog post has some examples of implicit casts affecting performance: http://code.openark.org/blog/mysql/beware-of-implicit-casting Could you share more details around why you think this change is irrelevant/unimportant? Or let me know how I should document things better in the RFC? Thanks, Adam --001a114051263c8cb9054a119154--