Search Results

Search found 27800 results on 1112 pages for 'state machine'.

Page 308/1112 | < Previous Page | 304 305 306 307 308 309 310 311 312 313 314 315  | Next Page >

  • Install Everpad on Ubuntu 13.10

    - by Muhammad Ahmad Zafar
    I just installed a fresh copy of Ubuntu 13.10 and wanted to install Everpad but there is some issue as the PPA for it is missing it. These were the commands which I execute (took help from http://www.webupd8.org/2012/09/everpad-integrates-evernote-with-ubuntu.html and everywhere its the same): sudo add-apt-repository ppa:nvbn-rm/ppa sudo apt-get update sudo apt-get install everpad The following which what I get when the last command is executed: Reading package lists... Done Building dependency tree Reading state information... Done E: Unable to locate package everpad Please help

    Read the article

  • Windows 2000 Inaccessible Boot Device

    - by Foo_Chow
    I am working with a machine that had its motherboard die. The machine is running Windows 2000 for legacy software. After the motherboard died I used disk2vhd to perform a physical to virtual transfer. The drive data seemed to copy over to the vhd file well. However, whenever i try to boot I get a message saying Inaccessible Boot Device So far I have tried several things to fix it. fixMBR fixBoot chkdsk windows 2000 automated repair Also, I have attempted to open the registry of the vhd without any success. There is another fix that i have seen suggested that requires editing the registry. Is it possible to open a Windows 2000 hive in another OS or another copy of Windows 2000? One other thing to note is that the error appears in all of Virtual PC 2007, Hyper-V and VMWare Player. Does anyone know how to get past this?

    Read the article

  • Downloading Database dump from server

    - by Ctroy
    I have a mysql database on a server that is around 4 gb in size and I couldn't get it downloaded to my local machine. I tried getting a dump on the server, but the dump is not getting created probably because of the big size. Is there any way, I could get the dump downloaded on my local machine? I can syncing using Sqlyog but I know it will take ages. Is there a way, I can get a dump created on the server? By the way, my server is a linux server and its running php/mysql.

    Read the article

  • Separating physics and game logic from UI code

    - by futlib
    I'm working on a simple block-based puzzle game. The game play consists pretty much of moving blocks around in the game area, so it's a trivial physics simulation. My implementation, however, is in my opinion far from ideal and I'm wondering if you can give me any pointers on how to do it better. I've split the code up into two areas: Game logic and UI, as I did with a lot of puzzle games: The game logic is responsible for the general rules of the game (e.g. the formal rule system in chess) The UI displays the game area and pieces (e.g. chess board and pieces) and is responsible for animations (e.g. animated movement of chess pieces) The game logic represents the game state as a logical grid, where each unit is one cell's width/height on the grid. So for a grid of width 6, you can move a block of width 2 four times until it collides with the boundary. The UI takes this grid, and draws it by converting logical sizes into pixel sizes (that is, multiplies it by a constant). However, since the game has hardly any game logic, my game logic layer [1] doesn't have much to do except collision detection. Here's how it works: Player starts to drag a piece UI asks game logic for the legal movement area of that piece and lets the player drag it within that area Player lets go of a piece UI snaps the piece to the grid (so that it is at a valid logical position) UI tells game logic the new logical position (via mutator methods, which I'd rather avoid) I'm not quite happy with that: I'm writing unit tests for my game logic layer, but not the UI, and it turned out all the tricky code is in the UI: Stopping the piece from colliding with others or the boundary and snapping it to the grid. I don't like the fact that the UI tells the game logic about the new state, I would rather have it call a movePieceLeft() method or something like that, as in my other games, but I didn't get far with that approach, because the game logic knows nothing about the dragging and snapping that's possible in the UI. I think the best thing to do would be to get rid of my game logic layer and implement a physics layer instead. I've got a few questions regarding that: Is such a physics layer common, or is it more typical to have the game logic layer do this? Would the snapping to grid and piece dragging code belong to the UI or the physics layer? Would such a physics layer typically work with pixel sizes or with some kind of logical unit, like my game logic layer? I've seen event-based collision detection in a game's code base once, that is, the player would just drag the piece, the UI would render that obediently and notify the physics system, and the physics system would call a onCollision() method on the piece once a collision is detected. What is more common? This approach or asking for the legal movement area first? [1] layer is probably not the right word for what I mean, but subsystem sounds overblown and class is misguiding, because each layer can consist of several classes.

    Read the article

  • Win7 to Win7 Remote Desktop Not working, Xp to 7 working fine

    - by vlad b.
    Hello, I have a small home network and recently i tried to enable remote desktop for one of the pc's. I have a mix of Windows 7, Windows Vista and Xp runing alongside ubuntu, centos and others (some virtual, some real). I have a few Windows 7 pc`s that can be connected to using remote desktop from inside and outside the network (port redirects on routers, etc, etc) and some Xp ones. The trouble is when i tried to do the same thing to a Win7 laptop i discovered i can't connect to it from another win7 pc inside the home network. To sum it up Working: xp -- win7 not working: win7 -- win7 What i tried - disable and enable remote desktop (my computer - remote settings) - removing and adding users to the remote settings window - adding a new user to the machine, administrator or 'normal' user - checking the firewall settings on the machine and set 'allow' to remote desktop for both 'home/work' and 'public'networks Any tips on what should i do next? It displays ' .. secure connection' and after that the window with 'Your security credentials did not work' and it lets me try again with another user/password..

    Read the article

  • How to change controller numbering/enumeration in Solaris 10?

    - by Jim
    After moving a Solaris 10 server to a new machine, the rpool disk is now c1t0d0. We have some third party applications hard coded for c0t0d0. How can I change the controller enumeration on this machine? There is no longer a c0. I've tried rebuilding the /etc/path_to_inst, but the instance numbers don't seem to match up with the controller numbers. Also, it's not clear if i86pc platforms use this file. I've tried devfsadm -C to clear the dangling links, but I'm not sure how to cause devfsadm to start numbering from 0 again (or force certain devices in the tree to a specific controller number). Next I am going to try to create the symlinks manually in /dev/dsk and rdsk to point to the correct /devices. I feel like I am going way off path here. Any suggestions? Thanks

    Read the article

  • Setting lusca and dansguardian iptables on Ubuntu 12.04 to prevent loop

    - by Heri YT
    I have a server with ubuntu 12:04 operating system, which runs as a proxy cache server lusca and DansGuardian as well as internet content filter. With the following composition: the client browser - lusca - DansGuardian - internet. And all this running only on one machine only, the following is a partial configuration on my server lusca: http_port 3128 transparent cache_peer 192.168.0.1 parent 8080 0 no-query no-digest no-netdb-exchange default which is also only found on the DansGuardian default settings namely: filterip="blank" filterport=8080 proxyip=192.168.0.1 proxyport=3128 The question is: Can all goes well? By simply relying on one machine only? What causes the "WARNING: Forwarding loop detected for:"? is not problematic if we leave? How to solve "WARNING: Forwarding loop detected for:" found in / var / log / lusca / cache.log Thank you.

    Read the article

  • Limit Windows PC Network/Internet Throughput

    - by Jon Cram
    I have a Vista x64 machine on a fairly fast Internet connection and either buggy drivers for the onboard Ethernet or faulty onboard Ethernet hardware. If I sustain too high a throughput on the Ethernet connection the network connection within Windows fails and I have to restart the machine to restore connectivity. I don't believe I can fix this issue (I'm erring towards faulty hardware) but would like to mitigate the effects by limiting my network throughput. I'm in a position where I would like to download a 5GB file from the Internet (a game install via Steam) and am certain that as this will take a few hours I will not be able to complete the download before my network connection within Windows fails. From downloading content through a BitTorrent client I have found that by limiting the download throughput to around 150 kilobytes per second I can maintain a steady network connection. I can't directly limit the throughput of the download through the Steam client and would instead like to find out how I can limit the throughput of my Ethernet connection within Windows. Any suggestions on how I can achieve this?

    Read the article

  • X forwarding over SSH from Mac to a Linux box

    - by Checkers
    I need run Mac applications on a remote Mac machine and display it on a local Linux machine's X server (a lot of articles on the Internet seem to be detailing how would you do it the opposite way). $ ssh -X mac-box $ cd /Developer/Applications/Xcode.app $ ./Contents/MacOS/Xcode Sat Oct 3 20:41:26 mac-box.local Xcode[15634] <Error>: kCGErrorFailure: Set a breakpoint @ CGErrorBreakpoint() to catch errors as they are logged. _RegisterApplication(), FAILED TO establish the default connection to the WindowServer, _CGSDefaultConnection() is NULL. ^C My $DISPLAY variable appears to be empty. What should it look like so that forwarding works correctly? Can I run OSX applications this way at all?

    Read the article

  • VirtualBox 3.2 Release

    - by [email protected]
    The latest version of VirtualBox is out - version 3.2.  It is the first release as Oracle VirtualBox and there are a lot of new features.  Many of these I see directly impacting the Oracle VDI solution in upcoming releases (just my guess, of course), and I am updating my notebook as I write this. Er... OK - Done!There are enough features that they warrant you taking a look at this two-page VirtualBox Community Bulletin.pdf.  No point in me restating them.If you and your organization haven't tried VirtualBox, or you haven't looked at it in a while, you owe it to yourself to give this a run.  This is small, simple, powerful, software that allows you to do way more than most people would ever need in hosting a Virtual machine on you local machine.  I routinely will do a demo on a two-year-old Macbook running OS X locally, plus a Solaris 10 VM running the Sun Ray server, and a Windows XP VM and hang a couple Sun Rays off of it - and the performance is stellar.You can subscribe to the mailing lists and get access to the Beta releases as they come out as well, if you are into 'bleeding edge'.40,000 downloads a day is the current rate (before this new release), but it will jump for sure now.  Might as well join in!  

    Read the article

  • How do I can install libxcb-render-unil0?

    - by Nazar Kovalenko
    I need libxcb-render-unil0 for running DraftSight™ 32x ver under my 64x os. I was trying to install it by a terminal or Synaptic Package Manager but it I didn't succeed in this. root@nazar-Aspire-5720Z:/home/nazar# sudo apt-get install libxcb-render-unil0 Reading package lists... Done Building dependency tree Reading state information... Done E: Unable to locate package libxcb-render-unil0 I just can't understand what's wrong. Thank u.

    Read the article

  • Five Things To Which SQL Server Should Say "Goodbye and Good Riddance"

    - by Adam Machanic
    I was tagged by master blogger Aaron Bertrand and asked to identify five things that should be removed from SQL Server. Easy enough, or so I thought... 1) Tempdb . But I should qualify that a bit. Tempdb is absolutely necessary for SQL Server to properly function, but in its current state is easily the number one bottleneck in the majority of SQL Server instances. Many other DBMS vendors abandoned the "monolithic, instance-scoped temporary data space" years ago, yet SQL Server soldiers on, putting...(read more)

    Read the article

  • top tweets SOA Partner Community – June 2013

    - by JuergenKress
    Send your tweets @soacommunity #soacommunity and follow us at http://twitter.com/soacommunity Oracle SOA Learn how Business Rules are used in Oracle SOA Suite. New free self-study course - Oracle Univ. #soa #oraclesoa http://pub.vitrue.com/ll9B OPITZ CONSULTING ?Wie #BPM und #SOA zusammengehören? Watch 100-Seconds-Video-Lesson by @Rolfbaer - http://ow.ly/luSjK @soacommunity Andrejus Baranovskis ?Customized BPM 11g PS6 Workspace Application http://fb.me/2ukaSBXKs Mark Nelson ?Case Management Samples Released http://wp.me/pgVeO-Lv Mark Nelson Instance Patching Demo for BPM 11.1.1.7 http://wp.me/pgVeO-Lx Simone Geib Antony Reynolds: Target Verification #oraclesoa https://blogs.oracle.com/reynolds/ OPITZ CONSULTING ?"It's all about Integration - Developing with Oracle #Cloud Services" @t_winterberg files: http://ow.ly/ljtEY #cloudworld @soacommunity Arun Pareek ?Functional Testing Business Processes In Oracle BPM Suite 11g http://wp.me/pkPu1-pc via @arrunpareek SOA Proactive Want to get started with Human Workflow? Check out the introductory video on OTN, http://pub.vitrue.com/enIL C2B2 Consulting Free tech workshop,London 6th of Jun Diagnosing Performance & Scalability Problems in Oracle SOASuite http://www.c2b2.co.uk/oracle_fusion_middleware_performance_seminar … @soacommunity Oracle BPM Must have technologies for delivering effective #CX : #BPM #Social #Mobile > #OracleBPM Whitepaper http://pub.vitrue.com/6pF6 OracleBlogs ?Introduction to Web Forms -Basic Tutorial http://ow.ly/2wQLTE OTNArchBeat ?Complete State of SOA podcast now available w/ @soacommunity @hajonormann @gschmutz @t_winterberg #industrialsoa http://pub.vitrue.com/PZFw Ronald Luttikhuizen VENNSTER Blog | Article published - Fault Handling and Prevention - Part 2 | http://blog.vennster.nl/2013/05/article-published-fault-handling-and.html … Mark Nelson ?Getting to know Maven http://wp.me/pgVeO-Lk gschmutz ?Cool! Our 2nd article has just been published: "Fault Handling and Prevention for Services in Oracle Service Bus" http://pub.vitrue.com/jMOy David Shaffer Interesting SOA Development and Delivery post on A-Team Redstack site - http://bit.ly/18oqrAI . Would be great to get others to contribute! Mark Nelson BPM PS6 video showing process lifecycle in more detail (30min) http://wp.me/pgVeO-Ko SOA Proactive ?Webcast: 'Introduction and Troubleshooting of the SOA 11g Database Adapter', May 9th. Register now at http://pub.vitrue.com/8In7 Mark Nelson ?SOA Development and Delivery http://wp.me/pgVeO-Kd Oracle BPM Manoj Das, VP Product Mangement talks about new #OracleBPM release #BPM #processmanagement http://pub.vitrue.com/FV3R OTNArchBeat Podcast: The State of SOA w/ @soacommunity @hajonormann @gschmutz @t_winterberg #industrialsoa http://pub.vitrue.com/OK2M gschmutz New article series on Industrial SOA started on OTN and Service Technology Magazine: http://guidoschmutz.wordpress.com/2013/04/22/first-two-chapters-of-industrial-soa-articles-series-have-been-published-both-on-otn-and-service-technology-magazine/ … #industrialSOA Danilo Schmiedel ?Article series #industrialSOA published on OTN and Service Technology Magazine http://inside-bpm-and-soa.blogspot.de/2013/04/industrial-soa_22.html … @soacommunity @OC_WIRE SOA & BPM Partner Community For regular information on Oracle SOA Suite become a member in the SOA & BPM Partner Community for registration please visit www.oracle.com/goto/emea/soa (OPN account required) If you need support with your account please contact the Oracle Partner Business Center. Blog Twitter LinkedIn Facebook Wiki Mix Forum Technorati Tags: twitter,SOA Community,Oracle SOA,Oracle BPM,Community,OPN,Jürgen Kress

    Read the article

  • Set-up SSHD to handle multiple key pairs.

    - by Warlax
    Hey guys, I am trying to set up my sshd to accept users that do not have a system user account. My approach is to use DSA public/private key pairs. I generated a key pair: $ ssh-keygen -t dsa I copied id_dsa.pub to the server machine where sshd runs. I appended the line from id_dsa.pub to ~/.ssh/authorized_keys of the single existing system user account I will use for every 'external' user. I tried to ssh as the 'external' user into the machine where I set-up the authorized_keys and failed miserably. What am I missing here? Thanks.

    Read the article

  • Should I consolidate multiple identical VMs into BSD jails?

    - by Josh
    We run a number of Openfire XMPP/Jabber servers. Due to the way Openfire works, we cannot easily run multiple Openfire instances on one server, so I have 5 identical VMware ESXi VMs, each with CentOS, MySQl, Java, and Openfire. They're the exact same, except for their IP addresses, the actual Openfire MySQL database and it's config file. I am wondering if this is the optimal configuration, or if it would be better to move these VMs to a single FreeBSD machine and put each one inside a FreeBSD jail. Specifically, I am wondering if the benefit of VMWare's Transparent Page Sharing (TPS) would outweight the cost of running 5 identical OSes. Would I end up using less memory with one large FreeBSD machine and java running in bsd jails?

    Read the article

  • Can not connect to tomcat server externally,

    - by KItis
    My Tomcat server is running on virtual server, this server is running on fedora machine. I have setted up everything on this machine to run tomcat, tomcat working well on local host. but i can not access the wsdl of the webservice running on this tomcat server remotely using IP address of this server, as follows. http://xxx.xxx.xxx.xxx:8080/axis2/services/listServices one of my friend said that i need to configure DNS to access remotely using IP address, i didn't understand what he said also. iptables on this server is also stooped. Also , i can access mysql running on this server remotly, my problem is why doesn't it work for tomcat. could someone can help me to find a solution for this problem. Thanks in advance for any help

    Read the article

  • HOUG Konferencia 2012

    - by user645740
    2012. március 26-án, azaz ma kezdodik Egerszalókon a magyarországi Oracle felhasználók rendszeres konferenciája, a HOUG Konferencia 2012, rengeteg érdekes eloadással, kerekasztal beszélgetéssel, networkinggel. A helyszínen még lehet személyesen regisztrálni, a HOUG tagoknak kedvezményes a részvétel. www.houg.hu Igen nagy az érdeklodés! A szálloda és néhány közeli szálláshely már megtelt. A környéken szerencsére még sok szálloda és fogadó található, tehát aki akar még mindig talál szobát. A programról, ami metekintheto, letöltheto: http://www.houg.hu/contents/files/houg2012_program_vegleges.pdf Kedden, március 27-én 10:15-11h John Abel fog izgalmas eloadást tartani az Oracle intelligens tervezett célrendszerekrol - "Extreme Performance with Oracle Engineered Systems", John Abel, Business Development director - EMEA, köztük az Oracle Exadata Database Machine adatázisgéprol is. Szintén kedden délután kerekasztal beszélgetésen fogjuk megtárgyalni ezen rendszerek magyarországi alkalmazásának lehetoségeit, igényeket: Exadata, SPARC SuperCluster, Exalogic, Exalytics, stb. 16:35-17:40, "Célrendszerek alkalmazhatósága a mindennapokban", a kerekasztal beszélgetés moderátora Fodor Endre. Kedd délután eloadást tartok az 13:45-14:35, "Oracle Exadata Database Machine: a világ leggyorsabb adatbázisgépe" címmel. A kedd délutáni Adatgyujtéstol az elemzésig szekció az üzleti intelligencia és adattárház ügyfél tapasztalatokról és technológiákról szól. A szekció vezetoi: Arató Bence, HOUG és Fekete Zoltán (én). BMW tesztvezetés, színházi és koncertprogram színesíti a rendezvényt.

    Read the article

  • PHP 5.4 not available for windows + Apache?

    - by user410932
    I'd like to install the new PHP 5.4 on my Windows machine. I'm running Apache 2.2 on it. Reading the info on http://windows.php.net/download/, it says "If you are using PHP with Apache 1 or Apache2 from apache.org you need to use the VC6 versions of PHP". I guess I'm in that case, I just donloaded Apache from apache.org. However, there are no VC6 versions available of PHP 5.4, not even of PHP 5.3. How can I install PHP 5.4 on my Windows machine then ?

    Read the article

  • Possible to get IIS on Windows Server 2008 R2 to "port-forward" port 80 for certain domains to other

    - by Lasse V. Karlsen
    I have IIS set up on my server, but also Apache x2 (other products which comes with their own servers, cannot be integrated into IIS.) Is it possible for me to "port-forward" certain domains on port 80 (that IIS handles) to those other ports? For instance: www.vkarlsen.no - IIS svn.vkarlsen.no - port 81 on same machine teamcity.vkarlsen.no - port 82 on same machine Or do I just need to set up those domains and redirect to the correct port? I'd like the domain name and url to be transparent to the user, but perhaps that won't work. Can anyone shed some light on this?

    Read the article

  • setting visual bell to flash in iTerm

    - by blackwing
    Hi, I am using iTerm on OSX (leopard) to ssh to a linux machine. I run screen on the dev machine to save my work between sessions. I am not a big fan of audio bell and I don't like screen's default 'Wuff Wuff' bell (or any other little message shown at bottom of the page). What I like though is to have flash (foreground and blackground colors swapped for a fraction of a second) as my visual bell. I used to use PuTTY and it is as simple as ticking a checkbox but I can't find such an option in iTerm. My question is how can I set my visual bell to flash? The ideal answer would work with iTerm on local computer, iTerm sshed to a linux server, and iTerm sshed to a linux server and ran screen.

    Read the article

  • Messages don't always appear in Mail.app

    - by MikeHoss
    My wife and I share a Mac and use different accounts. We both use Apple's standard Mail.app. We can also get to our email accounts via SquirrelMail that our webhost provides. Both SquirrelMail and Mail.app are connecting via IMAP. My wife was the first to notice that not all messages were getting to the Mail.app. She would check the Mac (our main machine) and then a little while later check mail from another machine via SquirrelMail and see messages there that should have been on the Mac. She would go back and those messages would never show up. Lately, I have been seeing the same thing, though less often. I can't reproduce it, or just look at a message to see if they haven't been moved over. I've looked in Junk, etc. and the Mac simply never sees those messages via IMAP. Does anyone have a guess to something I could poke around at?

    Read the article

  • Software solution to switch between computers using KVM switch

    - by user71737
    I am using a Fling KVM switch (by Belkin), to connect 2 computers to my monitor One computer is running XP and the other is running Linux My wireless switching mechanism has just gone the way of the saints but Belkin has kindly supplied a software solution for this occurrence. There is a small app called Fling (surprising) that allows me to switch from the XP machine to the Linux machine but nothing to switch back to the XP. What I need to know is there a similar app for the Linux computer. (NB I have tried Synergy but have no idea how to set it up - I've been told that synergy might work). Thanks in advance Norm

    Read the article

  • Spooling in SQL execution plans

    - by Rob Farley
    Sewing has never been my thing. I barely even know the terminology, and when discussing this with American friends, I even found out that half the words that Americans use are different to the words that English and Australian people use. That said – let’s talk about spools! In particular, the Spool operators that you find in some SQL execution plans. This post is for T-SQL Tuesday, hosted this month by me! I’ve chosen to write about spools because they seem to get a bad rap (even in my song I used the line “There’s spooling from a CTE, they’ve got recursion needlessly”). I figured it was worth covering some of what spools are about, and hopefully explain why they are remarkably necessary, and generally very useful. If you have a look at the Books Online page about Plan Operators, at http://msdn.microsoft.com/en-us/library/ms191158.aspx, and do a search for the word ‘spool’, you’ll notice it says there are 46 matches. 46! Yeah, that’s what I thought too... Spooling is mentioned in several operators: Eager Spool, Lazy Spool, Index Spool (sometimes called a Nonclustered Index Spool), Row Count Spool, Spool, Table Spool, and Window Spool (oh, and Cache, which is a special kind of spool for a single row, but as it isn’t used in SQL 2012, I won’t describe it any further here). Spool, Table Spool, Index Spool, Window Spool and Row Count Spool are all physical operators, whereas Eager Spool and Lazy Spool are logical operators, describing the way that the other spools work. For example, you might see a Table Spool which is either Eager or Lazy. A Window Spool can actually act as both, as I’ll mention in a moment. In sewing, cotton is put onto a spool to make it more useful. You might buy it in bulk on a cone, but if you’re going to be using a sewing machine, then you quite probably want to have it on a spool or bobbin, which allows it to be used in a more effective way. This is the picture that I want you to think about in relation to your data. I’m sure you use spools every time you use your sewing machine. I know I do. I can’t think of a time when I’ve got out my sewing machine to do some sewing and haven’t used a spool. However, I often run SQL queries that don’t use spools. You see, the data that is consumed by my query is typically in a useful state without a spool. It’s like I can just sew with my cotton despite it not being on a spool! Many of my favourite features in T-SQL do like to use spools though. This looks like a very similar query to before, but includes an OVER clause to return a column telling me the number of rows in my data set. I’ll describe what’s going on in a few paragraphs’ time. So what does a Spool operator actually do? The spool operator consumes a set of data, and stores it in a temporary structure, in the tempdb database. This structure is typically either a Table (ie, a heap), or an Index (ie, a b-tree). If no data is actually needed from it, then it could also be a Row Count spool, which only stores the number of rows that the spool operator consumes. A Window Spool is another option if the data being consumed is tightly linked to windows of data, such as when the ROWS/RANGE clause of the OVER clause is being used. You could maybe think about the type of spool being like whether the cotton is going onto a small bobbin to fit in the base of the sewing machine, or whether it’s a larger spool for the top. A Table or Index Spool is either Eager or Lazy in nature. Eager and Lazy are Logical operators, which talk more about the behaviour, rather than the physical operation. If I’m sewing, I can either be all enthusiastic and get all my cotton onto the spool before I start, or I can do it as I need it. “Lazy” might not the be the best word to describe a person – in the SQL world it describes the idea of either fetching all the rows to build up the whole spool when the operator is called (Eager), or populating the spool only as it’s needed (Lazy). Window Spools are both physical and logical. They’re eager on a per-window basis, but lazy between windows. And when is it needed? The way I see it, spools are needed for two reasons. 1 – When data is going to be needed AGAIN. 2 – When data needs to be kept away from the original source. If you’re someone that writes long stored procedures, you are probably quite aware of the second scenario. I see plenty of stored procedures being written this way – where the query writer populates a temporary table, so that they can make updates to it without risking the original table. SQL does this too. Imagine I’m updating my contact list, and some of my changes move data to later in the book. If I’m not careful, I might update the same row a second time (or even enter an infinite loop, updating it over and over). A spool can make sure that I don’t, by using a copy of the data. This problem is known as the Halloween Effect (not because it’s spooky, but because it was discovered in late October one year). As I’m sure you can imagine, the kind of spool you’d need to protect against the Halloween Effect would be eager, because if you’re only handling one row at a time, then you’re not providing the protection... An eager spool will block the flow of data, waiting until it has fetched all the data before serving it up to the operator that called it. In the query below I’m forcing the Query Optimizer to use an index which would be upset if the Name column values got changed, and we see that before any data is fetched, a spool is created to load the data into. This doesn’t stop the index being maintained, but it does mean that the index is protected from the changes that are being done. There are plenty of times, though, when you need data repeatedly. Consider the query I put above. A simple join, but then counting the number of rows that came through. The way that this has executed (be it ideal or not), is to ask that a Table Spool be populated. That’s the Table Spool operator on the top row. That spool can produce the same set of rows repeatedly. This is the behaviour that we see in the bottom half of the plan. In the bottom half of the plan, we see that the a join is being done between the rows that are being sourced from the spool – one being aggregated and one not – producing the columns that we need for the query. Table v Index When considering whether to use a Table Spool or an Index Spool, the question that the Query Optimizer needs to answer is whether there is sufficient benefit to storing the data in a b-tree. The idea of having data in indexes is great, but of course there is a cost to maintaining them. Here we’re creating a temporary structure for data, and there is a cost associated with populating each row into its correct position according to a b-tree, as opposed to simply adding it to the end of the list of rows in a heap. Using a b-tree could even result in page-splits as the b-tree is populated, so there had better be a reason to use that kind of structure. That all depends on how the data is going to be used in other parts of the plan. If you’ve ever thought that you could use a temporary index for a particular query, well this is it – and the Query Optimizer can do that if it thinks it’s worthwhile. It’s worth noting that just because a Spool is populated using an Index Spool, it can still be fetched using a Table Spool. The details about whether or not a Spool used as a source shows as a Table Spool or an Index Spool is more about whether a Seek predicate is used, rather than on the underlying structure. Recursive CTE I’ve already shown you an example of spooling when the OVER clause is used. You might see them being used whenever you have data that is needed multiple times, and CTEs are quite common here. With the definition of a set of data described in a CTE, if the query writer is leveraging this by referring to the CTE multiple times, and there’s no simplification to be leveraged, a spool could theoretically be used to avoid reapplying the CTE’s logic. Annoyingly, this doesn’t happen. Consider this query, which really looks like it’s using the same data twice. I’m creating a set of data (which is completely deterministic, by the way), and then joining it back to itself. There seems to be no reason why it shouldn’t use a spool for the set described by the CTE, but it doesn’t. On the other hand, if we don’t pull as many columns back, we might see a very different plan. You see, CTEs, like all sub-queries, are simplified out to figure out the best way of executing the whole query. My example is somewhat contrived, and although there are plenty of cases when it’s nice to give the Query Optimizer hints about how to execute queries, it usually doesn’t do a bad job, even without spooling (and you can always use a temporary table). When recursion is used, though, spooling should be expected. Consider what we’re asking for in a recursive CTE. We’re telling the system to construct a set of data using an initial query, and then use set as a source for another query, piping this back into the same set and back around. It’s very much a spool. The analogy of cotton is long gone here, as the idea of having a continual loop of cotton feeding onto a spool and off again doesn’t quite fit, but that’s what we have here. Data is being fed onto the spool, and getting pulled out a second time when the spool is used as a source. (This query is running on AdventureWorks, which has a ManagerID column in HumanResources.Employee, not AdventureWorks2012) The Index Spool operator is sucking rows into it – lazily. It has to be lazy, because at the start, there’s only one row to be had. However, as rows get populated onto the spool, the Table Spool operator on the right can return rows when asked, ending up with more rows (potentially) getting back onto the spool, ready for the next round. (The Assert operator is merely checking to see if we’ve reached the MAXRECURSION point – it vanishes if you use OPTION (MAXRECURSION 0), which you can try yourself if you like). Spools are useful. Don’t lose sight of that. Every time you use temporary tables or table variables in a stored procedure, you’re essentially doing the same – don’t get upset at the Query Optimizer for doing so, even if you think the spool looks like an expensive part of the query. I hope you’re enjoying this T-SQL Tuesday. Why not head over to my post that is hosting it this month to read about some other plan operators? At some point I’ll write a summary post – once I have you should find a comment below pointing at it. @rob_farley

    Read the article

  • How to get average of multiple time series

    - by Supun Kamburugamuva
    I have few computers running. I want to get the average CPU usage of these computers and plot it as a graph. So I've collected CPU usage in regular intervals in these machines. So for each computer I have a data set of time and CPU usage. But the times at which CPU measurements are taken in different machines are not in sync. For example in 1st machine CPU may be measured in time 1, 5, 9. In the second machine CPU may be measured in time 2, 5, 8. I want to get an average data series from these different data sets. Could you point me to some resources? Thanks - Supun.

    Read the article

  • Utility to unmap a network drive when the screen saver starts

    - by JimR
    I'm looking for a way to unmap network drives when the screen saver turns on. I have a few users that share an external, encrypted drive (Samba share, not windows) and they have a requirement to disconnect the drive mapping when the local machine is idle. I'd also like it to warn them if there are open files on the mapped drive, if possible. There is also a requirement to force the password to be reentered before mapping when the machine comes back from idle. Is there a Windows setting or utility out there in the wild that meets these requirements?

    Read the article

< Previous Page | 304 305 306 307 308 309 310 311 312 313 314 315  | Next Page >